public async Task <OperationResult> Update(RentableItemModel rentableItemPnUpdateModel)
        {
            try
            {
                RentableItem rentableItem = await _dbContext.RentableItem.SingleOrDefaultAsync(x => x.Id == rentableItemPnUpdateModel.Id);

                if (rentableItem != null)
                {
                    rentableItem.Brand            = rentableItemPnUpdateModel.Brand;
                    rentableItem.ModelName        = rentableItemPnUpdateModel.ModelName;
                    rentableItem.RegistrationDate = rentableItemPnUpdateModel.RegistrationDate;
                    rentableItem.SerialNumber     = rentableItemPnUpdateModel.SerialNumber;
                    rentableItem.VinNumber        = rentableItemPnUpdateModel.VinNumber;
                    rentableItem.PlateNumber      = rentableItemPnUpdateModel.PlateNumber;
                    rentableItem.eFormId          = rentableItemPnUpdateModel.EFormId;

                    await rentableItem.Update(_dbContext);
                }
                return(new OperationDataResult <RentableItemsModel>(true,
                                                                    _rentableItemsLocalizationService.GetString("RentableItemUpdatedSuccessfully")));
            }
            catch (Exception e)
            {
                Trace.TraceError(e.Message);
                _logger.LogError(e.Message);
                return(new OperationDataResult <RentableItemsModel>(false,
                                                                    _rentableItemsLocalizationService.GetString("ErrorWhileUpdatingRentableItemInfo")));
            }
        }
Beispiel #2
0
        public async Task RentableItem_Update_DoesUpdate()
        {
            //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
            rentableItem.Brand            = Guid.NewGuid().ToString();
            rentableItem.ModelName        = Guid.NewGuid().ToString();
            rentableItem.VinNumber        = Guid.NewGuid().ToString();
            rentableItem.SerialNumber     = Guid.NewGuid().ToString();
            rentableItem.PlateNumber      = Guid.NewGuid().ToString();
            rentableItem.RegistrationDate = DateTime.Now.AddDays(1);

            await rentableItem.Update(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(rentableItem.WorkflowState, dbRentableItem.WorkflowState);
        }