Beispiel #1
0
        public async Task <ActionResult> UpdateDonorPF(Guid id, [FromBody] DonorPFUpdateDto donorDto)
        {
            // Check if the donor already exists
            var donorPF = await DonorPFapplication.GetDonorPF((d) => d.Id.Equals(id));

            if (donorPF == null)
            {
                ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"O doador PF, {id}, não foi encontrado.");
                return(BadRequest(error));
            }

            if (!donorPF.CPF.Equals(donorDto.CPF))
            {
                // Check if the donor already exists
                bool hasDonor = await DonorPFapplication.ExistDonorPF((d) => d.CPF.Equals(donorDto.CPF));

                if (hasDonor)
                {
                    ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"O doador PF, {donorDto.CPF}, já existe.");
                    return(BadRequest(error));
                }
            }

            await DonorPFapplication.UpdateDonorPF(donorPF, donorDto);

            return(Ok());
        }
Beispiel #2
0
        public async Task <ActionResult <DonorPFResponseDto> > GetDonorPFById(Guid id)
        {
            DonorPFResponseDto donorDto = await DonorPFapplication.GetDonorPF(i => i.Id.Equals(id));

            if (donorDto == null)
            {
                ErrorMessage error = new ErrorMessage((int)HttpStatusCode.NotFound, $"O doador PF, {id}, não foi encontrado.");
                return(NotFound(error));
            }

            return(Ok(donorDto));
        }
Beispiel #3
0
        public async Task <ActionResult> DeleteDonorPF(Guid id)
        {
            // Check if the donor exists
            DonorPFResponseDto donorDto = await DonorPFapplication.GetDonorPF(i => i.Id.Equals(id));

            if (donorDto == null)
            {
                ErrorMessage error = new ErrorMessage((int)HttpStatusCode.NotFound, $"O doador PF, {id}, não foi encontrado.");
                return(NotFound(error));
            }

            await DonorPFapplication.DeleteDonorPF(donorDto);

            return(NoContent());
        }