public async Task Update(ItemsPlanningPnDbContext dbContext) { ItemCaseSite itemCaseSite = await dbContext.ItemCaseSites.FirstOrDefaultAsync(x => x.Id == Id); if (itemCaseSite == null) { throw new NullReferenceException($"Could not find item with id: {Id}"); } itemCaseSite.MicrotingSdkSiteId = MicrotingSdkSiteId; itemCaseSite.MicrotingSdkeFormId = MicrotingSdkeFormId; itemCaseSite.Status = Status; itemCaseSite.FieldStatus = FieldStatus; itemCaseSite.MicrotingSdkCaseId = MicrotingSdkCaseId; itemCaseSite.ItemId = ItemId; itemCaseSite.MicrotingSdkCaseDoneAt = MicrotingSdkCaseDoneAt; itemCaseSite.WorkflowState = WorkflowState; itemCaseSite.NumberOfImages = NumberOfImages; itemCaseSite.Comment = Comment; itemCaseSite.Location = Location; itemCaseSite.SdkFieldValue1 = SdkFieldValue1; itemCaseSite.SdkFieldValue2 = SdkFieldValue2; itemCaseSite.SdkFieldValue3 = SdkFieldValue3; itemCaseSite.SdkFieldValue4 = SdkFieldValue4; itemCaseSite.SdkFieldValue5 = SdkFieldValue5; itemCaseSite.SdkFieldValue6 = SdkFieldValue6; itemCaseSite.SdkFieldValue7 = SdkFieldValue7; itemCaseSite.SdkFieldValue8 = SdkFieldValue8; itemCaseSite.SdkFieldValue9 = SdkFieldValue9; itemCaseSite.SdkFieldValue10 = SdkFieldValue10; itemCaseSite.DoneByUserId = DoneByUserId; itemCaseSite.DoneByUserName = DoneByUserName; itemCaseSite.ItemCaseId = ItemCaseId; if (dbContext.ChangeTracker.HasChanges()) { itemCaseSite.UpdatedAt = DateTime.UtcNow; itemCaseSite.Version += 1; await dbContext.ItemCaseSiteVersions.AddAsync(MapVersion(itemCaseSite)); await dbContext.SaveChangesAsync(); } }
public async Task Delete(ItemsPlanningPnDbContext dbContext) { ItemCaseSite itemCaseSite = await dbContext.ItemCaseSites.FirstOrDefaultAsync(x => x.Id == Id); if (itemCaseSite == null) { throw new NullReferenceException($"Could not find item with id: {Id}"); } itemCaseSite.WorkflowState = Constants.WorkflowStates.Removed; if (dbContext.ChangeTracker.HasChanges()) { itemCaseSite.UpdatedAt = DateTime.UtcNow; itemCaseSite.Version += 1; await dbContext.ItemCaseSiteVersions.AddAsync(MapVersion(itemCaseSite)); await dbContext.SaveChangesAsync(); } }
private ItemCaseSiteVersion MapVersion(ItemCaseSite itemCaseSite) { ItemCaseSiteVersion itemCaseVersion = new ItemCaseSiteVersion { MicrotingSdkSiteId = itemCaseSite.MicrotingSdkSiteId, MicrotingSdkeFormId = itemCaseSite.MicrotingSdkeFormId, Status = itemCaseSite.Status, FieldStatus = itemCaseSite.FieldStatus, MicrotingSdkCaseId = itemCaseSite.MicrotingSdkCaseId, ItemId = itemCaseSite.ItemId, MicrotingSdkCaseDoneAt = itemCaseSite.MicrotingSdkCaseDoneAt, NumberOfImages = itemCaseSite.NumberOfImages, Comment = itemCaseSite.Comment, Location = itemCaseSite.Location, ItemCaseId = itemCaseSite.Id, Version = itemCaseSite.Version, CreatedAt = itemCaseSite.CreatedAt, CreatedByUserId = itemCaseSite.CreatedByUserId, UpdatedAt = itemCaseSite.UpdatedAt, UpdatedByUserId = itemCaseSite.UpdatedByUserId, WorkflowState = itemCaseSite.WorkflowState, SdkFieldValue1 = itemCaseSite.SdkFieldValue1, SdkFieldValue2 = itemCaseSite.SdkFieldValue2, SdkFieldValue3 = itemCaseSite.SdkFieldValue3, SdkFieldValue4 = itemCaseSite.SdkFieldValue4, SdkFieldValue5 = itemCaseSite.SdkFieldValue5, SdkFieldValue6 = itemCaseSite.SdkFieldValue6, SdkFieldValue7 = itemCaseSite.SdkFieldValue7, SdkFieldValue8 = itemCaseSite.SdkFieldValue8, SdkFieldValue9 = itemCaseSite.SdkFieldValue9, SdkFieldValue10 = itemCaseSite.SdkFieldValue10, DoneByUserId = itemCaseSite.DoneByUserId, DoneByUserName = itemCaseSite.DoneByUserName, ItemCaseSiteId = itemCaseSite.ItemCaseId }; return(itemCaseVersion); }