示例#1
0
 public static IServiceCollection AddCloudStorageService(this IServiceCollection services, CloudStorageConnection credentials, string dbConnection)
 {
     services.AddCloudStorageContext(dbConnection);
     if (credentials.UseSsl)
     {
         services.AddSingleton(x => new MinioClient(credentials.Url, credentials.AccessKey, credentials.SecretKey).WithSSL());
     }
     else
     {
         services.AddSingleton(x => new MinioClient(credentials.Url, credentials.AccessKey, credentials.SecretKey));
     }
     services.AddTransient <IReportPdfBucketService, ReportPdfBucketService>();
     return(services);
 }
        public static IServiceCollection AddTradeUnionCommitteeServiceModule(this IServiceCollection services,
                                                                             ConnectionStrings connectionStrings,
                                                                             CloudStorageConnection cloudStorageConnection,
                                                                             RestConnection restConnection,
                                                                             HashIdConfiguration setting)
        {
            // Injection => Main, Identity, Audit contexts,
            //              Cloud Storage, Data Analysis, PDF services

            services.AddDbContext(connectionStrings.DefaultConnection);
            services.AddIdentityContext(connectionStrings.IdentityConnection);
            services.AddAuditDbContext(connectionStrings.AuditConnection);
            services.AddCloudStorageService(new CloudStorage.Service.Model.CloudStorageConnection
            {
                UseSsl    = cloudStorageConnection.UseSsl,
                Url       = cloudStorageConnection.Url,
                AccessKey = cloudStorageConnection.AccessKey,
                SecretKey = cloudStorageConnection.SecretKey,
            }, connectionStrings.CloudStorageConnection);
            services.AddDataAnalysisService(restConnection.DataAnalysisUrl);
            services.AddPdfService();

            HashHelper.Initialize(setting);

            // Injection All Service
            //---------------------------------------------------------------------------------------------

            services.AddTransient <IAccountService, AccountService>();
            services.AddTransient <IDashboardService, DashboardService>();

            services.AddTransient <ISearchService, SearchService>();
            services.AddTransient <ISystemAuditService, SystemAuditService>();
            services.AddTransient <IPdfService, PdfService>();

            services.AddTransient <IQualificationService, QualificationService>();
            services.AddTransient <IPositionService, PositionService>();
            services.AddTransient <ISocialActivityService, SocialActivityService>();
            services.AddTransient <IPrivilegesService, PrivilegesService>();
            services.AddTransient <IAwardService, AwardService>();
            services.AddTransient <IMaterialAidService, MaterialAidService>();
            services.AddTransient <IHobbyService, HobbyService>();
            services.AddTransient <ITravelService, TravelService>();
            services.AddTransient <IWellnessService, WellnessService>();
            services.AddTransient <ITourService, TourService>();
            services.AddTransient <IActivitiesService, ActivitiesService>();
            services.AddTransient <ICulturalService, CulturalService>();
            services.AddTransient <ISubdivisionsService, SubdivisionsService>();
            services.AddTransient <IDormitoryService, DormitoryService>();
            services.AddTransient <IDepartmentalService, DepartmentalService>();

            services.AddTransient <IEmployeeService, EmployeeService>();
            services.AddTransient <IPrivateHouseEmployeesService, PrivateHouseEmployeesService>();
            services.AddTransient <IPublicHouseEmployeesService, PublicHouseEmployeesService>();
            services.AddTransient <IPositionEmployeesService, PositionEmployeesService>();
            services.AddTransient <ISocialActivityEmployeesService, SocialActivityEmployeesService>();
            services.AddTransient <IPrivilegeEmployeesService, PrivilegeEmployeesService>();
            services.AddTransient <IAwardEmployeesService, AwardEmployeesService>();
            services.AddTransient <IMaterialAidEmployeesService, MaterialAidEmployeesService>();
            services.AddTransient <ITravelEmployeesService, TravelEmployeesService>();
            services.AddTransient <IWellnessEmployeesService, WellnessEmployeesService>();
            services.AddTransient <ITourEmployeesService, TourEmployeesService>();
            services.AddTransient <IActivityEmployeesService, ActivityEmployeesService>();
            services.AddTransient <ICulturalEmployeesService, CulturalEmployeesService>();
            services.AddTransient <IGiftEmployeesService, GiftEmployeesService>();
            services.AddTransient <IFluorographyEmployeesService, FluorographyEmployeesService>();
            services.AddTransient <IApartmentAccountingEmployeesService, ApartmentAccountingEmployeesService>();
            services.AddTransient <IHobbyEmployeesService, HobbyEmployeesService>();

            services.AddTransient <IFamilyService, FamilyService>();
            services.AddTransient <ITravelFamilyService, TravelFamilyService>();
            services.AddTransient <IWellnessFamilyService, WellnessFamilyService>();
            services.AddTransient <ITourFamilyService, TourFamilyService>();
            services.AddTransient <IActivityFamilyService, ActivityFamilyService>();
            services.AddTransient <ICulturalFamilyService, CulturalFamilyService>();

            services.AddTransient <IChildrenService, ChildrenService>();
            services.AddTransient <IHobbyChildrenService, HobbyChildrenService>();
            services.AddTransient <ITravelChildrenService, TravelChildrenService>();
            services.AddTransient <IWellnessChildrenService, WellnessChildrenService>();
            services.AddTransient <ITourChildrenService, TourChildrenService>();
            services.AddTransient <IActivityChildrenService, ActivityChildrenService>();
            services.AddTransient <ICulturalChildrenService, CulturalChildrenService>();
            services.AddTransient <IGiftChildrenService, GiftChildrenService>();

            services.AddTransient <IGrandChildrenService, GrandChildrenService>();
            services.AddTransient <IHobbyGrandChildrenService, HobbyGrandChildrenService>();
            services.AddTransient <ITravelGrandChildrenService, TravelGrandChildrenService>();
            services.AddTransient <ITourGrandChildrenService, TourGrandChildrenService>();
            services.AddTransient <IActivityGrandChildrenService, ActivityGrandChildrenService>();
            services.AddTransient <ICulturalGrandChildrenService, CulturalGrandChildrenService>();
            services.AddTransient <IGiftGrandChildrenService, GiftGrandChildrenService>();

            //---------------------------------------------------------------------------------------------

            return(services);
        }
        public static IServiceCollection AddTradeUnionCommitteeServiceModule(this IServiceCollection services,
                                                                             ConnectionStrings connectionStrings,
                                                                             CloudStorageConnection cloudStorageConnection,
                                                                             DataAnalysisConnection dataAnalysisConnection,
                                                                             HashIdConfiguration setting,
                                                                             Type autoMapperProfile = null)
        {
            // Injection => Main, Identity, Audit contexts,
            //              Cloud Storage, Data Analysis, PDF services


            var mapper = new Mapper(new MapperConfiguration(cfg => cfg.AddProfile(typeof(ConnectionProfile))));

            var cloudStorageMap = mapper.Map <CloudStorageConnection, CloudStorage.Service.Model.CloudStorageConnection>(cloudStorageConnection);
            var dataAnalysisMap = mapper.Map <DataAnalysisConnection, DataAnalysis.Service.Models.DataAnalysisConnection>(dataAnalysisConnection);

            services.AddDbContext(connectionStrings.DefaultConnection);
            services.AddIdentityContext(connectionStrings.IdentityConnection);
            services.AddAuditDbContext(connectionStrings.AuditConnection);
            services.AddCloudStorageService(cloudStorageMap, connectionStrings.CloudStorageConnection);
            services.AddDataAnalysisService(dataAnalysisMap);
            services.AddPdfService();

            if (autoMapperProfile == null)
            {
                services.AddAutoMapper(typeof(AutoMapperProfile));
            }
            else
            {
                services.AddAutoMapper(autoMapperProfile, typeof(AutoMapperProfile));
            }

            HashHelper.Initialize(setting);

            // Injection All Service
            //---------------------------------------------------------------------------------------------

            services.AddTransient <IAccountService, AccountService>();
            services.AddTransient <IDashboardService, DashboardService>();

            services.AddTransient <ISearchService, SearchService>();
            services.AddTransient <ISystemAuditService, SystemAuditService>();
            services.AddTransient <IPdfService, PdfService>();

            services.AddTransient <IQualificationService, QualificationService>();
            services.AddTransient <IPositionService, PositionService>();
            services.AddTransient <ISocialActivityService, SocialActivityService>();
            services.AddTransient <IPrivilegesService, PrivilegesService>();
            services.AddTransient <IAwardService, AwardService>();
            services.AddTransient <IMaterialAidService, MaterialAidService>();
            services.AddTransient <IHobbyService, HobbyService>();
            services.AddTransient <ITravelService, TravelService>();
            services.AddTransient <IWellnessService, WellnessService>();
            services.AddTransient <ITourService, TourService>();
            services.AddTransient <IActivitiesService, ActivitiesService>();
            services.AddTransient <ICulturalService, CulturalService>();
            services.AddTransient <ISubdivisionsService, SubdivisionsService>();
            services.AddTransient <IDormitoryService, DormitoryService>();
            services.AddTransient <IDepartmentalService, DepartmentalService>();

            services.AddTransient <IEmployeeService, EmployeeService>();
            services.AddTransient <IPrivateHouseEmployeesService, PrivateHouseEmployeesService>();
            services.AddTransient <IPublicHouseEmployeesService, PublicHouseEmployeesService>();
            services.AddTransient <IPositionEmployeesService, PositionEmployeesService>();
            services.AddTransient <ISocialActivityEmployeesService, SocialActivityEmployeesService>();
            services.AddTransient <IPrivilegeEmployeesService, PrivilegeEmployeesService>();
            services.AddTransient <IAwardEmployeesService, AwardEmployeesService>();
            services.AddTransient <IMaterialAidEmployeesService, MaterialAidEmployeesService>();
            services.AddTransient <ITravelEmployeesService, TravelEmployeesService>();
            services.AddTransient <IWellnessEmployeesService, WellnessEmployeesService>();
            services.AddTransient <ITourEmployeesService, TourEmployeesService>();
            services.AddTransient <IActivityEmployeesService, ActivityEmployeesService>();
            services.AddTransient <ICulturalEmployeesService, CulturalEmployeesService>();
            services.AddTransient <IGiftEmployeesService, GiftEmployeesService>();
            services.AddTransient <IFluorographyEmployeesService, FluorographyEmployeesService>();
            services.AddTransient <IApartmentAccountingEmployeesService, ApartmentAccountingEmployeesService>();
            services.AddTransient <IHobbyEmployeesService, HobbyEmployeesService>();

            services.AddTransient <IFamilyService, FamilyService>();
            services.AddTransient <ITravelFamilyService, TravelFamilyService>();
            services.AddTransient <IWellnessFamilyService, WellnessFamilyService>();
            services.AddTransient <ITourFamilyService, TourFamilyService>();
            services.AddTransient <IActivityFamilyService, ActivityFamilyService>();
            services.AddTransient <ICulturalFamilyService, CulturalFamilyService>();

            services.AddTransient <IChildrenService, ChildrenService>();
            services.AddTransient <IHobbyChildrenService, HobbyChildrenService>();
            services.AddTransient <ITravelChildrenService, TravelChildrenService>();
            services.AddTransient <IWellnessChildrenService, WellnessChildrenService>();
            services.AddTransient <ITourChildrenService, TourChildrenService>();
            services.AddTransient <IActivityChildrenService, ActivityChildrenService>();
            services.AddTransient <ICulturalChildrenService, CulturalChildrenService>();
            services.AddTransient <IGiftChildrenService, GiftChildrenService>();

            services.AddTransient <IGrandChildrenService, GrandChildrenService>();
            services.AddTransient <IHobbyGrandChildrenService, HobbyGrandChildrenService>();
            services.AddTransient <ITravelGrandChildrenService, TravelGrandChildrenService>();
            services.AddTransient <ITourGrandChildrenService, TourGrandChildrenService>();
            services.AddTransient <IActivityGrandChildrenService, ActivityGrandChildrenService>();
            services.AddTransient <ICulturalGrandChildrenService, CulturalGrandChildrenService>();
            services.AddTransient <IGiftGrandChildrenService, GiftGrandChildrenService>();

            //---------------------------------------------------------------------------------------------

            return(services);
        }