Ejemplo n.º 1
0
        public async Task <IActionResult> AddOrEdit([Bind("DataNascimento ,IsPessoaJuridica, Rg, Nome, Cnpj, Cpf, Id, Telefones, DataCadastro, EmpresaId, EmpresaNome,isNovo")] FornecedorModel fornecedor)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (fornecedor.Id == 0)
                    {
                        if (fornecedor.IsPessoaJuridica)
                        {
                            if (string.IsNullOrWhiteSpace(fornecedor.Cnpj))
                            {
                                this.AddAlertWarning("Campo CNPJ é obrigatório.");
                                return(View(fornecedor));
                            }
                        }
                        else if (string.IsNullOrWhiteSpace(fornecedor.Rg))
                        {
                            this.AddAlertWarning("Campo RG é obrigatório.");
                            return(View(fornecedor));
                        }
                        else if (fornecedor.DataNascimento == null)
                        {
                            this.AddAlertWarning("Campo data de nascimento é obrigatório.");
                            return(View(fornecedor));
                        }
                        bool incluir = _servico.Incluir(fornecedor);
                        if (incluir)
                        {
                            this.AddAlertSuccess("Fornecedor incluido com sucesso.");
                        }
                        else
                        {
                            this.AddAlertInfo("Apenas pessoa física maior de idade pode ser cadastrada na empresa Paraná.");
                            return(View(fornecedor));
                        }
                    }
                    else
                    {
                        _servico.Alterar(fornecedor);
                        this.AddAlertSuccess("Fornecedor alterado com sucesso.");
                    }

                    await _servico.SaveChangesAsync();

                    return(base.RedirectToAction(nameof(Index)));
                }
                return(View(fornecedor));
            }
            catch (Exception e)
            {
                throw e;
            }
        }