Exemple #1
0
        public ActionResult Create(DesafioCreate model, string[] selectedTag, HttpPostedFileBase file)
        {
            TipoAvaliacao TipoAvaliacao = db.TiposAvaliacao.Where(i => i.TipoAvaliacaoId == 1).FirstOrDefault();

            System.Diagnostics.Debug.WriteLine(model.lat);
            if (ModelState.IsValid)
            {
                Desafio desafio = new Desafio();
                Anexo   anexo   = new Anexo();
                desafio.lat               = model.lat;
                desafio.lon               = model.lon;
                desafio.TipoTrabalho      = model.TipoTrabalho;
                desafio.Descricao         = model.Descricao;
                desafio.DataCriacao       = DateTime.Now;
                desafio.TipoAvaliacao     = TipoAvaliacao;
                desafio.valor             = model.ValorMonetario;
                desafio.ApplicationUserId = User.Identity.GetUserId();

                var listaTags = atualizarTagsDesafio(desafio, selectedTag);
                desafio.Tags = listaTags;


                db.Desafios.Add(desafio);

                db.SaveChanges();

                if (file.ContentLength > 0)
                {
                    string filePath = Path.Combine(HttpContext.Server.MapPath("~/Anexos/"),
                                                   Path.GetFileName(file.FileName));
                    file.SaveAs(filePath);
                    anexo.Caminho      = filePath;
                    anexo.DesafioId    = desafio.DesafioId;
                    anexo.NomeFicheiro = file.FileName;
                    db.Anexos.Add(anexo);
                }

                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            preencherTagDesafio();
            return(View(model));
        }
        public ActionResult Create(DesafioCreate model, string[] selectedTag, HttpPostedFileBase file)
        {
            TipoAvaliacao TipoAvaliacao = db.TiposAvaliacao.Where(i => i.TipoAvaliacaoId == 1).FirstOrDefault();

            System.Diagnostics.Debug.WriteLine(model.lat);
            if (selectedTag == null)
            {
                ModelState.AddModelError("TagErro", "Tem que Seleccionar pelo menos uma tag");
            }
            if (file == null)
            {
                ModelState.AddModelError("ErroFicheiro", "Tem que Submeter pelo menos um ficheiro");
            }

            if (file != null)
            {
                string extensao = Path.GetExtension(file.FileName);
                if (extensao != ".zip")
                {
                    ModelState.AddModelError("Zip", "Compacte os ficheiros e envie em formato .Zip");
                }
            }



            if (ModelState.IsValid)
            {
                Desafio desafio = new Desafio();
                Anexo   anexo   = new Anexo();
                desafio.lat               = model.lat;
                desafio.lon               = model.lon;
                desafio.TipoTrabalho      = model.TipoTrabalho;
                desafio.Descricao         = model.Descricao;
                desafio.DataCriacao       = DateTime.Now;
                desafio.TipoAvaliacao     = TipoAvaliacao;
                desafio.valor             = model.ValorMonetario;
                desafio.Pontos            = model.Pontos;
                desafio.DataFinalSolucoes = model.DesafioSolucao;
                desafio.ApplicationUserId = User.Identity.GetUserId();
                desafio.DiasAvaliacao     = obtemDias(model.DesafioSolucao);
                desafio.DiasVotacao       = obtemDias(model.DesafioSolucao);

                var listaTags = atualizarTagsDesafio(desafio, selectedTag);
                desafio.Tags = listaTags;



                db.Desafios.Add(desafio);

                db.SaveChanges();

                if (file.ContentLength > 0)
                {
                    string filePath = Path.Combine(HttpContext.Server.MapPath("~/Anexos/"),
                                                   Path.GetFileName(file.FileName));
                    file.SaveAs(filePath);
                    anexo.Caminho      = filePath;
                    anexo.DesafioId    = desafio.DesafioId;
                    anexo.NomeFicheiro = file.FileName;
                    db.Anexos.Add(anexo);
                }

                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            preencherTagDesafio();
            return(View(model));
        }