Exemplo n.º 1
0
        public ActionResult ExcluirIntegrante(int id)
        {
            string[] user  = User.Identity.Name.Split('|');
            string   email = user[0];
            var      usu   = db.Usuario.Where(t => t.Email == email).ToList().FirstOrDefault();

            var integrante        = db.IntegrantesProjeto.Find(id);
            IntegrantesProjeto eu = db.IntegrantesProjeto.Where(x => x.UsuarioID == usu.Id && x.ProjetoId == integrante.ProjetoId).FirstOrDefault();
            int quantAdm          = db.IntegrantesProjeto.Where(x => x.Adm == true && x.ProjetoId == integrante.ProjetoId).Count();
            int quant             = db.IntegrantesProjeto.Where(x => x.ProjetoId == integrante.ProjetoId && x.Ativo == true).Count();

            if (eu.Adm == true || integrante.UsuarioID == usu.Id)
            {
                if (integrante.Adm == true)
                {
                    if (quantAdm > 1)
                    {
                        integrante.Ativo   = false;
                        integrante.Inativo = "Usuário";
                        integrante.Adm     = false;
                        db.IntegrantesProjeto.AddOrUpdate(integrante);
                        db.SaveChanges();

                        return(RedirectToAction("MeuProjeto", new { id = integrante.ProjetoId }));
                    }
                    else if (quant == 1)
                    {
                        integrante.Ativo   = false;
                        integrante.Inativo = "Usuário";
                        db.IntegrantesProjeto.AddOrUpdate(integrante);

                        Projeto pro = db.Projeto.Find(integrante.ProjetoId);
                        pro.Ativo   = false;
                        pro.Inativo = "Usuário";
                        db.Projeto.AddOrUpdate(pro);

                        db.SaveChanges();
                        return(RedirectToAction("MeuPerfil"));
                    }
                    else
                    {
                        TempData["MSG"] = "error|Primeiro, escolha um integrante para ser Adiministrador!";
                        return(RedirectToAction("MeuProjeto", new { id = integrante.ProjetoId }));
                    }
                }
                integrante.Ativo   = false;
                integrante.Inativo = "Usuário";
                integrante.Adm     = false;
                db.IntegrantesProjeto.AddOrUpdate(integrante);
                db.SaveChanges();

                return(RedirectToAction("MeuProjeto", new { id = integrante.ProjetoId }));
            }

            TempData["MSG"] = "error|Apenas os administradores podem remover um integrante!";
            return(RedirectToAction("MeuProjeto", new { id = integrante.ProjetoId }));
        }
Exemplo n.º 2
0
        public ActionResult AdicionarIntegrante(VMProjeto vmp)
        {
            Usuario usu         = db.Usuario.Where(x => x.Email == vmp.PesquisaEmail).ToList().FirstOrDefault();
            var     integrantes = db.IntegrantesProjeto.Where(x => x.ProjetoId == vmp.Id).ToList();

            var integrante = new IntegrantesProjeto();

            if (usu == null || usu.Ativo == false)
            {
                TempData["MSG"] = "error|E-mail não encontrado";
                return(RedirectToAction("MeuProjeto", new { id = vmp.Id }));
            }
            foreach (var item in integrantes)
            {
                if (item.UsuarioID == usu.Id)
                {
                    if (item.Ativo == true)
                    {
                        TempData["MSG"] = "error|Integrante já adicionado";
                        return(RedirectToAction("MeuProjeto", new { id = vmp.Id }));
                    }
                    else
                    {
                        integrante         = db.IntegrantesProjeto.Find(item.Id);
                        integrante.Ativo   = true;
                        integrante.Inativo = null;
                        db.IntegrantesProjeto.AddOrUpdate(integrante);
                        db.SaveChanges();

                        return(RedirectToAction("MeuProjeto", new { id = vmp.Id }));
                    }
                }
            }

            integrante.Adm       = false;
            integrante.Ativo     = true;
            integrante.ProjetoId = vmp.Id;
            integrante.UsuarioID = usu.Id;

            db.IntegrantesProjeto.Add(integrante);
            db.SaveChanges();

            return(RedirectToAction("MeuProjeto", new { id = vmp.Id }));
        }
