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); }
private void Load() { WorkProjects.Load(); WorkTasks.Load(); Bills.Load(); LoadLastBill(); }
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); } }
public void Save() { WorkProjects.Save(); WorkTasks.Save(); Bills.Save(); WorkTimeRanges?.Save(); if (Bill == null || !Bills.IsExist(Bill.Id)) { LoadLastBill(); } }
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"); } }
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); }