/// <summary>
 /// 添加T8配置
 /// </summary>
 /// <param name="t8ConfigEntity"></param>
 /// <returns></returns>
 public static bool AddT8Config(T8ConfigEntity t8ConfigEntity)
 {
     T8Config = t8ConfigEntity;
     if (SerializableHelper <T8ConfigEntity> .BinarySerializeFile(_T8ConfigFilePath, T8Config))
     {
         _T8ConfigItemDic = new ConcurrentDictionary <string, T8ConfigItemEntity>();
         return(true);
     }
     return(false);
 }
        /// <summary>
        /// t8配置类映射t8文件类
        /// </summary>
        public void T8ConfigMapperT8FileEntity_Test()
        {
            T8ConfigEntity t8Config     = T8ConfigHelper.T8Config;
            T8FileEntity   t8FileEntity = Mapper.Map <T8FileEntity>(t8Config);

            T8ConfigItemContainer container;

            t8Config.T8ItemContainerDic.TryGetValue(DateType.Month, out container);
            T8FileEntity t8FileEntity2  = Mapper.Map <T8FileEntity>(container.T8ConfigItemSale);
            T8FileEntity t8FileEntity22 = Mapper.Map <T8FileEntity>(container.T8ConfigITemOnShelf);
        }
        private static void InitT8Config()
        {
            _T8ConfigFilePath = Path.Combine(Directory.GetCurrentDirectory(), "T8.config");
            T8Config          = SerializableHelper <T8ConfigEntity> .BinaryDeserialize(_T8ConfigFilePath);

            if (T8Config != null)
            {
                _T8ItemContainerDic = T8Config.T8ItemContainerDic;
                InitT8ConfigItems();
            }
            else
            {
                T8Config         = new T8ConfigEntity();
                _T8ConfigItemDic = new ConcurrentDictionary <string, T8ConfigItemEntity>();
            }
        }
        public void CreateTaskEntity_Test()
        {
            T8ConfigEntity t8Config     = T8ConfigHelper.T8Config;
            T8FileEntity   t8FileEntity = Mapper.Map <T8FileEntity>(t8Config);

            T8ConfigItemContainer container;

            t8Config.T8ItemContainerDic.TryGetValue(DateType.Month, out container);

            ACreateTask service = AutoFacContainer.ResolveNamed <ACreateTask>(typeof(ServiceCreateTask).Name);

            service.InitData(container.T8ConfigItemSale, t8Config);
            T8TaskEntity t8TaskEntity = service.CreateTask();

            this.GenerateFileNameStragety_Test(t8TaskEntity.T8FileEntity);

            service.InitData(container.T8ConfigITemOnShelf, t8Config);
            t8TaskEntity = service.CreateTask();
            this.GenerateFileNameStragety_Test(t8TaskEntity.T8FileEntity);
        }
        //public UserCreateTask(T8ConfigItemEntity t8ConfigItem, T8ConfigEntity t8ConfigEntity) : base(t8ConfigItem, t8ConfigEntity)
        //{
        //}

        public override void InitData(T8ConfigItemEntity t8ConfigItem, T8ConfigEntity t8ConfigEntity)
        {
            base._T8ConfigEntity     = t8ConfigEntity;
            base._T8ConfigItemEntity = t8ConfigItem;
        }
 /// <summary>
 /// 设置初始化数据
 /// </summary>
 /// <param name="t8ConfigItem"></param>
 /// <param name="t8ConfigEntity"></param>
 public abstract void InitData(T8ConfigItemEntity t8ConfigItem, T8ConfigEntity t8ConfigEntity);
        public void CreateConfig(bool isNewCreate)
        {
            if (isNewCreate)
            {
                T8ConfigEntity t8ConfigEntity = T8ConfigHelper.T8Config;
                t8ConfigEntity.PosType    = PosType.自定义;
                t8ConfigEntity.DbFileType = DbFileType.SQLite;

                t8ConfigEntity.T8ItemContainerDic = new ConcurrentDictionary <DateType, T8ConfigItemContainer>();

                t8ConfigEntity.FtpInfo = new FtpInfoEntity
                {
                    ServerAddress   = "ftp://openbook.cn",
                    UserName        = "******",
                    UserPassword    = "******",
                    ServerDirectory = "upload"
                };
                t8ConfigEntity.DataBaseInfo = new DataBaseInfoEntity
                {
                    DataBaseTitle = "Sql Server数据库",
                    ServerName    = "192.168.0.14",
                    DataBaseName  = "T8DataTest",
                    UserName      = "******",
                    UserPassword  = "******",
                    DataBaseType  = DatabaseType.SqlServer
                };


                T8ConfigItemEntity t8ConfigItem = new T8ConfigItemEntity
                {
                    DateType  = DateType.Month,
                    DataType  = DataType.SaleData,
                    SqlString = "select ISBN AS '书号',Title '书名',PublishName '出版社',Price '定价',KindName '分类',SalesCount '销量',Author '作者',SalesDateTime '销售时间',StoreID '仓号' FROM T8_BookInfo where SalesDateTime >= @StartTime and SalesDateTime <= @EndTime ",
                };

                T8ConfigItemEntity t8ConfigItemOnSale = new T8ConfigItemEntity
                {
                    DateType  = DateType.Month,
                    DataType  = DataType.OnShelfData,
                    SqlString = "select ISBN AS '书号',Title '书名',PublishName '出版社',Price '定价',KindName '分类',SalesCount '销量',Author '作者',SalesDateTime '销售时间',StoreID '仓号' FROM T8_BookInfo where SalesDateTime >= @StartTime and SalesDateTime <= @EndTime ",
                };

                T8ConfigItemContainer container = new T8ConfigItemContainer();
                container.T8ConfigItemSale    = t8ConfigItem;
                container.T8ConfigITemOnShelf = t8ConfigItemOnSale;

                t8ConfigEntity.T8ItemContainerDic.TryAdd(DateType.Month, container);

                t8ConfigItem = new T8ConfigItemEntity
                {
                    DateType  = DateType.Week,
                    DataType  = DataType.SaleData,
                    SqlString = "select ISBN AS '书号',Title '书名',PublishName '出版社',Price '定价',KindName '分类',SalesCount '销量',Author '作者',SalesDateTime '销售时间',StoreID '仓号' FROM T8_BookInfo where SalesDateTime >= @StartTime and SalesDateTime <= @EndTime ",
                };

                t8ConfigItemOnSale = new T8ConfigItemEntity
                {
                    DateType  = DateType.Week,
                    DataType  = DataType.OnShelfData,
                    SqlString = "select ISBN AS '书号',Title '书名',PublishName '出版社',Price '定价',KindName '分类',SalesCount '销量',Author '作者',SalesDateTime '销售时间',StoreID '仓号' FROM T8_BookInfo where SalesDateTime >= @StartTime and SalesDateTime <= @EndTime ",
                };

                container = new T8ConfigItemContainer();
                container.T8ConfigItemSale    = t8ConfigItem;
                container.T8ConfigITemOnShelf = t8ConfigItemOnSale;

                t8ConfigEntity.T8ItemContainerDic.TryAdd(DateType.Week, container);

                T8ConfigHelper.AddT8Config(t8ConfigEntity);
            }
        }