public CaseTemplateSiteTagVersion MapVersions(CaseTemplatePnDbContext dbContext, CaseTemplateSiteTag caseTemplateSiteTag) { CaseTemplateSiteTagVersion caseTemplateSiteTagVersion = new CaseTemplateSiteTagVersion(); caseTemplateSiteTagVersion.CaseTemplateId = caseTemplateSiteTag.CaseTemplateId; caseTemplateSiteTagVersion.SdkSiteTagId = caseTemplateSiteTag.SdkSiteTagId; caseTemplateSiteTagVersion.CreatedAt = caseTemplateSiteTag.CreatedAt; caseTemplateSiteTagVersion.UpdatedAt = caseTemplateSiteTag.UpdatedAt; caseTemplateSiteTagVersion.CreatedByUserId = caseTemplateSiteTag.CreatedByUserId; caseTemplateSiteTagVersion.UpdatedByUserId = caseTemplateSiteTag.UpdatedByUserId; caseTemplateSiteTagVersion.Version = caseTemplateSiteTag.Version; caseTemplateSiteTagVersion.WorkflowState = caseTemplateSiteTag.WorkflowState; caseTemplateSiteTagVersion.CaseTemplateSiteTagId = caseTemplateSiteTag.Id; return(caseTemplateSiteTagVersion); }
public void Delete(CaseTemplatePnDbContext dbContext) { CaseTemplateSiteTag caseTemplateSiteTag = dbContext.CaseTemplateSiteTags.FirstOrDefault(x => x.Id == Id); if (caseTemplateSiteTag == null) { throw new NullReferenceException($"Could not find case template site group with id: {Id}"); } caseTemplateSiteTag.WorkflowState = Constants.WorkflowStates.Removed; if (dbContext.ChangeTracker.HasChanges()) { caseTemplateSiteTag.UpdatedAt = DateTime.Now; caseTemplateSiteTag.Version += 1; dbContext.CaseTemplateSiteTagVersions.Add(MapVersions(dbContext, caseTemplateSiteTag)); dbContext.SaveChanges(); } }