public void Update(CaseTemplatePnDbContext dbContext) { CaseTemplate caseTemplate = dbContext.CaseTemplates.FirstOrDefault(x => x.Id == Id); if (caseTemplate == null) { throw new NullReferenceException($"Could not find Case Template with id {Id}"); } caseTemplate.Approvable = Approvable; caseTemplate.Body = Body; caseTemplate.Title = Title; caseTemplate.AlwaysShow = AlwaysShow; caseTemplate.EndAt = EndAt; caseTemplate.PdfTitle = PdfTitle; caseTemplate.StartAt = StartAt; caseTemplate.RetractIfApproved = RetractIfApproved; caseTemplate.DescriptionFolderId = DescriptionFolderId; if (dbContext.ChangeTracker.HasChanges()) { caseTemplate.Version += 1; caseTemplate.UpdatedAt = DateTime.Now; dbContext.CaseTemplateVersions.Add(MapVersions(dbContext, caseTemplate)); dbContext.SaveChanges(); } }
public void Delete(CaseTemplatePnDbContext dbContext) { CaseTemplate caseTemplate = dbContext.CaseTemplates.FirstOrDefault(x => x.Id == Id); if (caseTemplate == null) { throw new NullReferenceException($"Could not find Case Template with id {Id}"); } caseTemplate.WorkflowState = Constants.WorkflowStates.Removed; if (dbContext.ChangeTracker.HasChanges()) { caseTemplate.Version += 1; caseTemplate.UpdatedAt = DateTime.Now; dbContext.CaseTemplateVersions.Add(MapVersions(dbContext, caseTemplate)); dbContext.SaveChanges(); } }
public CaseTemplateVersion MapVersions(CaseTemplatePnDbContext dbContext, CaseTemplate caseTemplate) { CaseTemplateVersion caseTemplateVersion = new CaseTemplateVersion(); caseTemplateVersion.Approvable = caseTemplate.Approvable; caseTemplateVersion.Body = caseTemplate.Body; caseTemplateVersion.Title = caseTemplate.Title; caseTemplateVersion.AlwaysShow = caseTemplate.AlwaysShow; caseTemplateVersion.EndAt = caseTemplate.EndAt; caseTemplateVersion.PdfTitle = caseTemplate.PdfTitle; caseTemplateVersion.StartAt = caseTemplate.StartAt; caseTemplateVersion.RetractIfApproved = caseTemplate.RetractIfApproved; caseTemplateVersion.DescriptionFolderId = caseTemplate.DescriptionFolderId; caseTemplateVersion.Version = caseTemplate.Version; caseTemplateVersion.CreatedAt = caseTemplate.CreatedAt; caseTemplateVersion.UpdatedAt = caseTemplate.UpdatedAt; caseTemplateVersion.WorkflowState = caseTemplate.WorkflowState; caseTemplateVersion.CreatedByUserId = caseTemplate.CreatedByUserId; caseTemplateVersion.UpdatedByUserId = caseTemplate.UpdatedByUserId; caseTemplateVersion.CaseTemplateId = caseTemplate.Id; return(caseTemplateVersion); }