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")));
            }
        }
示例#2
0
        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);
        }