Exemplo n.º 1
0
        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 }));
            }
        }
Exemplo n.º 2
0
 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'));
     }
 }
Exemplo n.º 3
0
        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'));
        }
Exemplo n.º 4
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.º 5
0
        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"));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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 }));
        }
Exemplo n.º 8
0
        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 })));
        }
Exemplo n.º 9
0
        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"));
        }
Exemplo n.º 10
0
        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 }));
        }