Exemple #1
0
 public OperationResult RemoveArticleConfig(int articleId)
 {
     ArticleConfig.Delete(articleId);
     return(UnitOfWork.Commit() > 0
                    ? new OperationResult(StatusCode.Okey)
                    : new OperationResult(StatusCode.Okey, "早就被删了呢!"));
 }
        public List <NewEmployee> GetNewEmployee(ArticleConfig item)
        {
            List <NewEmployee> employeeLst = new List <NewEmployee>();

            try
            {
                if (item.Days != null)
                {
                    int      day  = int.Parse(item.Days);
                    DateTime date = DateTime.Now.AddDays(-day).Date;
                    employeeLst = new BaseService <NewEmployee>().Repository.Entities.Where(a => a.EmployeeTime == date).ToList();
                    //employeeLst = Repository.Entities.ToList();
                }
                else if (item.Month != null)
                {
                    int      month = int.Parse(item.Month);
                    DateTime date  = DateTime.Now.AddMonths(-month).Date;
                    employeeLst = Repository.Entities.Where(a => a.EmployeeTime == date).ToList();
                }
            }
            catch (Exception ex)
            {
                Logger.Error("Get New Employee Error: {0}", ex.Message.ToString());
            }
            return(employeeLst);
        }
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="settings">Data settings</param>
 protected BaseDataProviderManager(ArticleConfig settings)
 {
     if (settings == null)
     {
         throw new ArgumentNullException("settings");
     }
     this.Settings = settings;
 }
Exemple #4
0
        /// <summary>
        /// Initialize components and plugins in the  environment.
        /// </summary>
        /// <param name="config">Config</param>
        public void Initialize(ArticleConfig config)
        {
            //register dependencies
            RegisterDependencies(config);

            //startup tasks
            if (!config.IgnoreStartupTasks)
            {
                RunStartupTasks();
            }
        }
Exemple #5
0
        public AritcleSectionInputDataDto GetAritcleSectionInputDataDto(int formId)
        {
            var dto = new AritcleSectionInputDataDto
            {
                Articles = ArticleConfig.GetArticleConfigDtos(),
                Sections = SectionConfig.GetSectionConfigDtos(),
                Inputs   = SectionConfig.GetInputConfigDtos(),
                Datas    = DataCollection.GetDataCollectionDtos(formId)
            };

            return(dto);
        }
Exemple #6
0
        /// <summary>
        /// Register dependencies
        /// </summary>
        /// <param name="config">Config</param>
        protected virtual void RegisterDependencies(ArticleConfig config)
        {
            var builder   = new ContainerBuilder();
            var container = builder.Build();

            this._containerManager = new ContainerManager(container);

            //we create new instance of ContainerBuilder
            //because Build() or Update() method can only be called once on a ContainerBuilder.

            //dependencies
            var typeFinder = new WebAppTypeFinder();

            builder = new ContainerBuilder();
            builder.RegisterInstance(config).As <ArticleConfig>().SingleInstance();
            builder.RegisterInstance(this).As <IEngine>().SingleInstance();
            builder.RegisterInstance(typeFinder).As <ITypeFinder>().SingleInstance();
            builder.Update(container);

            //register dependencies provided by other assemblies
            builder = new ContainerBuilder();
            var drTypes     = typeFinder.FindClassesOfType <IDependencyRegistrar>();
            var drInstances = new List <IDependencyRegistrar>();

            foreach (var drType in drTypes)
            {
                drInstances.Add((IDependencyRegistrar)Activator.CreateInstance(drType));
            }


            //sort
            drInstances = drInstances.AsQueryable().OrderBy(t => t.Order).ToList();
            foreach (var dependencyRegistrar in drInstances)
            {
                dependencyRegistrar.Register(builder, typeFinder, config);
            }

            builder.Register(c => new UnitOfWorkInterceptor());

            builder.Update(container);

            //set dependency resolver
            //if (config.SystemSetting.IsWebApi)
            //{
            //    var httpconfig = GlobalConfiguration.Configuration;
            //    httpconfig.DependencyResolver = new AutofacWebApiDependencyResolver(container);
            //}
            //else
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        }
Exemple #7
0
        public OperationResult AddSectionConfig(SectionConfigDto dto)
        {
            var article = ArticleConfig.FindById(dto.ArticleId);

            if (article != null)
            {
                var section = Mapper.Map <SectionConfigDto, SectionConfig>(dto);
                section.ArticleId = article.Id;
                SectionConfig.Insert(section);
                return(UnitOfWork.Commit() > 0
                    ? new OperationResult(StatusCode.Okey)
                    : new OperationResult(StatusCode.Failed));
            }
            return(new OperationResult(StatusCode.NotFound, "失败了耶~刷新一下页面看看,会有惊喜哦"));
        }
