public async Task <IActionResult> PutDonatee(Guid id, V1DTO.DonateeDTO donateeDTO) { // Don't allow wrong data if (id != donateeDTO.Id) { return(BadRequest(new V1DTO.MessageDTO("id and donatee.id do not match"))); } var donatee = await _bll.Donatees.FirstOrDefaultAsync(donateeDTO.Id, User.UserGuidId()); if (donatee == null) { _logger.LogError($"EDIT. No such donatee: {donateeDTO.Id}, user: {User.UserGuidId()}"); return(NotFound(new V1DTO.MessageDTO($"No Donatee found for id {id}"))); } // Update existing donatee await _bll.Donatees.UpdateAsync(_mapper.Map(donateeDTO), User.UserId()); await _bll.SaveChangesAsync(); return(NoContent()); }
public async Task <ActionResult <V1DTO.DonateeDTO> > PostDonatee(Guid campaignId, V1DTO.DonateeDTO donateeDTO) { // Create donatee var bllEntity = _mapper.Map(donateeDTO); bllEntity.IsActive = true; _bll.Donatees.Add(bllEntity, campaignId, User.UserGuidId()); await _bll.SaveChangesAsync(); donateeDTO.Id = bllEntity.Id; return(CreatedAtAction( "GetDonatee", new { id = donateeDTO.Id, version = HttpContext.GetRequestedApiVersion()?.ToString() ?? "0" }, donateeDTO )); }