Exemplo n.º 3
0
        public ActionResult CriarProjeto(VMPerfil vmp)
        {
            if (ModelState.IsValid)
            {
                Projeto pro = new Projeto();

                pro.Logo         = "projeto.svg";
                pro.Nome         = vmp.NomeProjeto;
                pro.Descricao    = vmp.Descricao;
                pro.Ativo        = true;
                pro.DataCadastro = DateTime.Now;

                db.Projeto.AddOrUpdate(pro);
                db.SaveChanges();

                IntegrantesProjeto integrante = new IntegrantesProjeto();

                integrante.Adm       = true;
                integrante.Ativo     = true;
                integrante.ProjetoId = pro.Id;
                integrante.UsuarioID = vmp.Id;

                db.IntegrantesProjeto.AddOrUpdate(integrante);
                db.SaveChanges();

                ProjetoTags tag = new ProjetoTags();

                tag.ProjetoId = pro.Id;
                tag.TagId     = 1;

                db.ProjetoTags.AddOrUpdate(tag);
                db.SaveChanges();

                return(RedirectToAction("MeuProjeto", new { id = pro.Id }));
            }
            TempData["MSG"] = "error|Preencha os dois campos para criar um projeto";
            return(RedirectToAction("MeuPerfil"));
        }
Exemplo n.º 4
0
        public JsonResult AlterarAdm(int id)
        {
            string[] user  = User.Identity.Name.Split('|');
            string   email = user[0];
            var      usu   = db.Usuario.Where(t => t.Email == email).ToList().FirstOrDefault();

            IntegrantesProjeto integrante = db.IntegrantesProjeto.Find(id);
            IntegrantesProjeto eu         = db.IntegrantesProjeto.Where(x => x.UsuarioID == usu.Id && x.ProjetoId == integrante.ProjetoId).FirstOrDefault();
            int quantAdm = db.IntegrantesProjeto.Where(x => x.Adm == true && x.ProjetoId == integrante.ProjetoId).Count();

            if (eu.Adm == true)
            {
                if (integrante.Adm)
                {
                    if (quantAdm > 1)
                    {
                        integrante.Adm = false;
                    }
                    else
                    {
                        return(Json("nn"));
                    }
                }
                else
                {
                    integrante.Adm = true;
                }

                db.Entry(integrante).State = EntityState.Modified;
                db.SaveChanges();
                return(Json(integrante.Adm ? "t" : "f"));
            }
            else
            {
                return(Json("n"));
            }
        }
Exemplo n.º 5
0
        public ActionResult DesativarUsuario(VMPerfil vmp)
        {
            string[] user  = User.Identity.Name.Split('|');
            string   email = user[0];
            var      adm   = db.Usuario.Where(t => t.Email == email).ToList().FirstOrDefault();

            Usuario usu = db.Usuario.Find(vmp.Id);

            usu.Ativo   = false;
            usu.Inativo = "Adm";

            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();
                }
            }

            TempData["MSG"] = Funcoes.EnviarEmail(usu.Email,
                                                  "MOVE - Sua Conta foi Desativada!", vmp.MotivoPunicao);

            var denuncias = db.Denuncias.Where(x => x.UsuarioDenunciadoId == usu.Id && x.Status != "Concluído").ToList();

            if (denuncias.Count() > 0)
            {
                foreach (var item in denuncias)
                {
                    Denuncias den = db.Denuncias.Find(item.Id);
                    den.AdmId         = adm.Id;
                    den.Punicao       = 0;
                    den.MotivoPunicao = vmp.MotivoPunicao;
                    den.DataPunicao   = DateTime.Now;
                    den.Status        = "Concluído";
                    den.Desativado    = true;

                    db.Denuncias.AddOrUpdate(den);
                    db.SaveChanges();
                }
            }

            TempData["MSG"] = "success|Conta Desativada!";

            return(RedirectToAction("Index"));
        }
Exemplo n.º 6
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"));
        }