public ActionResult DeleteConfirmed(int id) { Desafio desafio = db.Desafios.Find(id); db.Desafios.Remove(desafio); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "DesafioId,TipoTrabalho,ApplicationUserId,Descricao,TipoAvaliacaoId,valor,Visualizacoes,DataCriacao,lat,lon,IdSolucaoVencedora")] Desafio desafio) { if (ModelState.IsValid) { db.Entry(desafio).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(desafio)); }
// GET: Desafios/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Desafio desafio = db.Desafios.Find(id); if (desafio == null) { return(HttpNotFound()); } return(View(desafio)); }
private void preencherTagDesafio(Desafio desafio) { var tags = db.Tags; var tagsUsers = new HashSet <int>(desafio.Tags.Select(a => a.Id)); var viewModel = new List <TagDesafio>(); foreach (var tag in tags) { viewModel.Add(new TagDesafio { TagId = tag.Id, Nome = tag.NomeTag, Seleccionado = tagsUsers.Contains(tag.Id) }); } ViewBag.TagsDesafio = viewModel; }
private ICollection <Tag> atualizarTagsDesafio(Desafio desafio, string[] selectedTag) { ICollection <Tag> listaTags; var selectedTagsHS = new HashSet <string>(selectedTag); var Tags = db.Tags.ToList(); listaTags = new List <Tag>(); foreach (var Tag in Tags) { if (selectedTagsHS.Contains(Tag.Id.ToString())) { listaTags.Add(Tag); Tag.Desafios.Add(desafio); } } return(listaTags); }
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)); }
// GET: Desafios/Details/5 public ActionResult Details(int?id) { var userId = User.Identity.GetUserId(); var desafioVisualizacoes = db.Desafios.Where(d => d.DesafioId == id && d.ApplicationUserId != userId).FirstOrDefault(); System.Diagnostics.Debug.WriteLine(desafioVisualizacoes); if (desafioVisualizacoes != null) { desafioVisualizacoes.Visualizacoes++; db.Entry(desafioVisualizacoes).State = EntityState.Modified; db.SaveChanges(); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Desafio desafio = db.Desafios.Find(id); if (desafio == null) { return(HttpNotFound()); } return(View(desafio)); }
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)); }