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.");
        }
Beispiel #2
0
        public async Task <CompanyProviders> GetByAsync(CompanyProvidersCommands model)
        {
            var owner = await FindByConditionAync(o => o.CPF_CNPJ.Equals(model.CPF_CNPJ));

            return(owner.DefaultIfEmpty()
                   .FirstOrDefault());
        }