示例#1
0
        public void Test1()
        {
            CAbstract cAbstract = AutoFacContainer.Resolve <CAbstract>();
            string    d00       = cAbstract.Do();
            string    d01       = cAbstract.Rule.Validate();

            IAutoService autoService = AutoFacContainer.Resolve <IAutoService>();
            string       b00         = autoService.ShowAuto();

            ATest  atest = AutoFacContainer.Resolve <ATest>();
            string c00   = atest.title();

            var    service = AutoFacContainer.Resolve <IService>();
            string add     = service.Do();
            var    add01   = AutoFacContainer.ResolveNamed <IService>(typeof(FirstModel).Name);
            var    add02   = AutoFacContainer.ResolveNamed <IService>(typeof(FirstModel2).Name);


            ISecondService service2 = AutoFacContainer.Resolve <ISecondService>();
            string         add2     = service2.SecondDo();
            string         add22    = service2.Do();

            ThirdModel service3 = AutoFacContainer.Resolve <ThirdModel>();
            string     add3     = service3.Do();
        }
        /// <summary>
        /// 生成文件名
        /// </summary>
        private void GenerateFileNameStragety_Test(T8FileEntity t8FileEntity)
        {
            AFileName service = AutoFacContainer.ResolveNamed <AFileName>(typeof(GeneralFileName).Name);
            GenerateFileNameStragety stragety = new GenerateFileNameStragety(service);

            Console.WriteLine($"AFileName一般文件名{stragety.FileName(t8FileEntity)},全路径:{stragety.FileFullName(t8FileEntity)}");
        }
        /// <summary>
        /// 计算定时任务开始和结束时间
        /// </summary>
        public void TimingQueryTimeStragety_Test()
        {
            ITimingQueryTime        service = AutoFacContainer.ResolveNamed <ITimingQueryTime>(typeof(MonthTimingQueryTime).Name);
            TimingQueryTimeStragety bll     = new TimingQueryTimeStragety(service);

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

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

            service = AutoFacContainer.ResolveNamed <ITimingQueryTime>(typeof(DayTimingQueryTime).Name);
            bll     = new TimingQueryTimeStragety(service);
            Console.WriteLine($"ITimingQueryTime日开始时间:{bll.GetStartTime(DateTime.Now)}-结束时间:{bll.GetEndTime(DateTime.Now)}");
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(textBox1.Text))
            {
                MessageBox.Show("文件路径不能为空");
                return;
            }

            TaskEntity taskEntity = new TaskEntity();

            taskEntity.FileInfo = new FileInfoEntity();
            taskEntity.FileInfo.NormalFilePath = textBox1.Text;

            AFileName comperessFileName = AutoFacContainer.ResolveNamed <AFileName>(typeof(CompressFileName).Name);
            string    fileNamePath      = comperessFileName.FileFullName(taskEntity);

            textBox4.Text = fileNamePath;
            textBox2.Text = comperessFileName.FileName(taskEntity).Replace(".zip", "");
        }
        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);
        }
示例#6
0
        /// <summary>
        /// 获取定时循环开始和结束时间
        /// </summary>
        /// <param name="dateType"></param>
        /// <returns></returns>
        public virtual TimingQueryTimeStragety GetTimingQueryTimeStragety(DateType dateType)
        {
            ITimingQueryTime service = null;

            switch (dateType)
            {
            case DateType.Month:
                service = AutoFacContainer.ResolveNamed <ITimingQueryTime>(typeof(MonthTimingQueryTime).Name);
                break;

            case DateType.Week:
                service = AutoFacContainer.ResolveNamed <ITimingQueryTime>(typeof(WeekTimingQueryTime).Name);
                break;

            default:
                service = AutoFacContainer.ResolveNamed <ITimingQueryTime>(typeof(DayTimingQueryTime).Name);
                break;
            }

            return(new TimingQueryTimeStragety(service));
        }
