public async Task <IActionResult> Edit(int id, EditHikekInputModel input) { if (!this.ModelState.IsValid) { input.CategoriesItems = this.categoriesService.GetAllHikeCategotiesAsKeyValuePairs(); input.RegionsItems = this.regionsService.GetAllAsKeyValuePairs(); input.MountainsItems = this.mountainsService.GetAllAsKeyValuePairs(); return(this.View(input)); } await this.hikesService.UpdateAsync(id, input); return(this.RedirectToAction(nameof(this.ById), new { id })); }
public async Task UpdateAsync(int id, EditHikekInputModel input) { var hike = this.hikesRepository.All().FirstOrDefault(x => x.Id == id); hike.Name = input.Name; hike.Length = input.Length; hike.Duration = TimeSpan.FromMinutes(input.Duration); hike.Description = input.Description; hike.Marking = input.Marking; hike.Difficulty = input.Difficulty; hike.CategoryId = input.CategoryId; hike.RegionId = input.RegionId; hike.MountainId = input.RegionId; hike.HikeStartPointId = input.HikeStartPointId; hike.HikeEndPointId = input.HikeEndPointId; hike.HikeEndPoint = input.HikeEndPoint; hike.HikeStartPoint = input.HikeStartPoint; hike.Denivelation = input.HikeStartPoint.Altitude - input.HikeEndPoint.Altitude; await this.hikesRepository.SaveChangesAsync(); }