Ejemplo n.º 1
0
        public ActionResult EditarCadastro()
        {
            string[] user  = User.Identity.Name.Split('|');
            string   email = user[0];

            Usuario        usu  = db.Usuario.Where(t => t.Email == email).ToList().FirstOrDefault();
            EditarCadastro edit = new EditarCadastro();

            edit.Nome               = usu.Nome;
            edit.Celular            = usu.Celular;
            edit.DataNascimento     = usu.DataNascimento;
            edit.Cpf                = usu.Cpf;
            edit.Email              = usu.Email;
            edit.EmailRecuperacao   = usu.EmailRecuperacao;
            edit.Senha              = null;
            edit.ConfirmarNovaSenha = null;

            return(View(edit));
        }
Ejemplo n.º 2
0
        public ActionResult ExcluirConta(EditarCadastro edit)
        {
            string[] user  = User.Identity.Name.Split('|');
            string   email = user[0];
            var      usu   = db.Usuario.Where(t => t.Email == email).ToList().FirstOrDefault();

            if (edit.SenhaAtual == null)
            {
                TempData["MSG"] = "error|Preencha o campo Senha Atual";
                return(RedirectToAction("EditarCadastro"));
            }
            if (Funcoes.HashTexto(edit.SenhaAtual, "SHA512") == usu.Senha)
            {
                usu.Ativo   = false;
                usu.Inativo = "Usuário";
                db.Usuario.AddOrUpdate(usu);
                db.SaveChanges();

                var integrante = db.IntegrantesProjeto.Where(x => x.UsuarioID == usu.Id && x.Ativo == true).ToList();

                foreach (var item in integrante)
                {
                    Projeto            pro  = db.Projeto.Find(item.ProjetoId);
                    IntegrantesProjeto inte = db.IntegrantesProjeto.Find(item.Id);
                    int quantAdm            = db.IntegrantesProjeto.Where(x => x.Adm == true && x.ProjetoId == item.ProjetoId).Count();
                    int quant = db.IntegrantesProjeto.Where(x => x.ProjetoId == item.ProjetoId && x.Ativo == true).Count();

                    if (item.Adm == true)
                    {
                        if (quant == 1)
                        {
                            inte.Ativo   = false;
                            inte.Inativo = "Usuário";
                            db.IntegrantesProjeto.AddOrUpdate(inte);
                            db.SaveChanges();

                            pro.Ativo   = false;
                            pro.Inativo = "Usuário";
                            db.Projeto.AddOrUpdate(pro);
                            db.SaveChanges();
                        }
                        else if (quantAdm > 1)
                        {
                            inte.Ativo   = false;
                            inte.Inativo = "Usuário";
                            inte.Adm     = false;
                            db.IntegrantesProjeto.AddOrUpdate(inte);
                            db.SaveChanges();
                        }
                        else
                        {
                            IntegrantesProjeto NovoAdm = db.IntegrantesProjeto.Where(x => x.ProjetoId == item.ProjetoId && x.UsuarioID != usu.Id).FirstOrDefault();

                            NovoAdm.Adm = true;
                            db.IntegrantesProjeto.AddOrUpdate(NovoAdm);
                            db.SaveChanges();

                            inte.Ativo   = false;
                            inte.Inativo = "Usuário";
                            inte.Adm     = false;
                            db.IntegrantesProjeto.AddOrUpdate(inte);
                            db.SaveChanges();
                        }
                    }
                    else
                    {
                        inte.Ativo   = false;
                        inte.Inativo = "Usuário";
                        db.IntegrantesProjeto.AddOrUpdate(inte);
                        db.SaveChanges();
                    }
                }

                FormsAuthentication.SignOut();
                return(RedirectToAction("Principal", "Home"));
            }
            TempData["MSG"] = "error|Senha atual errada";
            return(RedirectToAction("EditarCadastro"));
        }
Ejemplo n.º 3
0
        public ActionResult EditarCadastro(EditarCadastro edit)
        {
            string[] user  = User.Identity.Name.Split('|');
            string   email = user[0];

            if (ModelState.IsValid)
            {
                Usuario usu = db.Usuario.Where(t => t.Email == email).ToList().FirstOrDefault();

                if (Funcoes.HashTexto(edit.SenhaAtual, "SHA512") == usu.Senha)
                {
                    if (edit.Email == edit.EmailRecuperacao)
                    {
                        ModelState.AddModelError("", "O E-mail de Recuperação não pode ser igual ao E-mail");
                        return(View(edit));
                    }
                    if (usu.Email != edit.Email)
                    {
                        if (db.Usuario.Where(x => x.Email == edit.Email).ToList().Count > 0)
                        {
                            ModelState.AddModelError("", "E-mail já cadastrado");
                            return(View(edit));
                        }
                    }
                    if (usu.EmailRecuperacao != edit.EmailRecuperacao)
                    {
                        if (db.Usuario.Where(x => x.EmailRecuperacao == edit.EmailRecuperacao).ToList().Count > 0)
                        {
                            ModelState.AddModelError("", "E-mail de Recuperação já cadastrado");
                            return(View(edit));
                        }
                    }

                    if (Funcoes.ValidateCPF(edit.Cpf) == false)
                    {
                        ModelState.AddModelError("", "O CPF não é válido");
                        return(View(edit));
                    }
                    usu.Nome             = edit.Nome;
                    usu.Celular          = edit.Celular;
                    usu.DataNascimento   = edit.DataNascimento;
                    usu.Cpf              = edit.Cpf;
                    usu.Email            = edit.Email;
                    usu.EmailRecuperacao = edit.EmailRecuperacao;

                    if (edit.Senha != null)
                    {
                        usu.Senha = Funcoes.HashTexto(edit.Senha, "SHA512");
                    }

                    FormsAuthentication.SetAuthCookie(usu.Email + "|" + usu.Nome, false);

                    db.Usuario.AddOrUpdate(usu);
                    db.SaveChanges();
                    TempData["MSG"] = "success|Seus dados foram atualizados!";
                    return(RedirectToAction("MeuPerfil", "Home"));
                }
                else
                {
                    TempData["MSG"] = "error|Senha atual errada";
                    return(RedirectToAction("EditarCadastro"));
                }
            }
            return(View(edit));
        }