public async Task <MemberResponse> UpdateAsync(int id, MemberSaveResource memberSaveResource) { var existingItem = await _memberRepository.FindByIdAsync(id); if (existingItem == null) { return(new MemberResponse(404, "Item id not found", "Id", "Member id not found.")); } existingItem.Name = memberSaveResource.Name; existingItem.Phone = memberSaveResource.Phone; existingItem.Surname = memberSaveResource.Surname; existingItem.Address = memberSaveResource.Address; try { _memberRepository.Update(existingItem); var responseResource = _mapper.Map <Member, MemberResource>(existingItem); return(new MemberResponse(responseResource)); } catch (Exception ex) { return(new MemberResponse(400, "Unexpected error", "Error", ex.Message)); } }
public async Task <IActionResult> PostAsync([FromBody] MemberSaveResource saveResource) { var response = await _memberService.SaveAsync(saveResource); if (!response.Success) { return(BadRequest(response.Error)); } return(CreatedAtAction(nameof(GetAsync), new { id = response.Result.Id }, response.Result)); }
public async Task <MemberResponse> SaveAsync(MemberSaveResource memberSaveResource) { try { var item = _mapper.Map <MemberSaveResource, Member>(memberSaveResource); await _memberRepository.AddAsync(item); var responseResource = _mapper.Map <Member, MemberResource>(item); return(new MemberResponse(responseResource)); } catch (Exception ex) { return(new MemberResponse(400, "Unexpected error", "Error", ex.Message)); } }
public async Task <IActionResult> PutAsync(int id, [FromBody] MemberSaveResource saveResource) { var response = await _memberService.UpdateAsync(id, saveResource); if (!response.Success && response.Error.Status == 404) { return(NotFound(response.Error)); } if (!response.Success) { return(BadRequest(response.Error)); } return(Ok(response.Result)); }