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)); }
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(); }