示例#7
0
        /// <summary>
        /// 获取文件名信息 1一般文件 2压缩文件 3上传备份文件
        /// </summary>
        /// <param name="type">1一般文件 2压缩文件 3上传备份文件</param>
        /// <returns></returns>
        public virtual GenerateFileNameStragety GetGenerateFileNameStragety(int type)
        {
            AFileName aFileName = null;

            switch (type)
            {
            case 1:
                aFileName = AutoFacContainer.ResolveNamed <AFileName>(typeof(GeneralFileName).Name);
                break;

            case 2:
                aFileName = AutoFacContainer.ResolveNamed <AFileName>(typeof(CompressFileName).Name);
                break;

            case 3:
                aFileName = AutoFacContainer.ResolveNamed <AFileName>(typeof(UploadBackFileName).Name);
                break;
            }
            GenerateFileNameStragety service = new GenerateFileNameStragety(aFileName);

            return(service);
        }
示例#8
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>
        /// 构建T8任务
        /// </summary>
        private void BuildServiceTask(T8ConfigItemEntity t8ConfigItem, CancellationToken ct)
        {
            try
            {
                ct.ThrowIfCancellationRequested();

                ACreateTask  createTaskService = AutoFacContainer.ResolveNamed <ACreateTask>(typeof(ServiceCreateTask).Name);
                T8TaskEntity t8Task            = createTaskService.CreateTask();
                if (t8Task != null)
                {
                    //获取文件名
                    AFileName aFileNameService = AutoFacContainer.ResolveNamed <AFileName>(typeof(GeneralFileName).Name);
                    t8Task.T8FileEntity.GeneralFileInfo = new T8FileInfoEntity
                    {
                        FileName = aFileNameService.FileName(t8Task.T8FileEntity),
                        FilePath = aFileNameService.FileFullName(t8Task.T8FileEntity)
                    };

                    T8TaskEntity taskEntityQueueItem;
                    if (Completed_TaskQueue.TryGetValue(t8Task.GenerateTaskQueueKey, out taskEntityQueueItem))
                    {
                        return;
                    }

                    if (Processing_TaskQueue.TryGetValue(t8Task.GenerateTaskQueueKey, out taskEntityQueueItem))
                    {
                        return;
                    }

                    if (Error_TaskQueue.TryGetValue(t8Task.GenerateTaskQueueKey, out taskEntityQueueItem))
                    {
                        return;
                    }

                    //添加到执行中队列
                    if (!Common.AddTaskToQueue(Processing_TaskQueue, t8Task, TaskQueueType.Processing))
                    {
                        LogUtil.WriteLog($"任务队列[{t8Task.TaskTitle}]添加失败");

                        Common.SetTaskErrorStatus(t8Task, "添加Processing_TaskQueue失败");
                        Common.AddTaskToQueue(Error_TaskQueue, t8Task, TaskQueueType.Error);
                        return;
                    }

                    //构造数据文件产品并执行
                    DbFileProductDirector director       = new DbFileProductDirector();
                    ADbFileProductBuilder productBuilder = new DbFileProductBuilder();
                    director.ConstructProduct(productBuilder);
                    DbFileProduct product = productBuilder.GetDbFileProduct();
                    product.Execute(t8Task, cts.Token);

                    //任务结束 1从Processing_TaskQueue队列移走 2任务完成,移入Completed_TaskQueue队列 3任务失败,移入
                    if (Common.RemoveTaskFromQueue(Processing_TaskQueue, t8Task, TaskQueueType.Processing))
                    {
                        if (t8Task.T8TaskStatus == T8TaskStatus.Complete)
                        {
                            Common.AddTaskToQueue(Completed_TaskQueue, t8Task, TaskQueueType.Completed);
                            LogUtil.WriteLog($"T8任务[{t8Task.TaskTitle}]执行完成,转移到Completed_TaskQueue队列");
                        }
                        else
                        {
                            Common.AddTaskToQueue(Error_TaskQueue, t8Task, TaskQueueType.Error);
                            LogUtil.WriteLog($"T8任务[{t8Task.TaskTitle}]执行失败,转移到Error_TaskQueue队列,等待下次重试");
                        }
                    }
                }
                else
                {
                    LogUtil.WriteLog("创建任务实体失败");
                }
            }
            catch (Exception ex)
            {
                LogUtil.WriteLog(ex);
            }
        }