public async Task <Guid> CreateDonorPJ(DonorPJCreateDto donorPJDto) { User user = new User(Guid.NewGuid(), donorPJDto.Login.ToLower(), donorPJDto.Password.ToSHA512(), LoginType.DONOR_PJ, Guid.NewGuid(), true); var donorPJ = this.mapper.Map <DonorPJ>(donorPJDto); donorPJ.Id = Guid.NewGuid(); donorPJ.UserId = user.Id; var lstRole = await roleRepository.GetWhereAsync(r => r.Name.ToLower().Equals("donor_pj")); if (!lstRole.Any()) { throw new Exception("Cannot find role donor_pj"); } await userRoleRepository.AddAsync(new UserRole() { User = user, RoleId = lstRole.First().Id }); await this.repository.AddAsync(donorPJ); await this.repository.SaveAsync(); return(donorPJ.Id); }
public async Task <IActionResult> CreateDonorPJ([FromBody] DonorPJCreateDto donorDto) { var userDto = await UserApplication.GetUserDto(u => u.Login.ToLower().Equals(donorDto.Login.ToLower())); if (userDto != null) { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"O usuário, {donorDto.Login}, já existe."); return(BadRequest(error)); } // Check if the donor already exists bool hasDonor = await DonorPJApplication.ExistDonorPJ(d => d.CNPJ.Equals(donorDto.CNPJ) && d.CompanyName.ToLower().Equals(donorDto.CompanyName.ToLower())); if (hasDonor) { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"O doador PJ, {donorDto.CNPJ} - {donorDto.CompanyName}, já existe."); return(BadRequest(error)); } var donorId = await DonorPJApplication.CreateDonorPJ(donorDto); return(CreatedAtRoute("GetDonorPJById", new { id = donorId }, null)); }