Пример #1
0
        public HotelEditViewModel Update(HotelEditViewModel Hotel)
        {
            Hotel _Hotel = HotelRepo.Update(Hotel.toModel());

            if (Hotel.HotelImages != null && Hotel.HotelImages.Count() > 0)
            {
                var toAdd = Hotel.HotelImages.Where(i => i.ID == 0);
                foreach (var image in toAdd)
                {
                    ImagRepo.Add(image.toModel());
                }

                var toUpdate = Hotel.HotelImages.Where(i => i.ID > 0);
                foreach (var image in toUpdate)
                {
                    ImagRepo.Update(image.toModel());
                }

                int[] ids      = Hotel.HotelImages.Select(x => x.ID).ToArray();
                var   toDelete = ImagRepo.GetFilter(i => !ids.Contains(i.ID) && i.HotelID == Hotel.ID);
                foreach (var image in toDelete)
                {
                    ImagRepo.Remove(image);
                }
                //unitOfWork.commit();
            }
            unitOfWork.commit();
            return(_Hotel.toEditViewModel());
        }
Пример #2
0
        public HotelEditViewModel Update(HotelEditViewModel Hotel)
        {
            Hotel _Hotel = HotelRepo.Update(Hotel.toModel());

            unitOfWork.commit();
            return(_Hotel.toEditViewModel());
        }
Пример #3
0
        public ResultViewModels <HotelEditViewModel> EditHotel(HotelEditViewModel HotelEditView)
        {
            ResultViewModels <HotelEditViewModel> result
                = new ResultViewModels <HotelEditViewModel>();

            try
            {
                var hotelTemp = HotelService.Update(HotelEditView);
                if (hotelTemp == null)
                {
                    result.Successed = false;
                    result.Message   = "Data is empty";
                }
                else
                {
                    result.Successed = true;

                    result.Message = "Data Updated";
                    result.Data    = hotelTemp;
                }
            }
            catch (Exception ex)
            {
                result.Successed = false;
                result.Message   = "Something Went Wrong !!";
            }

            return(result);
        }
Пример #4
0
 private void OnAddButtonClicked()
 {
     HotelEditViewModel          = new HotelEditViewModel(Repository);
     HotelEditViewModel.Closing += () =>
     {
         HotelEditViewModel = null;
         ViewModelReturn();
     };
 }
        public void Update_ThrowExceptionIfOblastWithGivenIdDoNotExist()
        {
            var model = new HotelEditViewModel {
                SelectedOblastId = 1
            };
            Action testCode = () => this.hotelsService.Update(model);

            testCode.ShouldThrow <OblastNullException>();
        }
Пример #6
0
 private void OnEditButtonClicked()
 {
     HotelEditViewModel          = new HotelEditViewModel(Repository, SelectedHotel);
     HotelEditViewModel.Closing += () =>
     {
         HotelEditViewModel = null;
         ViewModelReturn();
     };
 }
        public IActionResult Edit(HotelEditViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(base.RedirectToAction("Edit", new { hotelId = model.Id }));
            }

            this.hotelsService.Update(model);

            return(base.RedirectToAction("Details", new { hotelId = model.Id }));
        }
Пример #8
0
        public async Task EditHotelAsync(HotelEditViewModel hotel)
        {
            Hotel originalHotel = GetHotel(hotel.Id);

            originalHotel.Latitude    = hotel.Latitude;
            originalHotel.Longitude   = hotel.Longitude;
            originalHotel.Name        = hotel.Name;
            originalHotel.Stars       = hotel.Stars;
            originalHotel.Description = hotel.Description;
            originalHotel.CityId      = hotel.CityId;
            _context.Hotels.Update(originalHotel);
            await _context.SaveChangesAsync();
        }
Пример #9
0
        public async Task <IActionResult> Edit(HotelEditViewModel hotel)
        {
            if (ModelState.IsValid)
            {
                await _portalService.EditHotelAsync(hotel);

                if (hotel.Images != null)
                {
                    await UploadImagesAsync(hotel.Images, hotel.Id);
                }

                return(RedirectToAction("Details", new { id = hotel.Id }));
            }
            return(View(hotel));
        }
Пример #10
0
        public HotelEditViewModel Add(HotelEditViewModel Hotel)
        {
            Hotel _Hotel = HotelRepo.Add(Hotel.toModel());

            unitOfWork.commit();
            if (Hotel.HotelImages != null && Hotel.HotelImages.Count() > 0)
            {
                foreach (var image in Hotel.HotelImages)
                {
                    image.HotelID = _Hotel.ID;
                    ImagRepo.Add(image.toModel());
                }
            }
            unitOfWork.commit();

            return(_Hotel.toEditViewModel());
        }
