Example #1
0
        private int MonthlyScheduler()
        {
            using (var session = this.databaseService.Database.CreateSession())
            {
                this.logger.LogInformation("Begin");

                var scheduler = new AutomatedAgents(session).System;
                session.SetUser(scheduler);

                WorkTasks.BaseMonthly(session);

                var validation = session.Derive(false);

                if (validation.HasErrors)
                {
                    foreach (var error in validation.Errors)
                    {
                        this.logger.LogError("Validation error: {error}", error);
                    }

                    session.Rollback();
                }
                else
                {
                    session.Commit();
                }

                session.Derive();
                session.Commit();

                this.logger.LogInformation("End");
            }

            return(ExitCode.Success);
        }
Example #2
0
 private void Load()
 {
     WorkProjects.Load();
     WorkTasks.Load();
     Bills.Load();
     LoadLastBill();
 }
Example #3
0
 public void AddWorkTask(WorkTask workTask)
 {
     workTask.DateCreate = DateTime.Now;
     workTask.Id         = Guid.NewGuid();
     if (workTask.Files != null && workTask.Files.Count > 0)
     {
         foreach (var item in workTask.Files)
         {
             item.Id = Guid.NewGuid();
         }
     }
     if (workTask.Comments != null && workTask.Comments.Count > 0)
     {
         foreach (var item in workTask.Comments)
         {
             item.Id         = Guid.NewGuid();
             item.DateCreate = DateTime.Now;
         }
     }
     WorkTasks.Add(workTask);
     using (var db = new DB())
     {
         db.InsertWorkTask(workTask);
     }
 }
Example #4
0
        public void Save()
        {
            WorkProjects.Save();
            WorkTasks.Save();
            Bills.Save();
            WorkTimeRanges?.Save();

            if (Bill == null || !Bills.IsExist(Bill.Id))
            {
                LoadLastBill();
            }
        }
Example #5
0
 public void SetWilDone(object o)
 {
     if (SelectWorkTask != null)
     {
         SelectWorkTask.Statys = WorkTaskStatys.WillDone;
         using (var db = new DB())
         {
             db.UpdateWorkTask(SelectWorkTask);
         }
         WorkTasks.Remove(SelectWorkTask);
         SelectWorkTask = null;
         OnPropertyChanged("SelectWorkTask");
         OnPropertyChanged("GetText");
     }
 }
Example #6
0
        private int PrintWorkTask()
        {
            using (var session = this.databaseService.Database.CreateSession())
            {
                this.logger.LogInformation("Begin");

                var scheduler = new AutomatedAgents(session).System;
                session.SetUser(scheduler);

                var templateFilePath = "domain/templates/WorkTask.odt";
                var templateFileInfo = new FileInfo(templateFilePath);
                var prefix           = string.Empty;
                while (!templateFileInfo.Exists)
                {
                    prefix          += "../";
                    templateFileInfo = new FileInfo(prefix + templateFilePath);
                }

                var workTasks = new WorkTasks(session).Extent();
                var workTask  = workTasks.First(v => v.Name.Equals("maintenance"));
                var template  = workTask.TakenBy.WorkTaskTemplate;

                using (var memoryStream = new MemoryStream())
                    using (var fileStream = new FileStream(
                               templateFileInfo.FullName,
                               FileMode.Open,
                               FileAccess.Read,
                               FileShare.ReadWrite))
                    {
                        fileStream.CopyTo(memoryStream);
                        template.Media.InData = memoryStream.ToArray();
                    }

                session.Derive();

                var images = new Dictionary <string, byte[]> {
                    { "Logo", session.GetSingleton().LogoImage.MediaContent.Data },
                };

                if (workTask.ExistWorkEffortNumber)
                {
                    var barcodeService = session.ServiceProvider.GetRequiredService <IBarcodeService>();
                    var barcode        = barcodeService.Generate(workTask.WorkEffortNumber, BarcodeType.CODE_128, 320, 80);
                    images.Add("Barcode", barcode);
                }

                var printModel = new Allors.Domain.Print.WorkTaskModel.Model(workTask);
                workTask.RenderPrintDocument(template, printModel, images);

                session.Derive();

                var result = workTask.PrintDocument;

                var desktopDir = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                var outputFile = File.Create(Path.Combine(desktopDir, "workTask.odt"));
                using (var stream = new MemoryStream(result.Media.MediaContent.Data))
                {
                    stream.CopyTo(outputFile);
                }

                this.logger.LogInformation("End");
            }

            return(ExitCode.Success);
        }