public ActionResult AdicionarUpload(HttpPostedFileBase arq, VMProjeto vmp) { if (arq != null) { Funcoes.Upload.CriarDiretorio(); string nomearq = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Path.GetExtension(arq.FileName); string valor = Funcoes.Upload.UploadPdf(arq, nomearq); if (valor == "sucesso") { var arqpro = new ArquivosProjeto(); arqpro.ProjetoId = vmp.Id; arqpro.Nome = vmp.NomeArquivo; arqpro.Arquivo = nomearq; db.ArquivosProjeto.Add(arqpro); db.SaveChanges(); TempData["MSG"] = "success|Documento adicionado!"; return(RedirectToAction("MeuProjeto", new { id = vmp.Id })); } else { ModelState.AddModelError("", valor); TempData["MSG"] = "error|" + valor; return(RedirectToAction("MeuProjeto", new { id = vmp.Id })); } } else { TempData["MSG"] = "error|Escolha uma imagem primeiro"; return(RedirectToAction("MeuProjeto", new { id = vmp.Id })); } }
public JsonResult EditarLogo(HttpPostedFileBase arq, VMProjeto vmp) { if (arq != null) { Funcoes.Upload.CriarDiretorio(); string nomearq = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Path.GetExtension(arq.FileName); string valor = Funcoes.Upload.UploadImagem(arq, nomearq); if (valor == "sucesso") { Projeto pro = db.Projeto.Find(vmp.Id); //Excluir foto antiga if (pro.Logo != "projeto.svg") { Funcoes.Upload.ExcluirArquivo(Request.PhysicalApplicationPath + "Uploads\\" + pro.Logo); } pro.Logo = nomearq; db.Projeto.AddOrUpdate(pro); db.SaveChanges(); TempData["MSG"] = "success|Logo alterada com sucesso!"; return(Json('s')); } else { ModelState.AddModelError("", valor); TempData["MSG"] = "error|" + valor; return(Json('n')); } } else { TempData["MSG"] = "error|Escolha uma imagem primeiro"; return(Json('n')); } }
public ActionResult EditarNomeProjeto(VMProjeto vmp) { var pro = db.Projeto.Where(t => t.Id == vmp.Id).ToList().FirstOrDefault(); if (vmp.Nome == null) { return(Json('n')); } pro.Nome = vmp.Nome; db.Projeto.AddOrUpdate(pro); db.SaveChanges(); return(Json('s')); }
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 DesativarProjeto(VMProjeto vmp) { string[] user = User.Identity.Name.Split('|'); string email = user[0]; var adm = db.Usuario.Where(t => t.Email == email).ToList().FirstOrDefault(); Projeto pro = db.Projeto.Find(vmp.Id); pro.Ativo = false; db.Projeto.AddOrUpdate(pro); db.SaveChanges(); var denuncias = db.Denuncias.Where(x => x.ProjetoDenunciadoId == pro.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(); } } var proAdm = db.IntegrantesProjeto.Where(x => x.ProjetoId == pro.Id && x.Adm == true).ToList(); foreach (var item in proAdm) { TempData["MSG"] = Funcoes.EnviarEmail(item.Usuario.Email, "MOVE - Seu projeto " + pro.Nome + " foi Desativado!", vmp.MotivoPunicao); } TempData["MSG"] = "success|Projeto Desativado!"; return(RedirectToAction("Index")); }
public ActionResult VisitarProjeto(int id) { string[] user = User.Identity.Name.Split('|'); string email = user[0]; var usu = db.Usuario.Where(t => t.Email == email).ToList().FirstOrDefault(); Projeto pro = db.Projeto.Find(id); VMProjeto vmp = new VMProjeto(); vmp.Id = pro.Id; vmp.Nome = pro.Nome; vmp.Descricao = pro.Descricao; vmp.Logo = pro.Logo; vmp.ProjetoTags = pro.ProjetoTags; vmp.ArquivosProjetos = pro.ArquivosProjetos; vmp.IntegrantesProjetos = pro.IntegrantesProjetos.Where(x => x.Ativo == true).ToList(); vmp.ProjetosSalvos = db.ProjetosSalvos.Where(x => x.UsuarioId == usu.Id).ToList(); return(View(vmp)); }
public ActionResult DenunciarProjeto(VMProjeto vmp) { string[] user = User.Identity.Name.Split('|'); string email = user[0]; var usu = db.Usuario.Where(t => t.Email == email).ToList().FirstOrDefault(); Denuncias den = new Denuncias(); den.UsuarioDenuncianteId = usu.Id; den.ProjetoDenunciadoId = vmp.Id; den.DataCadastro = DateTime.Now.ToString(); den.Status = "Esperando análise"; den.Motivo = vmp.MotivoDenuncia; den.Observacao = vmp.Observacao; db.Denuncias.Add(den); db.SaveChanges(); TempData["MSG"] = "success|Agradeçemos sua contribuição!"; return(RedirectToAction("MeuProjeto", new { id = vmp.Id })); }
public JsonResult AdicionarTagProjeto(VMProjeto vmp) { var tag = db.Tag.Where(t => t.Nome == vmp.PesquisaTag).ToList().FirstOrDefault(); foreach (var item in db.ProjetoTags) { if (item.TagId == tag.Id && item.ProjetoId == vmp.Id) { return(Json("n")); } } var protag = new ProjetoTags(); protag.TagId = tag.Id; protag.ProjetoId = vmp.Id; db.ProjetoTags.Add(protag); db.SaveChanges(); var pro = db.Projeto.Where(t => t.Id == vmp.Id).ToList().FirstOrDefault(); return(Json(db.ProjetoTags.Where(x => x.ProjetoId == pro.Id).ToList().Select(x => new { x.Tag.Id, x.Tag.Nome }))); }
public ActionResult PenalizarProjeto(VMProjeto vmp) { Projeto pro = db.Projeto.Find(vmp.Id); int result = DateTime.Compare(pro.Punicao, DateTime.Now); if (result < 0) { pro.Punicao = DateTime.Now.AddDays(vmp.Punicao); } else { pro.Punicao = pro.Punicao.AddDays(vmp.Punicao); } db.Projeto.AddOrUpdate(pro); db.SaveChanges(); string[] user = User.Identity.Name.Split('|'); string email = user[0]; var adm = db.Usuario.Where(t => t.Email == email).ToList().FirstOrDefault(); var denuncias = db.Denuncias.Where(x => x.ProjetoDenunciadoId == pro.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 = vmp.Punicao; den.MotivoPunicao = vmp.MotivoPunicao; den.DataPunicao = DateTime.Now; den.Status = "Concluído"; db.Denuncias.AddOrUpdate(den); db.SaveChanges(); } } var proAdm = db.IntegrantesProjeto.Where(x => x.ProjetoId == pro.Id && x.Adm == true).ToList(); if (vmp.Punicao > 0) { foreach (var item in proAdm) { TempData["MSG"] = Funcoes.EnviarEmail(item.Usuario.Email, "MOVE - Seu Projeto " + pro.Nome + " sofreu uma Penalidade", "Seu projeto foi Desativado por " + vmp.Punicao + " dias, motivo: " + vmp.MotivoPunicao); } } else if (vmp.MotivoPunicao != null) { foreach (var item in proAdm) { TempData["MSG"] = Funcoes.EnviarEmail(item.Usuario.Email, "MOVE - Comunicado sobre seu Projeto " + pro.Nome + " ...", vmp.MotivoPunicao); } } TempData["MSG"] = "success|Penalidade Aplicada!"; return(RedirectToAction("Index")); }
public ActionResult MeuProjeto(int id, int?idDenuncia) { string[] user = User.Identity.Name.Split('|'); string email = user[0]; var usu = db.Usuario.Where(t => t.Email == email).ToList().FirstOrDefault(); if (usu == null) { return(RedirectToAction("Acesso", "Usuario")); } Projeto pro = db.Projeto.Find(id); foreach (var item in pro.IntegrantesProjetos) { if (item.UsuarioID == usu.Id && item.Ativo == false) { return(RedirectToAction("VisitarProjeto", new { id })); } if (item.UsuarioID == usu.Id || user[1] == "adm") { VMProjeto vmp = new VMProjeto(); vmp.Id = pro.Id; vmp.Nome = pro.Nome; vmp.Descricao = pro.Descricao; vmp.Logo = pro.Logo; vmp.ProjetoTags = pro.ProjetoTags; vmp.ArquivosProjetos = pro.ArquivosProjetos; vmp.IntegrantesProjetos = pro.IntegrantesProjetos.Where(x => x.Ativo == true).ToList(); vmp.EuIntegrante = vmp.IntegrantesProjetos.Where(x => x.UsuarioID == usu.Id).FirstOrDefault(); vmp.Ativo = pro.Ativo; if (user[1] == "adm") { vmp.Adm = true; if (idDenuncia != null) { vmp.IdDenuncia = (int)idDenuncia; } return(View(vmp)); } int result = DateTime.Compare(pro.Punicao, DateTime.Now); if (result > 0) { int dias = (pro.Punicao - DateTime.Now).Days; if (dias == 0) { TempData["MSG"] = "error|O projeto foi bloqueado temporariamente por infringir as regras da comunidade. O projeto será desbloqueado em menos de 24 horas."; } else { TempData["MSG"] = "error|O projeto foi bloqueado temporariamente por infringir as regras da comunidade. O projeto será desbloqueado em " + dias + "dia(s)"; } return(RedirectToAction("MeuPerfil")); } return(View(vmp)); } } return(RedirectToAction("VisitarProjeto", new { id })); }