public async Task EditDestination(EditDestinationViewModel model) { byte[] file = null; if (model.Image.Length > 0) { using (var ms = new MemoryStream()) { model.Image.CopyTo(ms); file = ms.ToArray(); } } var destination = this.destRepository.All().FirstOrDefault(x => x.Id == model.Id); if (destination != null) { destination.Image = file; destination.Level = model.Level; destination.StartDate = model.StartDate; destination.EndDate = model.EndDate; destination.EndDateToJoin = model.EndDateToJoin; destination.Naame = model.Naame; destination.Description = model.Description; await this.destRepository.SaveChangesAsync(); } }
public async Task EditDestination_ShouldEditDestinationCorrectly() { var destRepoBuilder = new DestinationsRepositoryBuilder(); var destRepo = destRepoBuilder .WithAll() .Build(); var sut = new DestinationService(destRepo, null, null, null, null, null, null, Mapper); var editDestinationViewModel = new EditDestinationViewModel { Id = "2", Image = SetupFileMock().Object, Description = "nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", Level = (LevelOfDifficulty)2, Naame = "Niki", StartDate = DateTime.Now.AddDays(3), EndDateToJoin = DateTime.Now.AddDays(1), EndDate = DateTime.Now.AddDays(5) }; await sut.EditDestination(editDestinationViewModel); var newdest = destRepo.All().FirstOrDefault(x => x.Id == "2"); var actual = Mapper.Map <EditDestinationViewModel>(newdest); Assert.Equal(editDestinationViewModel, actual, new EditDestinationViewModelComparer()); }
public IActionResult Edit(EditDestinationViewModel viewModel) { if (ModelState.IsValid) { Destination destination = context.Destinations.Find(viewModel.Id); destination.Name = viewModel.Name; destination.Street = viewModel.Street; destination.City = viewModel.City; destination.State = viewModel.State; destination.Zipcode = viewModel.Zipcode; destination.Description = viewModel.Description; destination.Website = viewModel.Website; destination.OutdoorSeating = viewModel.OutdoorSeating; destination.BikeRacks = viewModel.BikeRacks; destination.Restrooms = viewModel.Restrooms; destination.Playground = viewModel.Playground; destination.CategoryId = viewModel.CategoryId; destination.TrailId = viewModel.TrailId; if (viewModel.Image != null) { string uniqueFileName = NewUploadedFile(viewModel); destination.Image = uniqueFileName; } else { destination.Image = destination.Image; } } context.SaveChanges(); return(Redirect("/Destination/Detail/" + viewModel.Id)); }
public IActionResult Edit(int id) { Destination d = context.Destinations.Find(id); List <DestinationCategory> dc = context.DestinationCategories.ToList(); List <Trail> t = context.Trails.ToList(); EditDestinationViewModel viewModel = new EditDestinationViewModel(d, dc, t); return(View(viewModel)); }
public async Task <ActionResult> SaveDestinationAsync(EditDestinationViewModel model) { _CheckForAdminAccess(); if (model != null) { await AdminUtility.SaveDestination(model.DbObject); } return(RedirectToAction("EditDestination", new { @id = model.DbObject.Id })); }
public async Task <IActionResult> Edit(EditDestinationViewModel model) { if (!ModelState.IsValid) { return(this.View(model)); } await this.destinationService.EditDestination(model); return(Redirect($"/Destinations/Details/{model.Id}")); }
public ActionResult EditDestination(int id) { _CheckForAdminAccess(); var context = new TravelogyDevEntities1(); var _model = new EditDestinationViewModel { DbObject = context.Destinations.Find(id), SubDestinations = context.SubDestinations.Where(p => p.DestinationId == id), Interests = context.DestinationInterests.Where(p => p.DestinationId == id), Activities = context.DestinationActivities.Where(p => p.DestinationId == id), CostObjects = context.DestinationCosts.Where(p => p.DestinationId == id) }; return(View(_model)); }
private string NewUploadedFile(EditDestinationViewModel model) { string uniqueFileName = null; if (model.Image != null) { string uploadsFolder = Path.Combine(webHostEnvironment.WebRootPath, "images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Image.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { model.Image.CopyTo(fileStream); } } return(uniqueFileName); }