public async Task <OperationResult> Delete(int id) { RentableItem rentableItem = await _dbContext.RentableItem.SingleOrDefaultAsync(x => x.Id == id); try { if (rentableItem != null) { await rentableItem.Delete(_dbContext); } return(new OperationDataResult <RentableItemsModel>(true)); } catch (Exception e) { Trace.TraceError(e.Message); _logger.LogError(e.Message); return(new OperationDataResult <RentableItemsModel>(true, _rentableItemsLocalizationService.GetString("ErrorWhileDeletingRentableItem"))); } }
public async Task RentableItem_Delete_DoesDelete() { //Arrange RentableItem rentableItem = new RentableItem { Brand = Guid.NewGuid().ToString(), ModelName = Guid.NewGuid().ToString(), VinNumber = Guid.NewGuid().ToString(), SerialNumber = Guid.NewGuid().ToString(), PlateNumber = Guid.NewGuid().ToString(), RegistrationDate = DateTime.Now }; await rentableItem.Create(DbContext); //Act await rentableItem.Delete(DbContext); RentableItem dbRentableItem = DbContext.RentableItem.AsNoTracking().First(); List <RentableItem> itemList = DbContext.RentableItem.AsNoTracking().ToList(); List <RentableItemVersion> versionList = DbContext.RentableItemsVersion.AsNoTracking().ToList(); // Assert Assert.NotNull(rentableItem); Assert.AreEqual(1, itemList.Count()); Assert.AreEqual(2, versionList.Count()); Assert.AreEqual(rentableItem.Brand, dbRentableItem.Brand); Assert.AreEqual(rentableItem.ModelName, dbRentableItem.ModelName); Assert.AreEqual(rentableItem.PlateNumber, dbRentableItem.PlateNumber); Assert.AreEqual(rentableItem.VinNumber, dbRentableItem.VinNumber); Assert.AreEqual(rentableItem.SerialNumber, dbRentableItem.SerialNumber); Assert.AreEqual(rentableItem.RegistrationDate.ToString(), dbRentableItem.RegistrationDate.ToString()); Assert.AreEqual(Constants.WorkflowStates.Removed, dbRentableItem.WorkflowState); }