public ActionResult AddEmpresa(int id, FornecedorFisicoViewModel fornecedorFisico)
        {
            ViewBag.EmpresaId = new SelectList(_appEmpresa.GetAll().ToList().OrderBy(x => x.NomeFantasia), "EmpresaId", "NomeFantasia");
            var fornecedorAddEmpresa = Mapper.Map <FornecedorFisicoViewModel, FornecedorFisico>(fornecedorFisico);
            var fornecedorBanco      = _appFisico.GetById(id);


            if (fornecedorAddEmpresa.EmpresaId == null)
            {
                ModelState.AddModelError("", "Por favor, escolha uma empresa!");
                return(View(fornecedorFisico));
            }
            else
            {
                fornecedorBanco.AddEmpresaId(fornecedorFisico.EmpresaId);
            }
            var empresa = _appEmpresa.GetAll().Where(x => x.EmpresaId == fornecedorBanco.EmpresaId).FirstOrDefault();

            if (empresa.Uf.Contains("Paraná") && (DateTime.Now.Year - fornecedorBanco.DataNascimento.Year) < 18)
            {
                ModelState.AddModelError("", "Não é possível cadastrar uma empresa do Paraná para um fornecedor pessoa física menor de 18 anos!");
                return(View(fornecedorFisico));
            }
            _appFisico.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult DeleteOk(int id, FornecedorFisicoViewModel fornecedorFisico)
        {
            try
            {
                _appFisico.Delete(id);
                _appFisico.SaveChanges();

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(fornecedorFisico));
            }
        }
        public ActionResult Edit(int id, FornecedorFisicoViewModel fornecedorView)
        {
            try
            {
                var fornecedorEdit = Mapper.Map <FornecedorFisicoViewModel, FornecedorFisico>(fornecedorView);
                _appFisico.Edit(fornecedorEdit);
                _appFisico.SaveChanges();

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(fornecedorView));
            }
        }
        public ActionResult Create(FornecedorFisicoViewModel fornecedorFisico)
        {
            try
            {
                var fornecedorCreate = Mapper.Map <FornecedorFisicoViewModel, FornecedorFisico>(fornecedorFisico);
                if (fornecedorCreate.Nome == null)
                {
                    ModelState.AddModelError(string.Empty, "Verifique se o nome está nulo");
                    return(View(fornecedorFisico));
                }
                else
                {
                    _appFisico.Add(fornecedorCreate);
                }
                _appFisico.SaveChanges();

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
                return(View(fornecedorFisico));
            }
        }