Пример #1
0
        /// <summary>
        /// 计算SQL语句开始和结束时间
        /// </summary>
        public void SqlQueryTimeStragety_Test()
        {
            ISqlQueryTime        service = AutoFacContainer.ResolveNamed <ISqlQueryTime>(typeof(MonthSqlQueryTime).Name);
            SqlQueryTimeStragety bll     = new SqlQueryTimeStragety(service);

            Console.WriteLine($"ISqlQueryTime月开始时间:{bll.GetStartTime(DateTime.Now)}-结束时间:{bll.GetEndTime(DateTime.Now)}");

            service = AutoFacContainer.ResolveNamed <ISqlQueryTime>(typeof(WeekSqlQueryTime).Name);
            bll     = new SqlQueryTimeStragety(service);
            Console.WriteLine($"ISqlQueryTime周开始时间:{bll.GetStartTime(DateTime.Now)}-结束时间:{bll.GetEndTime(DateTime.Now)}");

            service = AutoFacContainer.ResolveNamed <ISqlQueryTime>(typeof(DaySqlQueryTime).Name);
            bll     = new SqlQueryTimeStragety(service);
            Console.WriteLine($"ISqlQueryTime日开始时间:{bll.GetStartTime(DateTime.Now)}-结束时间:{bll.GetEndTime(DateTime.Now)}");
        }
Пример #2
0
        public override void BuildDbFile()
        {
            Action <TaskEntity> action = t8Task =>
            {
                try
                {
                    BuildInstanceObject buildInstanceService = new BuildInstanceObject();
                    //1得到数据库文件路径
                    AFileName     fileNameStragety     = buildInstanceService.GetGenerateFileNameStragety(3);
                    ISqlQueryTime SqlQueryTimeStragety = buildInstanceService.GetSqlQueryTimeStragety(t8Task.CycleType);

                    FileInfoEntity fileInfoEntity = new FileInfoEntity();
                    fileInfoEntity.NormalFileName = fileNameStragety.FileName(t8Task);
                    fileInfoEntity.NormalFilePath = fileNameStragety.FileFullName(t8Task);
                    fileInfoEntity.SqlStartTime   = SqlQueryTimeStragety.StartTime(DateTime.Now);
                    fileInfoEntity.SqlEndTime     = SqlQueryTimeStragety.EndTime(DateTime.Now);

                    t8Task.FileInfo = fileInfoEntity;

                    //2创建数据库文件并添加数据
                    IDataHandler handler = DataHandlerFactory.GetHandler(t8Task.DataHandler);
                    handler.DBConnectStr = Common.DecryptData(t8Task.DBConnectString_Hashed);
                    string sql       = t8Task.SQL;
                    bool   isSuccess = handler.OutputDataToSQLite(sql, fileInfoEntity.SqlStartTime, fileInfoEntity.SqlEndTime, fileInfoEntity.NormalFilePath);
                    Thread.Sleep(300);
                    if (!isSuccess)
                    {
                        LogUtil.WriteLog($"从数据库向数据文件[{fileInfoEntity.NormalFilePath}]导入数据出现错误");
                        throw new Exception($"从数据库向数据文件[{fileInfoEntity.NormalFilePath}]导入数据出现错误");
                    }

                    LogUtil.WriteLog($"数据文件[{fileInfoEntity.NormalFilePath}]创建并添加数据完成");
                }
                catch (Exception ex)
                {
                    LogUtil.WriteLog(ex);
                    throw new Exception(ex.Message);
                }
            };

            product.AddPart(action);
        }
Пример #3
0
        /// <summary>
        /// 获取SQL查询条件开始和结束时间
        /// </summary>
        /// <param name="dateType"></param>
        /// <returns></returns>
        public virtual SqlQueryTimeStragety GetSqlQueryTimeStragety(DateType dateType)
        {
            ISqlQueryTime sqlQueryTime = null;

            switch (dateType)
            {
            case DateType.Month:
                sqlQueryTime = AutoFacContainer.ResolveNamed <ISqlQueryTime>(typeof(MonthSqlQueryTime).Name);
                break;

            case DateType.Week:
                sqlQueryTime = AutoFacContainer.ResolveNamed <ISqlQueryTime>(typeof(WeekSqlQueryTime).Name);
                break;

            case DateType.Day:
                sqlQueryTime = AutoFacContainer.ResolveNamed <ISqlQueryTime>(typeof(DaySqlQueryTime).Name);
                break;
            }
            SqlQueryTimeStragety service = new SqlQueryTimeStragety(sqlQueryTime);

            return(service);
        }
        /// <summary>
        /// 获取SQL查询条件开始和结束时间
        /// </summary>
        /// <param name="cycleType"></param>
        /// <returns></returns>
        public virtual ISqlQueryTime GetSqlQueryTimeStragety(CycleTypes cycleType)
        {
            ISqlQueryTime sqlQueryTime = null;

            switch (cycleType)
            {
            case  CycleTypes.M:
                sqlQueryTime = AutoFacContainer.ResolveNamed <ISqlQueryTime>(typeof(MonthSqlQueryTime).Name);
                break;

            case  CycleTypes.W:
                sqlQueryTime = AutoFacContainer.ResolveNamed <ISqlQueryTime>(typeof(WeekSqlQueryTime).Name);
                break;

            case  CycleTypes.D:
                sqlQueryTime = AutoFacContainer.ResolveNamed <ISqlQueryTime>(typeof(DaySqlQueryTime).Name);
                break;

            default:
                throw new ArgumentNullException("GetSqlQueryTimeStragety()方法,参数cycleType为空");
            }

            return(sqlQueryTime);
        }
Пример #5
0
 public SqlQueryTimeStragety(ISqlQueryTime sqlQueryTime)
 {
     this.sqlQueryTime = sqlQueryTime;
 }