Files
blazor-saas-crm/Features/FeaturesDI.cs
T
2026-07-21 14:14:44 +07:00

178 lines
7.4 KiB
C#

using Indotalent.Features.Inventory.MovementReport;
using Indotalent.Features.Inventory.NegativeAdjustment;
using Indotalent.Features.Inventory.PositiveAdjustment;
using Indotalent.Features.Inventory.Product;
using Indotalent.Features.Inventory.ProductGroup;
using Indotalent.Features.Inventory.Scrapping;
using Indotalent.Features.Inventory.StockCount;
using Indotalent.Features.Inventory.StockReport;
using Indotalent.Features.Inventory.TransactionReport;
using Indotalent.Features.Inventory.TransferIn;
using Indotalent.Features.Inventory.TransferOut;
using Indotalent.Features.Inventory.UnitMeasure;
using Indotalent.Features.Inventory.Warehouse;
using Indotalent.Features.Multitenant;
using Indotalent.Features.Multitenant.Tenant;
using Indotalent.Features.Multitenant.TenantUser;
using Indotalent.Features.Pipeline.Budget;
using Indotalent.Features.Pipeline.Campaign;
using Indotalent.Features.Pipeline.Expense;
using Indotalent.Features.Pipeline.Lead;
using Indotalent.Features.Pipeline.LeadActivity;
using Indotalent.Features.Pipeline.LeadContact;
using Indotalent.Features.Pipeline.SalesRepresentative;
using Indotalent.Features.Pipeline.SalesTeam;
using Indotalent.Features.Profile.Avatar;
using Indotalent.Features.Profile.Password;
using Indotalent.Features.Profile.PersonalInformation;
using Indotalent.Features.Purchase.Bill;
using Indotalent.Features.Purchase.BillReport;
using Indotalent.Features.Purchase.DebitNote;
using Indotalent.Features.Purchase.GoodsReceive;
using Indotalent.Features.Purchase.PaymentDisburse;
using Indotalent.Features.Purchase.PaymentDisburseReport;
using Indotalent.Features.Purchase.PurchaseOrder;
using Indotalent.Features.Purchase.PurchaseReport;
using Indotalent.Features.Purchase.PurchaseRequisition;
using Indotalent.Features.Purchase.PurchaseReturn;
using Indotalent.Features.Purchase.PurchaseReturnReport;
using Indotalent.Features.Purchase.ReceiveReport;
using Indotalent.Features.Root.Home;
using Indotalent.Features.Sales.CreditNote;
using Indotalent.Features.Sales.DeliveryOrder;
using Indotalent.Features.Sales.DeliveryReport;
using Indotalent.Features.Sales.Invoice;
using Indotalent.Features.Sales.InvoiceReport;
using Indotalent.Features.Sales.PaymentReceive;
using Indotalent.Features.Sales.PaymentReceiveReport;
using Indotalent.Features.Sales.SalesOrder;
using Indotalent.Features.Sales.SalesQuotation;
using Indotalent.Features.Sales.SalesReport;
using Indotalent.Features.Sales.SalesReturn;
using Indotalent.Features.Sales.SalesReturnReport;
using Indotalent.Features.Serilogs;
using Indotalent.Features.Setting.AutoNumberSequence;
using Indotalent.Features.Setting.Company;
using Indotalent.Features.Setting.Currency;
using Indotalent.Features.Setting.SystemUser;
using Indotalent.Features.Setting.Tax;
using Indotalent.Features.Thirdparty.Customer;
using Indotalent.Features.Thirdparty.CustomerCategory;
using Indotalent.Features.Thirdparty.CustomerContact;
using Indotalent.Features.Thirdparty.CustomerGroup;
using Indotalent.Features.Thirdparty.Vendor;
using Indotalent.Features.Thirdparty.VendorCategory;
using Indotalent.Features.Thirdparty.VendorContact;
using Indotalent.Features.Thirdparty.VendorGroup;
using Indotalent.Features.Utilities.BookingGroup;
using Indotalent.Features.Utilities.BookingManager;
using Indotalent.Features.Utilities.BookingResource;
using Indotalent.Features.Utilities.BookingScheduler;
using Indotalent.Features.Utilities.ProgramManager;
using Indotalent.Features.Utilities.ProgramResource;
using Indotalent.Features.Utilities.Todo;
namespace Indotalent.Features;
public static class FeaturesDI
{
public static IServiceCollection AddFeaturesDI(this IServiceCollection services)
{
//Setting
services.AddScoped<SerilogsService>();
services.AddScoped<CurrencyService>();
services.AddScoped<AutoNumberSequenceService>();
services.AddScoped<SystemUserService>();
services.AddScoped<CompanyService>();
services.AddScoped<TaxService>();
//profile
services.AddScoped<PersonalInformationService>();
services.AddScoped<PasswordService>();
services.AddScoped<AvatarService>();
//root
services.AddScoped<HomeService>();
//inventory
services.AddScoped<UnitMeasureService>();
services.AddScoped<ProductGroupService>();
services.AddScoped<WarehouseService>();
services.AddScoped<ProductService>();
services.AddScoped<TransferOutService>();
services.AddScoped<TransferInService>();
services.AddScoped<PositiveAdjustmentService>();
services.AddScoped<NegativeAdjustmentService>();
services.AddScoped<StockCountService>();
services.AddScoped<ScrappingService>();
services.AddScoped<TransactionReportService>();
services.AddScoped<StockReportService>();
services.AddScoped<MovementReportService>();
//thridparty
services.AddScoped<CustomerGroupService>();
services.AddScoped<CustomerCategoryService>();
services.AddScoped<CustomerService>();
services.AddScoped<CustomerContactService>();
services.AddScoped<VendorCategoryService>();
services.AddScoped<VendorGroupService>();
services.AddScoped<VendorService>();
services.AddScoped<VendorContactService>();
//pipeline
services.AddScoped<SalesTeamService>();
services.AddScoped<SalesRepresentativeService>();
services.AddScoped<CampaignService>();
services.AddScoped<BudgetService>();
services.AddScoped<ExpenseService>();
services.AddScoped<LeadService>();
services.AddScoped<LeadContactService>();
services.AddScoped<LeadActivityService>();
//utilities
services.AddScoped<TodoService>();
services.AddScoped<BookingGroupService>();
services.AddScoped<BookingResourceService>();
services.AddScoped<BookingManagerService>();
services.AddScoped<BookingSchedulerService>();
services.AddScoped<ProgramResourceService>();
services.AddScoped<ProgramManagerService>();
//purchase
services.AddScoped<PurchaseRequisitionService>();
services.AddScoped<PurchaseOrderService>();
services.AddScoped<GoodsReceiveService>();
services.AddScoped<PurchaseReturnService>();
services.AddScoped<PurchaseReportService>();
services.AddScoped<ReceiveReportService>();
services.AddScoped<PurchaseReturnReportService>();
services.AddScoped<BillReportService>();
services.AddScoped<PaymentDisburseReportService>();
services.AddScoped<BillService>();
services.AddScoped<DebitNoteService>();
services.AddScoped<PaymentDisburseService>();
//sales
services.AddScoped<SalesQuotationService>();
services.AddScoped<SalesOrderService>();
services.AddScoped<DeliveryOrderService>();
services.AddScoped<SalesReturnService>();
services.AddScoped<SalesReportService>();
services.AddScoped<DeliveryReportService>();
services.AddScoped<SalesReturnReportService>();
services.AddScoped<InvoiceReportService>();
services.AddScoped<PaymentReceiveReportService>();
services.AddScoped<InvoiceService>();
services.AddScoped<CreditNoteService>();
services.AddScoped<PaymentReceiveService>();
//multitenant
services.AddScoped<TenantService>();
services.AddScoped<TenantUserService>();
return services;
}
}