Exemple #8
0
        public OperationResult UpsertArticleConfig(ArticleConfigDto dto)
        {
            var article = Mapper.Map <ArticleConfigDto, ArticleConfig>(dto);

            if (article.Id == 0)
            {
                ArticleConfig.Insert(article);
                return(UnitOfWork.Commit() > 0
                    ? new OperationResult(StatusCode.Okey).SetExtras(article.Id)
                    : new OperationResult(StatusCode.Failed));
            }
            else
            {
                ArticleConfig.Update(article);
                return(UnitOfWork.Commit() > 0
                           ? new OperationResult(StatusCode.Okey).SetExtras(article.Id)
                           : new OperationResult(StatusCode.Failed));
            }
        }
Exemple #9
0
        public RedisCacheManager(ArticleConfig config)
        {
            if (String.IsNullOrEmpty(config.RedisCachingConnectionString))
            {
                throw new Exception("Redis connection string is empty");
            }

            if (redisconfig == null)
            {
                redisconfig = new ConfigurationOptions();
                redisconfig.ConnectTimeout  = 5000;
                redisconfig.ResponseTimeout = 5000;
                redisconfig.SyncTimeout     = 5000;
                redisconfig.EndPoints.Add(config.RedisCachingConnectionString, int.Parse(config.RedisPort));
                //if (!config.SystemSetting.IsDev)
                //    redisconfig.CommandMap = CommandMap.Sentinel;
            }

            logger = EngineContext.Current.Resolve <ILogger>();
            //this._muxer = ConnectionMultiplexer.Connect(redisconfig);

            //this._db = _muxer.GetDatabase();
            //this._perRequestCacheManager = EngineContext.Current.Resolve<IRedis>();
        }
        //private static bool? _databaseIsInstalled;

        /// <summary>
        /// Returns a value indicating whether database is already installed
        /// </summary>
        /// <returns></returns>
        public static bool DatabaseIsInstalled(ArticleConfig config)
        {
            return(config.DatabaseIsInstalled);
        }
 public SingleStrategy(ArticleConfig articleconfig)
 {
     _articleconfig = articleconfig;
 }
        public void TestGetById()
        {
            var article = ArticleConfig.FindById(1);

            Assert.IsNotNull(article);
        }
        /// <summary>
        /// Register services and interfaces
        /// </summary>
        /// <param name="builder">Container builder</param>
        /// <param name="typeFinder">Type finder</param>
        /// <param name="config">Config</param>
        public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, ArticleConfig config)
        {
            //HTTP context and other related stuff
            builder.Register(c =>
                             //register FakeHttpContext when HttpContext is not available
                             HttpContext.Current != null ?
                             (new HttpContextWrapper(HttpContext.Current) as HttpContextBase) :
                             (new FakeHttpContext("~/") as HttpContextBase))
            .As <HttpContextBase>()
            .InstancePerLifetimeScope();
            builder.Register(c => c.Resolve <HttpContextBase>().Request)
            .As <HttpRequestBase>()
            .InstancePerLifetimeScope();
            builder.Register(c => c.Resolve <HttpContextBase>().Response)
            .As <HttpResponseBase>()
            .InstancePerLifetimeScope();
            builder.Register(c => c.Resolve <HttpContextBase>().Server)
            .As <HttpServerUtilityBase>()
            .InstancePerLifetimeScope();
            builder.Register(c => c.Resolve <HttpContextBase>().Session)
            .As <HttpSessionStateBase>()
            .InstancePerLifetimeScope();

            //web helper
            builder.RegisterType <WebHelper>().As <IWebHelper>().InstancePerLifetimeScope();
            //user agent helper

            //controllers
            // builder.Register(c => new CacheIInterceptor());
            builder.RegisterControllers(typeFinder.GetAssemblies().ToArray());

            //data layer

            builder.Register(x => new EfDataProviderManager(config)).As <BaseDataProviderManager>().InstancePerDependency();
            builder.Register(x => x.Resolve <BaseDataProviderManager>().LoadDataProvider()).As <IDataProvider>().InstancePerDependency();

            var efDataProviderManager = new EfDataProviderManager(config);
            var dataProvider          = efDataProviderManager.LoadDataProvider();

            dataProvider.InitDatabase(config.DatabaseInstallModel);

            builder.Register <IDbContext>(c => new BaseObjectContext(config.MsSqlConnectionString)).InstancePerLifetimeScope();
            //builder.Register<IWriteDbContext>(c => new WriteObjectContext(config.MsSqlWriteConnectionString)).InstancePerLifetimeScope();
            builder.RegisterGeneric(typeof(EfRepository <>)).As(typeof(IRepository <>)).InstancePerLifetimeScope();

            //cache managers
            builder.RegisterType <MemoryCacheManager>().As <ICacheManager>().SingleInstance();

            //services

            //use static cache (between HTTP requests)
            builder.RegisterType <DefaultLogger>().As <ILogger>().InstancePerLifetimeScope();
            builder.RegisterType <DbContextFactory>().As <IDbContextFactory>().InstancePerLifetimeScope();
            builder.RegisterType <SingleStrategy>().As <IReadDbStrategy>().InstancePerLifetimeScope();
            //use static cache (between HTTP requests)

            bool databaseInstalled = DataSettingsHelper.DatabaseIsInstalled(config);

            if (!databaseInstalled)
            {
                //builder.RegisterType<CodeFirstInstallationService>().As<IInstallationService>().InstancePerLifetimeScope();
                //installation service
                //if (config.UseFastInstallationService)
                //{
                //    builder.RegisterType<SqlFileInstallationService>().As<IInstallationService>().InstancePerLifetimeScope();
                //}
                //else
                //{
                //    builder.RegisterType<CodeFirstInstallationService>().As<IInstallationService>().InstancePerLifetimeScope();
                //}
            }

            //Register event consumers
            var consumers = typeFinder.FindClassesOfType(typeof(IConsumer <>)).ToList();

            foreach (var consumer in consumers)
            {
                builder.RegisterType(consumer)
                .As(consumer.FindInterfaces((type, criteria) =>
                {
                    var isMatch = type.IsGenericType && ((Type)criteria).IsAssignableFrom(type.GetGenericTypeDefinition());
                    return(isMatch);
                }, typeof(IConsumer <>)))
                .InstancePerLifetimeScope();
            }
            builder.RegisterType <EventPublisher>().As <IEventPublisher>().InstancePerLifetimeScope();
            builder.RegisterType <SubscriptionService>().As <ISubscriptionService>().InstancePerLifetimeScope();

            //unit of work
            builder.RegisterType <UnitOfWorkDbContextProvider>().As <IDbContextProvider>().InstancePerLifetimeScope();
            builder.RegisterType <CallContextCurrentUnitOfWorkProvider>().As <IUnitOfWorkProvider>().InstancePerLifetimeScope();
            builder.RegisterType <EfUnitOfWork>().As <IUnitOfWork>().InstancePerLifetimeScope();
            builder.RegisterType <UnitOfWorkManager>().As <IUnitOfWorkManager>().InstancePerLifetimeScope();
            builder.RegisterType <DbContextEfTransactionStrategy>().As <IEfTransactionStrategy>().InstancePerLifetimeScope();
            builder.RegisterType <CallContextAmbientDataContext>().As <IAmbientDataContext>().SingleInstance();
            builder.RegisterGeneric(typeof(DataContextAmbientScopeProvider <>)).As(typeof(IAmbientScopeProvider <>)).InstancePerLifetimeScope();

            //serivce

            //Article
            builder.RegisterType <PayService>().As <IPayService>().InstancePerLifetimeScope().EnableClassInterceptors();

            //Auth
            builder.RegisterType <RoomService>().As <IRoomService>().InstancePerLifetimeScope().EnableClassInterceptors();

            //Author
            builder.RegisterType <UserService>().As <IUserService>().InstancePerLifetimeScope().EnableClassInterceptors();

            //CounterService
            builder.RegisterType <SysService>().As <ISysService>().InstancePerLifetimeScope().EnableClassInterceptors();

            //CounterService


            builder.RegisterType <RedisCacheManager>().As <IRedis>().InstancePerLifetimeScope();
        }
 public EfDataProviderManager(ArticleConfig settings) : base(settings)
 {
 }
        public void TestDeleteById()
        {
            var section = SectionConfig.FindById(1);

            ArticleConfig.Delete(1);
        }
        /// <summary>
        /// Register services and interfaces
        /// </summary>
        /// <param name="builder">Container builder</param>
        /// <param name="typeFinder">Type finder</param>
        /// <param name="config">Config</param>
        public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, ArticleConfig config)
        {
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap <Domain.account_goods, account_goodsDto>();
                cfg.CreateMap <account_goodsDto, Domain.account_goods>();

                cfg.CreateMap <Domain.Accounts_Roles, Accounts_RolesDto>();
                cfg.CreateMap <Accounts_RolesDto, Domain.Accounts_Roles>();

                cfg.CreateMap <Domain.Accounts_UserRoles, Accounts_UserRolesDto>();
                cfg.CreateMap <Accounts_UserRolesDto, Domain.Accounts_UserRoles>();

                cfg.CreateMap <Domain.Accounts_Users, Accounts_UsersDto>();
                cfg.CreateMap <Accounts_UsersDto, Domain.Accounts_Users>();

                cfg.CreateMap <Domain.AddPrice, AddPriceDto>();
                cfg.CreateMap <AddPriceDto, Domain.AddPrice>();

                cfg.CreateMap <Domain.apartment, apartmentDto>();
                cfg.CreateMap <apartmentDto, Domain.apartment>();

                cfg.CreateMap <Domain.banner, bannerDto>();
                cfg.CreateMap <bannerDto, Domain.banner>();

                cfg.CreateMap <Domain.Book_Rdetail, Book_RdetailDto>();
                cfg.CreateMap <Book_RdetailDto, Domain.Book_Rdetail>();

                cfg.CreateMap <Domain.book_room, book_roomDto>();
                cfg.CreateMap <book_roomDto, Domain.book_room>();

                cfg.CreateMap <Domain.BookState, BookStateDto>();
                cfg.CreateMap <BookStateDto, Domain.BookState>();

                cfg.CreateMap <Domain.breakfirstcoupon, breakfirstcouponDto>();
                cfg.CreateMap <breakfirstcouponDto, Domain.breakfirstcoupon>();

                cfg.CreateMap <Domain.card_type, card_typeDto>();
                cfg.CreateMap <card_typeDto, Domain.card_type>();

                cfg.CreateMap <Domain.cCall, cCallDto>();
                cfg.CreateMap <cCallDto, Domain.cCall>();

                cfg.CreateMap <Domain.cDepartment, cDepartmentDto>();
                cfg.CreateMap <cDepartmentDto, Domain.cDepartment>();

                cfg.CreateMap <Domain.cIndustry, cIndustryDto>();
                cfg.CreateMap <cIndustryDto, Domain.cIndustry>();

                cfg.CreateMap <Domain.comm_unit, comm_unitDto>();
                cfg.CreateMap <comm_unitDto, Domain.comm_unit>();

                cfg.CreateMap <Domain.Commission, CommissionDto>();
                cfg.CreateMap <CommissionDto, Domain.Commission>();

                cfg.CreateMap <Domain.Contacts, ContactsDto>();
                cfg.CreateMap <ContactsDto, Domain.Contacts>();

                cfg.CreateMap <Domain.cost_type, cost_typeDto>();
                cfg.CreateMap <cost_typeDto, Domain.cost_type>();

                cfg.CreateMap <Domain.cPost, cPostDto>();
                cfg.CreateMap <cPostDto, Domain.cPost>();

                cfg.CreateMap <Domain.cprotocol, cprotocolDto>();
                cfg.CreateMap <cprotocolDto, Domain.cprotocol>();

                cfg.CreateMap <Domain.cprotocolPrice, cprotocolPriceDto>();
                cfg.CreateMap <cprotocolPriceDto, Domain.cprotocolPrice>();

                cfg.CreateMap <Domain.cpType, cpTypeDto>();
                cfg.CreateMap <cpTypeDto, Domain.cpType>();

                cfg.CreateMap <Domain.credit, creditDto>();
                cfg.CreateMap <creditDto, Domain.credit>();

                cfg.CreateMap <Domain.csysType, csysTypeDto>();
                cfg.CreateMap <csysTypeDto, Domain.csysType>();

                cfg.CreateMap <Domain.customer, customerDto>();
                cfg.CreateMap <customerDto, Domain.customer>();

                cfg.CreateMap <Domain.customerState, customerStateDto>();
                cfg.CreateMap <customerStateDto, Domain.customerState>();

                cfg.CreateMap <Domain.customerType, customerTypeDto>();
                cfg.CreateMap <customerTypeDto, Domain.customerType>();

                cfg.CreateMap <Domain.Entry, EntryDto>();
                cfg.CreateMap <EntryDto, Domain.Entry>();

                cfg.CreateMap <Domain.ExceedScheme, ExceedSchemeDto>();
                cfg.CreateMap <ExceedSchemeDto, Domain.ExceedScheme>();

                cfg.CreateMap <Domain.floor_ld, floor_ldDto>();
                cfg.CreateMap <floor_ldDto, Domain.floor_ld>();

                cfg.CreateMap <Domain.floor_manage, floor_manageDto>();
                cfg.CreateMap <floor_manageDto, Domain.floor_manage>();

                cfg.CreateMap <Domain.FtSet, FtSetDto>();
                cfg.CreateMap <FtSetDto, Domain.FtSet>();

                cfg.CreateMap <Domain.Goods, GoodsDto>();
                cfg.CreateMap <GoodsDto, Domain.Goods>();

                cfg.CreateMap <Domain.goods_account, goods_accountDto>();
                cfg.CreateMap <goods_accountDto, Domain.goods_account>();

                cfg.CreateMap <Domain.guest_source, guest_sourceDto>();
                cfg.CreateMap <guest_sourceDto, Domain.guest_source>();

                cfg.CreateMap <Domain.Hotel, HotelDto>();
                cfg.CreateMap <HotelDto, Domain.Hotel>();

                cfg.CreateMap <Domain.hour_room, hour_roomDto>();
                cfg.CreateMap <hour_roomDto, Domain.hour_room>();

                cfg.CreateMap <Domain.hourse_scheme, hourse_schemeDto>();
                cfg.CreateMap <hourse_schemeDto, Domain.hourse_scheme>();

                cfg.CreateMap <Domain.info, infoDto>();
                cfg.CreateMap <infoDto, Domain.info>();

                cfg.CreateMap <Domain.log, logDto>();
                cfg.CreateMap <logDto, Domain.log>();

                cfg.CreateMap <Domain.member, memberDto>();
                cfg.CreateMap <memberDto, Domain.member>();

                cfg.CreateMap <Domain.memberState, memberStateDto>();
                cfg.CreateMap <memberStateDto, Domain.memberState>();

                cfg.CreateMap <Domain.memberType, memberTypeDto>();
                cfg.CreateMap <memberTypeDto, Domain.memberType>();

                cfg.CreateMap <Domain.Menu, MenuDto>();
                cfg.CreateMap <MenuDto, Domain.Menu>();

                cfg.CreateMap <Domain.meth_pay, meth_payDto>();
                cfg.CreateMap <meth_payDto, Domain.meth_pay>();

                cfg.CreateMap <Domain.modes, modesDto>();
                cfg.CreateMap <modesDto, Domain.modes>();

                cfg.CreateMap <Domain.mRecords, mRecordsDto>();
                cfg.CreateMap <mRecordsDto, Domain.mRecords>();

                cfg.CreateMap <Domain.mtPrice, mtPriceDto>();
                cfg.CreateMap <mtPriceDto, Domain.mtPrice>();

                cfg.CreateMap <Domain.occu_infor, occu_inforDto>();
                cfg.CreateMap <occu_inforDto, Domain.occu_infor>();

                cfg.CreateMap <Domain.occu_informx, occu_informxDto>();
                cfg.CreateMap <occu_informxDto, Domain.occu_informx>();

                cfg.CreateMap <Domain.order_ext, order_extDto>();
                cfg.CreateMap <order_extDto, Domain.order_ext>();

                cfg.CreateMap <Domain.order_infor, order_inforDto>();
                cfg.CreateMap <order_inforDto, Domain.order_infor>();

                cfg.CreateMap <Domain.paymentMoney, paymentMoneyDto>();
                cfg.CreateMap <paymentMoneyDto, Domain.paymentMoney>();

                cfg.CreateMap <Domain.price_type, price_typeDto>();
                cfg.CreateMap <price_typeDto, Domain.price_type>();

                cfg.CreateMap <Domain.print, printDto>();
                cfg.CreateMap <printDto, Domain.print>();

                cfg.CreateMap <Domain.real_mode, real_modeDto>();
                cfg.CreateMap <real_modeDto, Domain.real_mode>();

                cfg.CreateMap <Domain.real_state, real_stateDto>();
                cfg.CreateMap <real_stateDto, Domain.real_state>();

                cfg.CreateMap <Domain.receipt, receiptDto>();
                cfg.CreateMap <receiptDto, Domain.receipt>();

                cfg.CreateMap <Domain.Remaker, RemakerDto>();
                cfg.CreateMap <RemakerDto, Domain.Remaker>();

                cfg.CreateMap <Domain.Repair, RepairDto>();
                cfg.CreateMap <RepairDto, Domain.Repair>();

                cfg.CreateMap <Domain.RoleMenu, RoleMenuDto>();
                cfg.CreateMap <RoleMenuDto, Domain.RoleMenu>();

                cfg.CreateMap <Domain.room_feature, room_featureDto>();
                cfg.CreateMap <room_featureDto, Domain.room_feature>();

                cfg.CreateMap <Domain.room_number, room_numberDto>();
                cfg.CreateMap <room_numberDto, Domain.room_number>();

                cfg.CreateMap <Domain.room_state, room_stateDto>();
                cfg.CreateMap <room_stateDto, Domain.room_state>();

                cfg.CreateMap <Domain.room_type, room_typeDto>();
                cfg.CreateMap <room_typeDto, Domain.room_type>();

                cfg.CreateMap <Domain.room_type_image, room_type_imageDto>();
                cfg.CreateMap <room_type_imageDto, Domain.room_type_image>();

                cfg.CreateMap <Domain.roomcoupon, roomcouponDto>();
                cfg.CreateMap <roomcouponDto, Domain.roomcoupon>();

                cfg.CreateMap <Domain.roomman, roommanDto>();
                cfg.CreateMap <roommanDto, Domain.roomman>();

                cfg.CreateMap <Domain.roomrent, roomrentDto>();
                cfg.CreateMap <roomrentDto, Domain.roomrent>();

                cfg.CreateMap <Domain.sale_man, sale_manDto>();
                cfg.CreateMap <sale_manDto, Domain.sale_man>();

                cfg.CreateMap <Domain.Shift, ShiftDto>();
                cfg.CreateMap <ShiftDto, Domain.Shift>();

                cfg.CreateMap <Domain.Shift_Exc, Shift_ExcDto>();
                cfg.CreateMap <Shift_ExcDto, Domain.Shift_Exc>();

                cfg.CreateMap <Domain.shopInfo, shopInfoDto>();
                cfg.CreateMap <shopInfoDto, Domain.shopInfo>();

                cfg.CreateMap <Domain.Sincethehous, SincethehousDto>();
                cfg.CreateMap <SincethehousDto, Domain.Sincethehous>();

                cfg.CreateMap <Domain.SuoRoom, SuoRoomDto>();
                cfg.CreateMap <SuoRoomDto, Domain.SuoRoom>();

                cfg.CreateMap <Domain.SuoSys, SuoSysDto>();
                cfg.CreateMap <SuoSysDto, Domain.SuoSys>();

                cfg.CreateMap <Domain.SysParamter, SysParamterDto>();
                cfg.CreateMap <SysParamterDto, Domain.SysParamter>();

                cfg.CreateMap <Domain.TypeScheme, TypeSchemeDto>();
                cfg.CreateMap <TypeSchemeDto, Domain.TypeScheme>();

                cfg.CreateMap <Domain.UserInfo, UserInfoDto>();
                cfg.CreateMap <UserInfoDto, Domain.UserInfo>();

                cfg.CreateMap <Domain.Users, UsersDto>();
                cfg.CreateMap <UsersDto, Domain.Users>();

                cfg.CreateMap <Domain.userType, userTypeDto>();
                cfg.CreateMap <userTypeDto, Domain.userType>();

                cfg.CreateMap <Domain.ZD_hourse, ZD_hourseDto>();
                cfg.CreateMap <ZD_hourseDto, Domain.ZD_hourse>();
            });
        }
 public DbContextFactory(ArticleConfig articleconfig, IReadDbStrategy readDbStrategy)
 {
     _articleconfig  = articleconfig;
     _readDbStrategy = readDbStrategy;
 }
