public async Task <ActionResult> UpdateCharityInfo(Guid id, [FromBody] CharityInfoUpdateDto charityDto) { // Check if the donor already exists var charityResponse = await CharitableEntityApplication.GetCharity((c) => c.Id.Equals(id), true); if (charityResponse == null) { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"A entidade beneficente, {id}, não foi encontrada."); return(NotFound(error)); } if (charityResponse.Information == null) { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"As infomações da entidade beneficente não foram cadastradas."); return(BadRequest(error)); } else if (string.IsNullOrWhiteSpace(charityResponse.Approver) || charityResponse.Status.ToUpper() != ApproverStatus.APPROVED.ToString() || charityResponse.Active == false) { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"Não foi possível atualizar as informações. A entidade não está ativa ou aprovada."); return(BadRequest(error)); } await CharitableInformationApplication.UpdateCharityInfo(id, charityDto, Request); return(Ok()); }
public async Task <Guid> UpdateCharityInfo(Guid charitableEntityId, CharityInfoUpdateDto charityInfoDto, HttpRequest request) { var charitableInfo = this.Mapper.Map <CharitableInformation>(charityInfoDto); var query = Repository.GetWhereAsQueryable(c => c.CharitableEntityId == charitableEntityId).First(); charitableInfo.PicturePath = query.PicturePath; charitableInfo.PictureUrl = query.PictureUrl; charitableInfo.Photo01 = query.Photo01; charitableInfo.Photo02 = query.Photo02; if (charitableInfo.Photo01 != null) { charitableInfo.Photo01.Title = charityInfoDto.TitlePhoto01; } if (charitableInfo.Photo02 != null) { charitableInfo.Photo02.Title = charityInfoDto.TitlePhoto02; } charitableInfo.CharitableEntityId = charitableEntityId; charitableInfo.Id = query.Id; this.Repository.Udate(charitableInfo); await this.Repository.SaveAsync(); return(charitableInfo.Id); }