public CaseTemplateSiteVersion MapVersions(CaseTemplatePnDbContext dbContext, CaseTemplateSite caseTemplateSite) { CaseTemplateSiteVersion caseTemplateSiteVersion = new CaseTemplateSiteVersion(); caseTemplateSiteVersion.CaseTemplateId = caseTemplateSite.CaseTemplateId; caseTemplateSiteVersion.SdkSiteId = caseTemplateSite.SdkSiteId; caseTemplateSiteVersion.SdkCaseId = caseTemplateSite.SdkCaseId; caseTemplateSiteVersion.Version = caseTemplateSite.Version; caseTemplateSiteVersion.CreatedAt = caseTemplateSite.CreatedAt; caseTemplateSiteVersion.UpdatedAt = caseTemplateSite.UpdatedAt; caseTemplateSiteVersion.CreatedByUserId = caseTemplateSite.CreatedByUserId; caseTemplateSiteVersion.UpdatedByUserId = caseTemplateSite.UpdatedByUserId; caseTemplateSiteVersion.WorkflowState = caseTemplateSite.WorkflowState; caseTemplateSiteVersion.CaseTemplateSiteId = caseTemplateSite.Id; return(caseTemplateSiteVersion); }
public void Delete(CaseTemplatePnDbContext dbContext) { CaseTemplateSite caseTemplateSite = dbContext.CaseTemplateSites.FirstOrDefault(x => x.Id == Id); if (caseTemplateSite == null) { throw new NullReferenceException($"Could not find Case Template Site with id: {Id}"); } caseTemplateSite.WorkflowState = Constants.WorkflowStates.Removed; if (dbContext.ChangeTracker.HasChanges()) { caseTemplateSite.UpdatedAt = DateTime.Now; caseTemplateSite.Version += 1; dbContext.CaseTemplateSiteVersions.Add(MapVersions(dbContext, caseTemplateSite)); dbContext.SaveChanges(); } }