public async Task <IActionResult> Put(CragEditModel cragEdit)
        {
            var response     = new Response();
            var exists       = this.cragsService.Exists(x => x.Id == cragEdit.CragId);
            var existsArea   = this.areasService.Exists(x => x.Id == cragEdit.AreaId);
            var existsByName = this.cragsService.Exists(x => x.Id != cragEdit.CragId && x.Name == cragEdit.Name);

            if (!this.ModelState.IsValid || !existsArea || existsByName)
            {
                response.Message = "Crag with that name already exists!";
                return(this.BadRequest(response));
            }

            if (!exists)
            {
                response.Message = "No such crag!";
                return(this.NotFound(response));
            }

            await this.cragsService.EditAsync(cragEdit);

            response.Message = "Successfully edited crag!";

            return(this.Ok(response));
        }
Esempio n. 2
0
        public async Task EditAsync(CragEditModel cragEdit)
        {
            var original = this.cragsRepository
                           .All()
                           .First(x => x.Id == cragEdit.CragId);

            original.Name   = cragEdit.Name;
            original.AreaId = cragEdit.AreaId;

            await this.cragsRepository.SaveChangesAsync();
        }