Example #1
0
        public static void registarActividadeArtefacto(Artefacto art, out Dictionary<int, int> imagensMes, out Dictionary<int, int> comentariosMes)
        {
            comentariosMes = new Dictionary<int, int>();
            imagensMes = new Dictionary<int, int>();

            iniciarDicionarioActividade(comentariosMes);
            iniciarDicionarioActividade(imagensMes);

            foreach (Comentario com in art.Comentarios) { double diffDias = (System.DateTime.Now - com.DataPublicacao).TotalDays; actualizaDicionarioActividade(comentariosMes, diffDias); }
            foreach (Imagem img in art.Imagens) { double diffDias = (System.DateTime.Now - img.DataPublicacao).TotalDays; actualizaDicionarioActividade(imagensMes, diffDias); }
        }
        public ActionResult AdicionarArtefacto(int id)
        {
            Utilizador u = (Utilizador)(Session["Utilizador"]);
            string nome = Request["nome"];

            HttpPostedFileBase file = Request.Files[0];
            string filename = System.IO.Path.GetFileName(Request.Files[0].FileName);
            var path = System.IO.Path.Combine(Server.MapPath("~/Images/Artefactos/"), filename);
            file.SaveAs(path);

            Imagem i = new Imagem
            {
                Apagada = false,
                AutorID = u.UtilizadorID,
                Comentarios = new List<Comentario>(),
                DataPublicacao = System.DateTime.Now,
                Descricao = nome,
                DirectoriaID = 4,
                Nome = filename,
                Publica = true
            };
            string descricao = Request["descricao"];
            string isPublico = Request["isPublico"];
            string coordenadas = Request["coordenadas"];
            bool publico = (isPublico == "on") ? true : false;
            string datastr = Request["data"];
            DateTime data = DateTime.Parse(datastr);
            Local l = db.Locais.Find(id);
            Artefacto a = new Artefacto
            {
                Apagado = false,
                Comentarios = new List<Comentario>(),
                Cordenadas = coordenadas,
                //DataDescoberta = DateTime.ParseExact(data, "dd-mm-yyyy", null),
                DataDescoberta = data,
                Descricao = descricao,
                Imagens = new List<Imagem>(),
                LocalID = id,
                Nome = nome,
                OrganizacaoID = l.OrganizacaoID,
                Publico = publico,
                ResponsavelID = u.UtilizadorID
            };

            db.Artefactos.Add(a);
            db.SaveChanges();
            Artefacto aux = db.Artefactos.Where(art => art.Nome == nome).FirstOrDefault();
            aux.Imagens.Add(i);
            db.SaveChanges();
            return RedirectToAction("Artefactos", "DashLocal", new { id = id });
        }
        public ActionResult Definicoes(Artefacto artefacto)
        {
            if (ModelState.IsValid)
            {
                db.Entry(artefacto).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Dashboard", new { id = artefacto.ArtefactoID });
            }

            Artefacto art = db.Artefactos.Find(artefacto.ArtefactoID);
            ViewBag.ResponsavelID = new SelectList(artefacto.Organizacao.Membros, "ProfissionalID", "Utilizador.Nome", artefacto.ResponsavelID);
            ViewBag.LocalID = new SelectList(db.Locais, "LocalID", "Nome", artefacto.LocalID);

            ViewData["Dashboard"] = "Artefacto";
            ViewData["Activo"] = "Definições";

            return View(art);
        }
 public ActionResult Edit(Artefacto artefacto)
 {
     if (ModelState.IsValid)
     {
         db.Entry(artefacto).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     ViewBag.LocalID = new SelectList(db.Locais, "LocalID", "Nome", artefacto.LocalID);
     ViewBag.OrganizacaoID = new SelectList(db.Organizacoes, "OrganizacaoID", "Nome", artefacto.OrganizacaoID);
     ViewBag.ResponsavelID = new SelectList(db.Profissionais, "ProfissionalID", "ProfissionalID", artefacto.ResponsavelID);
     return View(artefacto);
 }