Exemple #1
0
        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);
        }