Exemple #18
0
        public async Task <IActionResult> Articles(string source)
        {
            // TODO: Pull these configs from a database or from a file
            ArticleConfig arsConfig = new ArticleConfig()
            {
                NewsSource          = "Ars Technica",
                Organization        = "Ars Technica",
                Title               = "//h1",
                Subtitle            = "//article//h2",
                FirstPara           = "REPLACEME",
                Paragraphs          = "//main//article//p",
                Footer              = "",
                IntroImage          = "//article//figure//img/@src",
                Authors             = "//span[@itemprop='name']",
                PublishDate         = "//time",
                UpperDeck           = "//h4[@class='post-upperdek']",
                CommentCount        = "//span[@class='comment-count-number']",
                CommentsUrlFormat   = "{x}",
                PaginationUrlFormat = "{x}",
            };

            ArticleConfig anandConfig = new ArticleConfig()
            {
                NewsSource          = "AnandTech",
                Organization        = "AnandTech",
                Title               = "//h1",
                Subtitle            = "",
                FirstPara           = "",
                Paragraphs          = "//div[@class='articleContent']//p",
                Footer              = "",
                IntroImage          = "//div[@class='sidepadding review']//div[@style='']//img/@src",
                Authors             = "//a[@class='b']",
                PublishDate         = "//div[@class='blog_top_left']//em",
                UpperDeck           = "",
                CommentCount        = "//div[@class='blog_top_right show_resp2']/span/a",
                CommentsUrlFormat   = "{x}",
                PaginationUrlFormat = "{x}",
            };

            ArticleConfig registerConfig = new ArticleConfig()
            {
                NewsSource          = "The Register",
                Organization        = "The Register",
                Title               = "//h1",
                Subtitle            = "//h2",
                FirstPara           = "",
                Paragraphs          = "//div[@id='body']//p",
                Footer              = "",
                IntroImage          = "//div[@class='sidepadding review']//div[@style='']//img/@src",
                Authors             = "//a[@class='alt_colour dcl']",
                PublishDate         = "//span[@class='dateline']",
                UpperDeck           = "",
                CommentCount        = "//div[@class='comments_share']/a/span",
                CommentsUrlFormat   = "{x}",
                PaginationUrlFormat = "{x}",
            };

            ArticleConfig ajcConfig = new ArticleConfig()
            {
                NewsSource          = "AJC",
                Organization        = "AJC",
                Title               = "//h1",
                Subtitle            = "",
                FirstPara           = "",
                Paragraphs          = "//p",
                Footer              = "",
                IntroImage          = "//img/@src",
                Authors             = "//div[@class='names']/ul/li/names",
                PublishDate         = "//time/@data-timestamp",
                UpperDeck           = "",
                CommentCount        = "",
                CommentsUrlFormat   = "{x}",
                PaginationUrlFormat = "{x}",
            };

            ArticleConfig voxConfig = new ArticleConfig()
            {
                NewsSource          = "Vox",
                Organization        = "Vox",
                Title               = "//h1",
                Subtitle            = "//h2[@class='c-entry-summary p-dek']",
                FirstPara           = "REPLACEME",
                Paragraphs          = "//p",
                Footer              = "",
                IntroImage          = "",
                Authors             = "//span[@class='c-byline__item']",
                PublishDate         = "//time",
                UpperDeck           = "",
                CommentCount        = "",
                CommentsUrlFormat   = "{x}",
                PaginationUrlFormat = "{x}",
            };

            ArticleConfig tcConfig = new ArticleConfig()
            {
                NewsSource          = "TechCrunch",
                Organization        = "TechCrunch",
                Title               = "//h1",
                Subtitle            = "",
                FirstPara           = "",
                Paragraphs          = "//article//p",
                Footer              = "",
                IntroImage          = "//article//img/@src",
                Authors             = "//span[@itemprop='name']",
                PublishDate         = "//time",
                UpperDeck           = "//h4[@class='post-upperdek']",
                CommentCount        = "//span[@class='comment-count-number']",
                CommentsUrlFormat   = "{x}",
                PaginationUrlFormat = "{x}",
            };

            if (source == "Ars Technica")
            {
                return(Ok(arsConfig));
            }
            else if (source == "AnandTech")
            {
                return(Ok(anandConfig));
            }
            else if (source == "The Register")
            {
                return(Ok(registerConfig));
            }
            else if (source == "AJC")
            {
                return(Ok(ajcConfig));
            }
            else if (source == "Vox")
            {
                return(Ok(voxConfig));
            }
            else if (source == "TechCrunch")
            {
                return(Ok(tcConfig));
            }
            return(Ok(arsConfig));
        }