public async Task <IActionResult> Post([FromBody] CompanyProvidersCommands model) { var _companyProviders = await _companyProvidersRepository.GetByAsync(model); if (_companyProviders != null) { ModelState.AddModelError("cpF_CNPJ", "This cpf or cnpj already exists"); return(BadRequest(ModelState)); } if (model.Ativo == false) { var companyProviders = new CompanyProviders(model.Name, model.CPF_CNPJ, model.Ativo, model.CompanyId); return(Ok(await _companyProvidersRepository.CreateAsync(companyProviders))); } else { if ((model.Company.UF == UF.PR) && (model.Age < 18)) { ModelState.AddModelError("age", "Natural person of Parané must be of legal age"); return(BadRequest(ModelState)); } var physicalPerson = new PhysicalPerson(model.Name, model.CPF_CNPJ, model.Ativo, model.CompanyId, model.DateBirth, model.RG, model.Age); return(Ok(await _companyProvidersRepository.CreateAsync(physicalPerson))); } throw new Exception("Exception while fetching all the Company Providers from the storage."); }
public async Task <CompanyProviders> GetByAsync(CompanyProvidersCommands model) { var owner = await FindByConditionAync(o => o.CPF_CNPJ.Equals(model.CPF_CNPJ)); return(owner.DefaultIfEmpty() .FirstOrDefault()); }