예제 #1
0
        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 }));
        }
예제 #2
0
        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();
        }