public ActionResult Create([Bind(Include = "Id,Nome,Cpf,DataNascimento,Sexo,DddFixo,TelefoneFixo,DddCelular,TelefoneCelular,Cep,Rua,Numero,Complemento,Bairro,Cidade,Estado,Email,ApplicationUserId, Ibge")] ClienteViewModels cliente, string returnUrl)
        {
            if (!ValidaNome(cliente.Nome))
            {
                ModelState.AddModelError("", "Nome inválido");
            }
            if (!ValidaDDD(cliente.DddCelular))
            {
                ModelState.AddModelError("", "DDD do celular inválido");
            }
            if (!ValidaDDD(cliente.DddFixo))
            {
                ModelState.AddModelError("", "DDD do telefone inválido");
            }
            if (!ValidaTelCelular(cliente.TelefoneCelular))
            {
                ModelState.AddModelError("", "Telefone celular inválido");
            }
            if (!ValidaTelFixo(cliente.TelefoneFixo))
            {
                ModelState.AddModelError("", "Telefone fixo inválido");
            }
            if (!ValidaDtNasc(cliente.DataNascimento))
            {
                ModelState.AddModelError("", "Data de nascimento inválida");
            }

            if (!ModelState.IsValid)
            {
                return(View(cliente));
            }

            cliente.Id    = (Convert.ToInt32(_db.Clientes.Max(c => c.Id)) + 1).ToString().PadLeft(5, '0');
            cliente.Email = HttpContext.User.Identity.GetUserName();
            var clienteEF = cliente.GetCliente();

            clienteEF.DataCadastro = DateTime.Now;
            _db.Clientes.Add(clienteEF);
            _db.SaveChanges();
            if (!string.IsNullOrEmpty(returnUrl))
            {
                return(Redirect(returnUrl));
            }
            ViewBag.StatusMessage = "Cadastro atualizado.";
            return(RedirectToAction("Index", "Manage", new { Message = ManageMessageId.CadastroAtualizado }));
        }
        public ActionResult Edit([Bind(Include = "Id,Nome,Cpf,DataNascimento,Sexo,DddFixo,TelefoneFixo,DddCelular,TelefoneCelular,Cep,Rua,Numero,Complemento,Bairro,Cidade,Estado,Email,ApplicationUserId, Ibge")] ClienteViewModels cliente, string returnUrl)
        {
            if (!ValidaNome(cliente.Nome))
            {
                ModelState.AddModelError("", "Nome inválido");
            }
            if (!ValidaDDD(cliente.DddCelular))
            {
                ModelState.AddModelError("", "DDD do celular inválido");
            }
            if (!ValidaDDD(cliente.DddFixo))
            {
                ModelState.AddModelError("", "DDD do telefone inválido");
            }
            if (!ValidaTelCelular(cliente.TelefoneCelular))
            {
                ModelState.AddModelError("", "Telefone celular inválido");
            }
            if (!ValidaTelFixo(cliente.TelefoneFixo))
            {
                ModelState.AddModelError("", "Telefone fixo inválido");
            }
            if (!ValidaDtNasc(cliente.DataNascimento))
            {
                ModelState.AddModelError("", "Data de nascimento inválida");
            }

            if (!ModelState.IsValid)
            {
                return(View(cliente));
            }
            ;

            cliente.Email = HttpContext.User.Identity.GetUserName();
            var clienteEF = cliente.GetCliente();

            _db.Entry(clienteEF).State = EntityState.Modified;
            _db.SaveChanges();
            ViewBag.StatusMessage = "Cadastro atualizado.";
            if (!string.IsNullOrEmpty(returnUrl))
            {
                return(Redirect(returnUrl));
            }
            return(RedirectToAction("Index", "Manage", new { Message = ManageMessageId.CadastroAtualizado }));
        }