[HttpPost] //receber chamadas do tipo POST
        public ActionResult CadastrarFornecedor(FornecedorCadastroViewModel model)
        {
            //verificar se os dados estão corretos
            //em relação as suas validações..
            if (ModelState.IsValid)
            {
                Fornecedor fornecedor = Mapper.Map <Fornecedor>(model);

                try
                {
                    FornecedorBusiness business = new FornecedorBusiness();
                    business.Cadastrar(fornecedor);

                    ViewBag.Mensagem = "Fornecedor cadastrado com sucesso.";
                    ModelState.Clear(); //limpar todos os campos do formulário
                }
                catch (Exception e)
                {
                    ViewBag.Mensagem = e.Message;
                }
            }

            //retornar para a página..
            return(View("Cadastro"));
        }
Exemplo n.º 2
0
        public ActionResult Cadastro(FornecedorCadastroViewModel vm)
        {
            // Regras de negócio do lado do BackEnd
            // Campos Obrigatórios
            if (vm.fornecedor == null)
            {
                vm.Retorno.ErroMensagem = "Fornecedor não foi preenchido.";
            }
            else
            {
                if (string.IsNullOrWhiteSpace(vm.fornecedor.Nome) ||
                    string.IsNullOrWhiteSpace(vm.fornecedor.CpfCnpj) ||
                    (vm.fornecedor.CpfCnpj.Length == 1 && (string.IsNullOrWhiteSpace(vm.fornecedor.Rg) || vm.fornecedor.DataNascimento == null)) ||
                    string.IsNullOrWhiteSpace(vm.empresa.Nome) ||
                    string.IsNullOrWhiteSpace(vm.empresa.UF)
                    )
                {
                    vm.Retorno.ErroMensagem = "Campos obrigatórios não foram preenchidos.";
                    return(View(vm));
                }
            }

            // Regra do Estado
            if (vm.empresa.UF == "PR")
            {
                int idade = DateTime.Today.Year - vm.fornecedor.DataNascimento.Value.Year;
                if (idade < 18)
                {
                    vm.Retorno.ErroMensagem = "Para empresas do Paraná, o fornecedor pessoa física deve ser maior de idade.";
                    return(View(vm));
                }
            }

            FornecedorBusiness bs = new FornecedorBusiness();

            foreach (var tel in vm.telefones)
            {
                vm.fornecedor.Telefones.Add(new Domain.Models.Telefone
                {
                    Numero = tel
                });
            }

            int _fornecedorId = bs.IncluirFornecedor(vm.fornecedor, vm.empresa, vm.fornecedor.Telefones);

            if (_fornecedorId == 0)
            {
                vm.Retorno.ErroMensagem = "Erro no banco ao gerar o cadastro.";
                return(View(vm));
            }
            else
            {
                vm.Retorno.SucessoMensagem = "Sucesso na gravação";
                TempData["SUCESSO"]        = "Sucesso na gravação.";
                return(RedirectToAction("Index"));
            }
        }
 public FornecedorCadastroViewModel FornecedorCadastroAdicionar(FornecedorCadastroViewModel fornecedorCadastroViewModel)
 {
     throw new NotImplementedException();
 }