public async Task <ActionResult> CreateCharityInfo(Guid id, [FromForm] CharityInfoCreateDto 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 informações da entidade beneficente já foram cadastradas."); return(BadRequest(error)); } else { if (charityResponse.Status.ToUpper() != ApproverStatus.APPROVED.ToString() || charityResponse.Active == false) { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"Não foi possível cadastrar as informações da entidade benefiecente porque a entidade não está ativa ou aprovada."); return(BadRequest(error)); } } await CharitableInformationApplication.CreateCharityInfo(id, charityDto, Request); return(CreatedAtRoute("GetCharityById", new { id }, null));; }
public async Task <ActionResult> UpdateCharityInfoImage(Guid id, [FromForm] CharityInfoImageUpdateDto charityDto) { // Check if the donor already exists var charityResponse = await CharitableEntityApplication.GetCharity((c) => c.Id.Equals(id), true); var imageName = charityDto.Name.ToLower(); if (imageName != "picture" && imageName != "image01" && imageName != "image02") { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"O nome da imagem deve ser picture, image01 ou image02"); return(BadRequest(error)); } 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)); } await CharitableInformationApplication.UpdateCharityInfoImage(id, charityDto, charityResponse.Information, Request); return(Ok()); }
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 CharitiesController(CharitableEntityApplication charitableEntityApplication, CharitableInformationApplication charitableInformationApplication, UserApplication userApplication, ItemApplication itemApplication) { this.CharitableEntityApplication = charitableEntityApplication; this.CharitableInformationApplication = charitableInformationApplication; this.UserApplication = userApplication; this.ItemApplication = itemApplication; }
public async Task <ActionResult> UpdateCharityInfoItem(Guid id, [FromBody] CharityInfoItemDto 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)); } 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)); } if (charityDto.items != null && charityDto.items.Count > 0) { var distinctItems = charityDto.items.Distinct(); if (distinctItems.Count() != charityDto.items.Count()) { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"Não é possível inserir itens duplicados."); return(BadRequest(error)); } var lstItems = await ItemApplication.GetItemIn(charityDto.items); if (lstItems.Count() != charityDto.items.Count()) { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"Existem itens inválidos."); return(BadRequest(error)); } } await CharitableInformationApplication.UpdateCharityInfoItem(id, charityDto); return(Ok()); }
public async Task <ActionResult <CharityInfoItemResponseDto> > GetCharityItem(Guid id) { CharityResponseDto charityDto = await CharitableEntityApplication.GetCharity(c => c.Id.Equals(id), true); if (charityDto == null) { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.NotFound, $"A entidade beneficente, {id}, não foi encontrada."); return(NotFound(error)); } if (charityDto.Information == null) { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.NotFound, $"As informações complementares da entidade beneficente não foram cadastradas."); return(NotFound(error)); } var charityInfoItems = await CharitableInformationApplication.GetCharityInfoItem(p => p.CharitableInformationId == charityDto.Information.Id); return(Ok(charityInfoItems)); }