public async Task Update(eFormRentableItemPnDbContext dbContext) { RentableItem rentableItem = await dbContext.RentableItem.FirstOrDefaultAsync(x => x.Id == Id); if (rentableItem == null) { throw new NullReferenceException($"Could not find RentableItem with id {Id}"); } rentableItem.Brand = Brand; rentableItem.ModelName = ModelName; rentableItem.RegistrationDate = RegistrationDate; rentableItem.VinNumber = VinNumber; rentableItem.SerialNumber = SerialNumber; rentableItem.PlateNumber = PlateNumber; rentableItem.eFormId = eFormId; if (dbContext.ChangeTracker.HasChanges()) { rentableItem.UpdatedAt = DateTime.Now; rentableItem.UpdatedByUserId = UpdatedByUserId; rentableItem.Version += 1; await dbContext.RentableItemsVersion.AddAsync(MapVersion(rentableItem)); await dbContext.SaveChangesAsync(); } }
public async Task Delete(eFormRentableItemPnDbContext dbContext) { RentableItem rentableItem = await dbContext.RentableItem.FirstOrDefaultAsync(x => x.Id == Id); if (rentableItem == null) { throw new NullReferenceException($"Could not find RentableItem with id {Id}"); } rentableItem.WorkflowState = Constants.WorkflowStates.Removed; if (dbContext.ChangeTracker.HasChanges()) { rentableItem.UpdatedAt = DateTime.Now; rentableItem.UpdatedByUserId = UpdatedByUserId; rentableItem.Version += 1; await dbContext.RentableItemsVersion.AddAsync(MapVersion(rentableItem)); await dbContext.SaveChangesAsync(); } }
private RentableItemVersion MapVersion(RentableItem rentableItem) { RentableItemVersion rentableItemVersion = new RentableItemVersion { Brand = rentableItem.Brand, ModelName = rentableItem.ModelName, RegistrationDate = rentableItem.RegistrationDate, VinNumber = rentableItem.VinNumber, SerialNumber = rentableItem.SerialNumber, PlateNumber = rentableItem.PlateNumber, CreatedAt = rentableItem.CreatedAt, CreatedByUserId = rentableItem.CreatedByUserId, UpdatedAt = rentableItem.UpdatedAt, UpdatedByUserId = rentableItem.UpdatedByUserId, Version = rentableItem.Version, WorkflowState = rentableItem.WorkflowState, RentableItemId = rentableItem.Id, eFormID = rentableItem.eFormId }; return(rentableItemVersion); }