示例#1
0
 public ActionResult Edit([Bind(Include = "IdUtilizador,Nome,UsernameID,Localidade,Sexo,DataNasc")] Utilizador utilizador)
 {
     if (ModelState.IsValid)
     {
         db.Entry(utilizador).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(utilizador));
 }
示例#2
0
        public ActionResult Create([Bind(Include = "IdCategoria,Designacao")] Categoria categoria)
        {
            //Se o utilizador que está a tentar aceder não pertence á role Gestores, redireccionar para a página inicial
            if (!User.IsInRole("Gestores"))
            {
                return(RedirectToAction("../Artigo"));
            }
            if (ModelState.IsValid)
            {
                db.Categoria.Add(categoria);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(categoria));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            //Encontrar a imagem pertendida
            Multimedia multimedia = db.RecMultimedia.Find(id);

            //Eliminar a imagem
            db.RecMultimedia.Remove(multimedia);
            //Guardar as alterações
            db.SaveChanges();
            return(RedirectToAction("../Artigo"));
        }
        public ActionResult Create([Bind(Include = "Titulo,Preco,Descricao,Contacto,IdCategoria")] Artigo artigo)
        {
            if (ModelState.IsValid)
            {
                //variável auxiliar para guardar o caminho da imagem
                var caminho = "";

                //Criar uma lista de "Multimedia"
                List <Multimedia> ficheiros = new List <Multimedia>();
                for (int i = 0; i < Request.Files.Count; i++)
                {
                    //Obtém cada ficheiro enviado pelo cliente
                    var ficheiro = Request.Files[i];
                    //Obtém o tipo do ficheiro enviado
                    string mimeType = ficheiro.ContentType;

                    //Verifica se foir introduzido um ficheiro
                    //Garante que apenas sao aceites imagens com extensão JPEG ou PNG
                    if (ficheiro != null && (mimeType == "image/jpeg" || mimeType == "image/png"))
                    {
                        //criar um guid para atribuir ao nome do ficheiro enviado, garantindo que não existem ficheiros com nomes iguais
                        Guid g;
                        g = Guid.NewGuid();
                        //obter a extensão do ficheiro
                        string extensao = Path.GetExtension(ficheiro.FileName).ToLower();
                        //Concatenar o nome do ficheiro com a extensão
                        string nomeFicheiro = g.ToString() + extensao;

                        //Concatenar num "Path" o caminho onde irá ser guardado o ficheiro no servidor com o seu nome
                        caminho = Path.Combine(Server.MapPath("~/Imagens/"), nomeFicheiro);

                        //Criar um novo objecto multimedia
                        Multimedia fotografia = new Multimedia()
                        {
                            IdArtigo   = artigo.IdArtigo,
                            Designacao = nomeFicheiro,
                            Tipo       = "fotografia"
                        };

                        //Adicionar o objecto multimedia a base de dados
                        db.RecMultimedia.Add(fotografia);

                        //Gravar os ficheiros no servidor
                        ficheiro.SaveAs(caminho);
                    }
                    //Se não foi enviado nenhum ficheiro, atribuir a imagem por defeito ao artigo
                    else
                    {
                        Multimedia porDefeito = new Multimedia()
                        {
                            IdArtigo   = artigo.IdArtigo,
                            Designacao = "defaultThumbnail.jpg",
                            Tipo       = "fotografia"
                        };

                        db.RecMultimedia.Add(porDefeito);
                    }
                }

                //Obter o user que está a criar o novo artigo e atribuir o seu id ao artigo que está a ser criado (IdDono)
                var curUser = db.Utilizador.Where(u => u.UsernameID == User.Identity.Name).FirstOrDefault();
                artigo.IdDono = curUser.IdUtilizador;

                //Colocar o artigo como não válido, será necessário o mesmo ser avaliado por um gestor antes de se tornar público
                artigo.Validado = false;

                //Adicionar artigo à base de dados e guardar as alterações
                db.Artigo.Add(artigo);
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            ViewBag.IdCategoria = new SelectList(db.Categoria, "IdCategoria", "Designacao", artigo.IdCategoria);
            ViewBag.IdDono      = new SelectList(db.Utilizador, "IdUtilizador", "Nome", artigo.IdDono);
            return(View(artigo));
        }