Пример #11
0
        public IActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            HotelEditViewModel hotelEditViewModel = _portalService.PrepareEditHotel(id);

            if (hotelEditViewModel == null)
            {
                return(NotFound());
            }

            ViewData["CityId"] = new SelectList(_portalService.Cities, "Id", "Name");
            ViewData["Stars"]  = new SelectList(new List <int> {
                1, 2, 3, 4, 5
            });
            ViewData["ImageIds"] = _portalService.GetHotelImageIds(id).ToList();
            return(View(hotelEditViewModel));
        }
Пример #12
0
        public void Update(HotelEditViewModel model)
        {
            if (!this.oblastsService.CheckExistById(model.SelectedOblastId))
            {
                throw new OblastNullException();
            }

            Hotel hotel = this.GetById(model.Id);

            hotel.Name        = model.Name;
            hotel.Description = model.Description;
            hotel.Stars       = model.Stars;
            hotel.Address     = model.Address;
            hotel.PhoneNumber = model.PhoneNumber;
            hotel.OblastId    = model.SelectedOblastId;

            if (model.Photo != null)
            {
                hotel.ImageUrl = this.imagesUploader.Upload(model.Photo, ImagesDirectory, ImagesFolderName);
            }

            this.dbContext.SaveChanges();
        }
        public void Update_DoNotChangeHotelPhotoIfDoNotHaveGivenPhoto()
        {
            int    oblastId = 1;
            int    hotelId  = 2;
            string imageUrl = "testImageUrl";

            this.dbContext.Oblasts.Add(new Oblast {
                Id = oblastId
            });
            this.dbContext.Hotels.Add(new Hotel {
                Id = hotelId, ImageUrl = imageUrl
            });
            this.dbContext.SaveChanges();

            var model = new HotelEditViewModel {
                Id = hotelId, SelectedOblastId = oblastId
            };

            this.hotelsService.Update(model);

            string result = this.dbContext.Hotels.First().ImageUrl;

            result.ShouldBe(imageUrl);
        }
Пример #14
0
        public HotelEditViewModel AddHotel(HotelEditViewModel HotelEditView)
        {
            var Hotel = HotelService.Add(HotelEditView);

            return(Hotel);
        }
        public void Update_UpdateGivenHotelCorrectly()
        {
            int hotelId = 3;

            this.dbContext.Hotels.Add(new Hotel {
                Id = hotelId
            });
            this.dbContext.SaveChanges();

            int oblastId = 1;

            this.dbContext.Oblasts.Add(new Oblast {
                Id = oblastId
            });
            this.dbContext.SaveChanges();

            string    address     = "testAddress";
            string    description = "testDescription";
            string    name        = "testName";
            string    phoneNumber = "testPhoneNumner";
            int       stars       = 1;
            IFormFile photo       = new Mock <IFormFile>().Object;

            var model = new HotelEditViewModel
            {
                Id               = hotelId,
                Address          = address,
                Description      = description,
                Name             = name,
                PhoneNumber      = phoneNumber,
                Stars            = stars,
                Photo            = photo,
                SelectedOblastId = oblastId,
            };

            string imageUrl             = "testUrl";
            string imagesDirectory      = "wwwroot/images/hotels/";
            string imagesFolderName     = "hotels";
            var    mockedImagesUploader = new Mock <ImagesUploader>(null);

            mockedImagesUploader
            .Setup(x => x.Upload(photo, imagesDirectory, imagesFolderName))
            .Returns(imageUrl);

            typeof(HotelsService)
            .GetFields(BindingFlags.NonPublic | BindingFlags.Instance)
            .First(x => x.FieldType == typeof(ImagesUploader))
            .SetValue(this.hotelsService, mockedImagesUploader.Object);

            this.hotelsService.Update(model);

            Hotel result = this.dbContext.Hotels.First();

            result.ShouldSatisfyAllConditions
            (
                () => result.Address.ShouldBe(address),
                () => result.Description.ShouldBe(description),
                () => result.Name.ShouldBe(name),
                () => result.PhoneNumber.ShouldBe(phoneNumber),
                () => result.Stars.ShouldBe(stars),
                () => result.OblastId.ShouldBe(oblastId),
                () => result.ImageUrl.ShouldBe(imageUrl)
            );
        }
Пример #16
0
        public HotelEditViewModel EditHotel(HotelEditViewModel HotelEditView)
        {
            var Hotel = HotelService.Update(HotelEditView);

            return(Hotel);
        }
Пример #17
0
 public void Remove(HotelEditViewModel Hotel)
 {
     HotelRepo.Remove(Hotel.toModel());
     unitOfWork.commit();
 }