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