Beispiel #1
0
        // GET: Solucoes/Create
        public ActionResult Create(int DesafioId)
        {
            var desafio        = db.Desafios.Where(d => d.DesafioId == DesafioId).First();
            var SolucaoDesafio = new SolucaoDesafio();

            SolucaoDesafio.IdDesafio   = desafio.DesafioId;
            SolucaoDesafio.NomeDesafio = desafio.TipoTrabalho;
            return(View(SolucaoDesafio));
        }
Beispiel #2
0
        // GET: Solucoes/Edit/5
        public ActionResult Edit(int id)
        {
            var            solucao        = db.Solucoes.Where(s => s.SolucaoId == id).First();
            var            anexo          = db.Anexos.Where(s => s.SolucaoId == id).FirstOrDefault();
            SolucaoDesafio solucaoDesafio = new SolucaoDesafio();

            solucaoDesafio.NomeSolucao      = solucao.SolucaoTitulo;
            solucaoDesafio.DescricaoSolucao = solucao.Descricao;
            solucaoDesafio.FileName         = anexo.NomeFicheiro;
            solucaoDesafio.IdSolucao        = id;
            solucaoDesafio.IdDesafio        = solucao.DesafioId;
            return(View(solucaoDesafio));
        }
Beispiel #3
0
        public ActionResult Create(SolucaoDesafio SolucaoDesafio, HttpPostedFileBase file)
        {
            string extensao = Path.GetExtension(file.FileName);

            if (file == null)
            {
                ModelState.AddModelError("ErroFicheiro2", "Tem que Submeter pelo menos um ficheiro");
            }

            if (file != null)
            {
                int indexOf = file.ContentType.IndexOf("zip");
                if (extensao != ".zip")
                {
                    ModelState.AddModelError("Zip2", "Compacte os ficheiros e envie em formato .Zip");
                }
            }

            if (ModelState.IsValid)
            {
                var Solucao = new Solucao();
                Solucao.DesafioId         = SolucaoDesafio.IdDesafio;
                Solucao.Descricao         = SolucaoDesafio.DescricaoSolucao;
                Solucao.SolucaoTitulo     = SolucaoDesafio.NomeSolucao;
                Solucao.ApplicationUserId = User.Identity.GetUserId();
                Solucao.DataCriacao       = DateTime.Now;
                db.Solucoes.Add(Solucao);

                db.SaveChanges();

                #pragma warning disable CS0162 // Unreachable code detected
                if (file.ContentLength > 0)
                {
                    Anexo anexo = new Anexo();

                    string filePath = Path.Combine(HttpContext.Server.MapPath("~/Anexos/"),
                                                   Path.GetFileName(file.FileName));
                    file.SaveAs(filePath);
                    anexo.Caminho      = filePath;
                    anexo.SolucaoId    = Solucao.SolucaoId;
                    anexo.NomeFicheiro = file.FileName;
                    db.Anexos.Add(anexo);

                    db.SaveChanges();

                    return(RedirectToAction("Details", "Desafios", new { id = SolucaoDesafio.IdDesafio }));
                }
            }
            return(View(SolucaoDesafio));
        }
Beispiel #4
0
        // GET: Solucoes/Details/5
        public ActionResult Details(int id)
        {
            var            solucao = db.Solucoes.Where(a => a.SolucaoId == id).First();
            var            anexo   = db.Anexos.Where(a => a.SolucaoId == id).First();
            SolucaoDesafio Solucao = new SolucaoDesafio();

            Solucao.NomeSolucao      = solucao.SolucaoTitulo;
            Solucao.DescricaoSolucao = solucao.Descricao;
            Solucao.FileId           = anexo.AnexoId;
            Solucao.FileName         = anexo.NomeFicheiro;
            Solucao.FilePath         = anexo.Caminho;
            if (solucao.User.Id != User.Identity.GetUserId())
            {
                solucao.NumeroVisualizacoes++;
                db.SaveChanges();
            }

            return(View(Solucao));
        }
Beispiel #5
0
        public ActionResult Edit(SolucaoDesafio solucaoDesafio, HttpPostedFileBase file)
        {
            var solucao = db.Solucoes.Where(s => s.SolucaoId == solucaoDesafio.IdSolucao).First();
            var anexo   = db.Anexos.Where(s => s.SolucaoId == solucaoDesafio.IdSolucao).First();

            try
            {
                solucao.SolucaoTitulo = solucaoDesafio.NomeSolucao;
                solucao.Descricao     = solucaoDesafio.DescricaoSolucao;
                if (file.ContentLength > 0)
                {
                    anexo.Caminho      = solucaoDesafio.FilePath;
                    anexo.SolucaoId    = solucaoDesafio.IdSolucao;
                    anexo.NomeFicheiro = file.FileName;
                }
                db.SaveChanges();
                return(RedirectToAction("Details", "Desafios", new { id = solucaoDesafio.IdDesafio }));
            }
            catch
            {
                return(RedirectToAction("Details", "Desafios", new { id = solucaoDesafio.IdDesafio }));
            }
        }