using AutoMapper; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using System.Reflection; using HRM.BO; using HRM.BO.Basic; using HRM.DA; using HRM.DA.Service; using HRM.DA.Service.ess; using HRM.DA.Service.SearchTools; using HRM.DA.Service.Tax; using Payroll.Service; using Payroll.BO; using HRM.DA.Fund; using HRM.DA.Service.Basic; using HRM.Service; using static HRM.BO.RecJobTracking; using static HRM.BO.EmployeeTaxException; namespace HRM.UI.Configuration.DI { /// <summary> /// /// </summary> public static class ServiceCollectionExtensions { #pragma warning disable IDE0060 // Remove unused parameter /// <summary> /// /// </summary> /// <param name="services"></param> /// <param name="configuration"></param> public static void ConfigureBusinessServices(this IServiceCollection services, IConfiguration configuration) #pragma warning restore IDE0060 // Remove unused parameter { if (services != null) { services.AddTransient<IRoleService, RoleService>(); services.AddTransient<IUserRoleService, UserRoleService>(); services.AddTransient<IUserService, UserService>(); services.AddTransient<IPasswordHistoryService, PasswordHistoryService>(); services.AddTransient<ISearchEmployeeService, SearchEmployeeService>(); services.AddTransient<IHREmployeeService, HREmployeeService>(); services.AddTransient<ILeaveService, LeaveService>(); services.AddTransient<ILeaveEntryService, LeaveEntryService>(); services.AddTransient<IMaternityLeaveService, MaternityLeaveService>(); services.AddTransient<IEmployeeService, EmployeeService>(); services.AddTransient<IADParameterService, ADParameterService>(); services.AddTransient<IADParameterEmployeeService, ADParameterEmployeeService>(); services.AddTransient<IApproveFinantialDataService, ApproveFinantialDataService>(); services.AddTransient<IPayrollTypeService, PayrollTypeService>(); services.AddTransient<IUserAccessTypeService, UserAccessTypeService>(); services.AddTransient<IBookmarkService, BookmarkService>(); services.AddTransient<IReminderService, ReminderService>(); services.AddTransient<IEmployeeStatusService, EmployeeStatusService>(); services.AddTransient<IAllowanceDeductionService, AllowanceDeductionService>(); services.AddTransient<IBonusService, BonusService>(); services.AddTransient<ICategoryService, CategoryService>(); services.AddTransient<IDepartmentService, DepartmentService>(); services.AddTransient<IDesignationService, DesignationService>(); services.AddTransient<IGradeService, GradeService>(); services.AddTransient<IGradeSegmentService, GradeSegmentService>(); services.AddTransient<ILocationService, LocationService>(); services.AddTransient<IEmployeeOverTimeService, EmployeeOverTimeService>(); services.AddTransient<ITermService, TermService>(); services.AddTransient<IOccupationService, OccupationService>(); services.AddTransient<IEducationLevelService, EducationLevelService>(); services.AddTransient<ITrainingTypeService, TrainingTypeService>(); services.AddTransient<IEducationTypeService, EducationTypeService>(); services.AddTransient<INominationPurposeService, NominationPurposeService>(); services.AddTransient<ISalaryComponent, SalaryComponentService>(); services.AddTransient<INationalityService, NationalityService>(); services.AddTransient<IEmpLifeCycleService, EmpLifeCycleService>(); services.AddTransient<IEmployeeGradeSalaryService, EmployeeGradeSalaryService>(); services.AddTransient<IEmployeeStatusService, EmployeeStatusService>(); services.AddTransient<IEmployeeBankAccountService, EmployeeBankAccountService>(); services.AddTransient<IEmployeeCostCenterService, EmployeeCostCenterService>(); services.AddTransient<ITermParameterService, TermParameterService>(); services.AddTransient<IOTProcessService, OTProcessService>(); services.AddTransient<IBonusParameterService, BonusParameterService>(); services.AddTransient<IBonusProcessService, BonusProcessService>(); services.AddTransient<ILoanEmployeeDocService, LoanEmployeeDocService>(); services.AddTransient<ILoanIssueService, LoanIssueService>(); services.AddTransient<ILoanParameterService, LoanParameterService>(); services.AddTransient<ILoanScheduleService, LoanScheduleService>(); services.AddTransient<IAdvanceIncomeTaxService, AdvanceIncomeTaxService>(); services.AddTransient<IEmployeeTaxInvestmentService, EmployeeTaxInvestmentService>(); services.AddTransient<IIncomeTaxService, IncomeTaxService>(); services.AddTransient<IITEmpHeadService, ITEmpHeadService>(); services.AddTransient<IMinTaxExceptionService, MinTaxExceptionService>(); services.AddTransient<ITaxAdjustmentService, TaxAdjustmentService>(); services.AddTransient<ITaxChallanService, TaxChallanService>(); services.AddTransient<ITaxHeadAssignmentService, TaxHeadAssignmentService>(); services.AddTransient<ITaxInvestmentService, TaxInvestmentService>(); services.AddTransient<ITaxMergeMasterService, TaxMergeMasterService>(); services.AddTransient<ITaxParameterService, TaxParameterService>(); services.AddTransient<ISalaryMonthlyService, SalaryMonthlyService>(); services.AddTransient<ISalaryProcessService, SalaryProcessService>(); services.AddTransient<IEmployeeUnAuthorizeLeaveService, EmployeeUnAuthorizeLeaveService>(); services.AddTransient<IUnAuthorizeLeaveService, UnAuthorizeLeaveService>(); services.AddTransient<IUnAuthorizeLeaveParamService, UnAuthorizeLeaveParamService>(); services.AddTransient<IJVSetupService, JVSetupService>(); services.AddTransient<IJVSetupCCService, JVSetupCCService>(); services.AddTransient<IJVSetupDetailService, JVSetupDetailService>(); services.AddTransient<IJVTypeService, JVTypeService>(); services.AddTransient<IOGPositionTypeService, OGPositionTypeService>(); services.AddTransient<IOrganogramService, OrganogramService>(); services.AddTransient<IOrganogramEmployeeService, OrganogramEmployeeService>(); services.AddTransient<ISkillService, SkillService>(); services.AddTransient<ISkillLevelService, SkillLevelService>(); services.AddTransient<IOpiParameterService, OpiParameterService>(); services.AddTransient<IOpiParameterIndividualService, OpiParameterIndividualService>(); services.AddTransient<IOPIPaymentService, OPIPaymentService>(); services.AddTransient<IOPIProcessService, OPIProcessService>(); services.AddTransient<IOpiItemService, OpiItemService>(); services.AddTransient<IFSHeadService, FSHeadService>(); services.AddTransient<IFSTranService, FSTranService>(); services.AddTransient<IFSTranDetailService, FSTranDetailService>(); services.AddTransient<IDelegateResponsibilityService, DelegateResponsibilityService>(); services.AddTransient<IWFMovementTranService, WFMovementTranService>(); services.AddTransient<IWFSetupService, WFSetupService>(); services.AddTransient<IWFTypeService, WFTypeService>(); services.AddTransient<IWFRuleService, WFRuleService>(); services.AddTransient<IPayrollPaymentComponent, payrollPaymentComponentService>(); services.AddTransient<IEmployeeShortLeaveService, EmployeeShortLeaveService>(); services.AddTransient<ILeaveService, LeaveService>(); services.AddTransient<ILeaveEntryService, LeaveEntryService>(); services.AddTransient<ILeaveExceptionService, LeaveExceptionService>(); services.AddTransient<ILeaveParameterService, LeaveParameterService>(); services.AddTransient<ILeavePlanService, LeavePlanService>(); services.AddTransient<ILeaveProcessService, LeaveProcessService>(); services.AddTransient<ILeaveYearService, LeaveYearService>(); services.AddTransient<ILeaveEncashmentService, LeaveEncashmentService>(); services.AddTransient<IUploadEncashAmountService, UploadEncashAmountService>(); services.AddTransient<IShortLeaveService, ShortLeaveService>(); services.AddTransient<IBankService, BankService>(); services.AddTransient<IBranchService, BranchService>(); services.AddTransient<ICostcenterService, CostcenterService>(); services.AddTransient<ILoanService, LoanService>(); services.AddTransient<ILoanEmployeeDocService, LoanEmployeeDocService>(); services.AddTransient<ILoanIssueService, LoanIssueService>(); services.AddTransient<ILoanParameterService, LoanParameterService>(); services.AddTransient<ILoanScheduleService, LoanScheduleService>(); services.AddTransient<IEmpLifeCycleService, EmpLifeCycleService>(); services.AddTransient<IProcessItemService, ProcessItemService>(); services.AddTransient<IHolidayCalendarService, HolidayCalendarService>(); services.AddTransient<IWeeklyHolidayService, WeeklyHolidayService>(); services.AddTransient<IAttnNationalHolidayService, AttnNationalHolidayService>(); services.AddTransient<IWorkPlanGroupService, WorkPlanGroupService>(); services.AddTransient<IEmployeeWorkPlanSetupService, EmployeeWorkPlanSetupService>(); services.AddTransient<IShiftRotationService, ShiftRotationService>(); services.AddTransient<IDailyAttnProcessService, DailyAttnProcessService>(); services.AddTransient<IAttnRawDataService, AttnRawDataService>(); services.AddTransient<IEmployeeOutsideDutyService, EmployeeOutsideDutyService>(); services.AddTransient<IMonthlyWorkPlanService, MonthlyWorkPlanService>(); services.AddTransient<IActingResponsibilitySetupService, ActingResponsibilitySetupService>(); services.AddTransient<IFSTranService, FSTranService>(); services.AddTransient<IFSTranDetailService, FSTranDetailService>(); services.AddTransient<IAccessCardTypeService, AccessCardTypeService>(); //services.AddTransient<IRateService, RateService>(); //services.AddTransient<IRemitterService, RemitterService>(); //services.AddTransient<IFranchiseService, FranchiseService>(); //services.AddTransient<IRemittanceService, RemittanceService>(); //services.AddTransient<IComplainService, ComplainService>(); services.AddTransient<IAdvanceIncomeTaxService, AdvanceIncomeTaxService>(); services.AddTransient<IEmployeeTaxInvestmentService, EmployeeTaxInvestmentService>(); services.AddTransient<IIncomeTaxService, IncomeTaxService>(); services.AddTransient<IITEmpHeadService, ITEmpHeadService>(); services.AddTransient<IMinTaxExceptionService, MinTaxExceptionService>(); services.AddTransient<ITaxAdjustmentService, TaxAdjustmentService>(); services.AddTransient<ITaxChallanService, TaxChallanService>(); services.AddTransient<ITaxHeadAssignmentService, TaxHeadAssignmentService>(); services.AddTransient<ITaxInvestmentService, TaxInvestmentService>(); services.AddTransient<ITaxMergeMasterService, TaxMergeMasterService>(); services.AddTransient<ITaxParameterService, TaxParameterService>(); services.AddTransient<ICountryService, CountryService>(); services.AddTransient<INatureOfTrainingService, NatureOfTrainingService>(); services.AddTransient<IInstitutionService, InstitutionService>(); services.AddTransient<IRelationService, RelationService>(); services.AddTransient<IDistrictService, DistrictService>(); services.AddTransient<IThanaService, ThanaService>(); services.AddTransient<IResultTypeService, ResultTypeService>(); services.AddTransient<IDisciplineService, DisciplineService>(); services.AddTransient<IReligionService, ReligionService>(); services.AddTransient<ISystemConfigaration, SystemConfigarationService>(); // shift services.AddTransient<IAccessCardService, AccessCardService>(); services.AddTransient<ICardOperationService, CardOperationService>(); services.AddTransient<IShiftService, ShiftService>(); //profile Update Request services.AddTransient<IProfileUpdateRequestService, ProfileUpdateRequestService>(); // PMP services.AddTransient<IPMPProcessService, PMPProcessService>(); services.AddTransient<IObjectiveTypeService, ObjectiveTypeService>(); services.AddTransient<IObjectiveCategoryGradesService, ObjectiveCategoryGradesService>(); services.AddTransient<IObjectiveCategoryService, ObjectiveCategoryService>(); services.AddTransient<IObjectiveService, ObjectiveService>(); services.AddTransient<IObjectiveSetService, ObjectiveSetService>(); services.AddTransient<IObjectiveSetRemarksService, ObjectiveSetRemarksService>(); services.AddTransient<IAssesmentValueDetailsService, AssesmentValueDetailsService>(); services.AddTransient<IAppraisalPointRatingService, AppraisalPointRatingService>(); services.AddTransient<IEmpAppraisalRatingService, EmpAppraisalRatingService>(); services.AddTransient<IEmployeeAppraisalService, EmployeeAppraisalService>(); services.AddTransient<IAppraisalPointService, AppraisalPointService>(); services.AddTransient<IYearEndValuesRatingService, YearEndValuesRatingService>(); services.AddTransient<IDevelopmentPlanService, DevelopmentPlanService>(); services.AddTransient<ICompetencyService, CompetencyService>(); services.AddTransient<IQuestionnaireService, QuestionnaireService>(); services.AddTransient<IPMPValueBehaviorService, PMPValueBehaviorService>(); services.AddTransient<IPMPValueBehaviorSettingService, PMPValueBehaviorSettingService>(); services.AddTransient<ISuccessionRoleService, SuccessionRoleService>(); services.AddTransient<ISuccessionPlanningService, SuccessionPlanningService>(); services.AddTransient<IPMPRatingService, PMPRatingService>(); services.AddTransient<IPMSObjectiveProgressService, PMSObjectiveProgressService>(); services.AddTransient<IPMSObjectiveProgressAttachmentService, PMSObjectiveProgressAttachmentService>(); //Search-toolsF services.AddTransient<IDbColumnsService, DbColumnService>(); services.AddTransient<IQueryToolService, QueryToolService>(); // Job Definition services.AddTransient<IJobDefinitionService, JobDefinitionService>(); // Requirements services.AddTransient<IRecruitmentRequisitionService, RecruitmentRequisitionService>(); services.AddTransient<ICVService, CVService>(); services.AddTransient<IHeadCountApprovalRequestService, HeadCountApprovalRequestService>(); services.AddTransient<IInternalRecruitmentService, InternalRecruitmentService>(); services.AddTransient<ICandidateService, CandidateService>(); services.AddTransient<IRecruitementProcessService, RecruitementProcessService>(); services.AddTransient<IRecruitmentLettersService, RecruitmentLettersService>(); services.AddTransient<IDataUploadColumnDefinition, DataUploadColumnDefinationService>(); services.AddTransient<ITrainingService, TrainingService>(); services.AddTransient<ITrainingScheduleService, TrainingScheduleService>(); services.AddTransient<ILetterRequestService, LetterRequestService>(); // for mobile service services.AddTransient<IMOBILEAppVersionService, MOBILEAppVersionService>(); services.AddTransient<IEmpMobileService, EmpMobileService>(); services.AddTransient<IPhotoPathService, PhotoPathService>(); services.AddTransient<ISystemInformationService, SystemInformationService>(); services.AddTransient<IEmpFieldTrackService, EmpFieldTrackService>(); services.AddTransient<IAssetService, AssetService>(); services.AddTransient<IVendorService, VendorService>(); services.AddTransient<IStoreService, StoreService>(); services.AddTransient<IAssetSerialService, AssetSerialService>(); services.AddTransient<IAssetCategoryService, AssetCategoryService>(); services.AddTransient<IAssetSerialTranService, AssetSerialTranService>(); services.AddTransient<IClaimBasicService, ClaimBasicService>(); services.AddTransient<IClaimBasicItemService, ClaimBasicItemService>(); services.AddTransient<IClaimRuleService, ClaimRuleService>(); services.AddTransient<IClaimRequisitionService, ClaimRequisitionService>(); services.AddTransient<IAuthorizedPersonService, AuthorizedPersonService>(); services.AddTransient<IFSHeadService, FSHeadService>(); services.AddTransient<IResignationRequestService, ResignationRequestService>(); services.AddTransient<ITaxReturnService, TaxReturnService>(); services.AddTransient<IEmpTaxAitService, EmpTaxAitService>(); services.AddTransient<IPayrollComponentListService, PayrollComponentListService>(); services.AddTransient<IOrganizationService, OrganizationService>(); services.AddTransient<IFinalSettlementService, FinalSettlementService>(); services.AddTransient<ISettlementClearanceService, SettlementClearanceService>(); services.AddTransient<ISettlementAdvanceService, SettlmentAdviceService>(); services.AddTransient<IClaimDisbursementService, ClaimDisbursementService>(); services.AddTransient<IReminderService, ReminderService>(); services.AddTransient<IErCircularService, ErCircularService>(); services.AddTransient<IErCircularDetailService, ErCircularDetailService>(); services.AddTransient<IAssetItService, AssetItService>(); services.AddTransient<IOutsideDutyService, OutsideDutyService>(); services.AddTransient<IComplainService, ComplainService>(); services.AddTransient<IPunishmentService, PunishmentService>(); services.AddTransient<IDAMasterService, DAMasterService>(); services.AddTransient<IProfileDashboardMobile, ProfileDashboardMobileService>(); services.AddTransient<IAttnMobileRawDataService, AttnMobileRawDataService>(); services.AddTransient<IClaimBalaceService, ClaimBalanceService>(); services.AddTransient<IHrNotificationService, HrNotificationService>(); services.AddTransient<IQuestionCategoryService, QuestionCategoryService>(); services.AddTransient<IQuestionService, QuestionService>(); services.AddTransient<IQuestionAnswerService, QuestionAnswerService>(); services.AddTransient<ISurveyCategoryService, SurveyCategoryService>(); services.AddTransient<ISurveyService, SurveyService>(); services.AddTransient<ISurveyQuestionService, SurveyQuestionService>(); services.AddTransient<IErAppliedApplicantService, ErAppliedApplicantService>(); services.AddTransient<IErCVService, ErCVService>(); //Production Bonus services.AddTransient<IProdBonusAttnService, ProdBonusAttnService>(); services.AddTransient<IProdBonusLineService, ProdBonusLineService>(); services.AddTransient<IProdBonusParameterService, ProdBonusParameterService>(); services.AddTransient<IProdBonusProcessService, ProdBonusProcessService>(); services.AddTransient<IProdBonusSupervisorService, ProdBonusSupervisorService>(); services.AddTransient<IProdBonusWorkScheduleService, ProdBonusWorkScheduleService>(); services.AddTransient<IProductionBonusSetupService, ProductionBonusSetupService>(); services.AddTransient<IDataPermissionService, DataPermissionService>(); services.AddTransient<IPRBCalculationService, PRBCalculationService>(); services.AddTransient<IPRBKpiService, PRBKpiService>(); services.AddTransient<IRecJobTrackingService, RecJobTrackingService>(); services.AddTransient<IDataIntergrationRequestService, DataIntergrationRequestService>(); services.AddTransient<IApiIntegrationService, ApiIntegrationService>(); services.AddTransient<IMemberService, MemberService>(); services.AddTransient<IMembersTransactionDetailsService, MembersTransactionDetailsService>(); services.AddTransient<IEmployeeTaxExcecptionService, EmployeeTaxExceptionService>(); // services.AddTransient<IDataIntergrationRequestService, DataIntergrationRequestService>(); } } /// <summary> /// /// </summary> /// <param name="services"></param> public static void ConfigureMappings(this IServiceCollection services) { if (services != null) { //Automap settings services.AddAutoMapper(Assembly.GetExecutingAssembly()); } } } }