Beispiel #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            tbl_Imagens tbl_Imagens = db.tbl_Imagens.Find(id);

            db.tbl_Imagens.Remove(tbl_Imagens);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #2
0
 public ActionResult Edit([Bind(Include = "Id,TituloImg,Caminho,Descricao")] tbl_Imagens tbl_Imagens)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tbl_Imagens).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(tbl_Imagens));
 }
Beispiel #3
0
        public ActionResult Create([Bind(Include = "Id,TituloImg,Caminho,Descricao")] tbl_Imagens tbl_Imagens)
        {
            if (ModelState.IsValid)
            {
                db.tbl_Imagens.Add(tbl_Imagens);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(tbl_Imagens));
        }
Beispiel #4
0
        // GET: tbl_Imagens/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbl_Imagens tbl_Imagens = db.tbl_Imagens.Find(id);

            if (tbl_Imagens == null)
            {
                return(HttpNotFound());
            }
            return(View(tbl_Imagens));
        }
        public ActionResult Create([Bind(Include = "Id_produto,Nome,Descricao,Preco,Categoria,Sub_Categoria,Stock,Peso,SKU,Marca")] tbl_Produtos tbl_Produtos, HttpPostedFileBase[] file)
        {
            if (ModelState.IsValid)
            {
                //List<tbl_Imagens> listIMG=new List<tbl_Imagens>();

                //tbl_Produtos.tbl_Imagens = new List<tbl_Imagens>();


                //Correr todos os ficheiros disponiveis no formulario
                foreach (HttpPostedFileBase i in file)
                {
                    //se existirem ficheiros
                    if (i != null)
                    {
                        //preparar um novo registo do tipo tbl_Imagens
                        tbl_Imagens intem = new tbl_Imagens();
                        //especificacao de atributos
                        intem.TituloImg = i.FileName;
                        intem.Descricao = "teste";
                        //criar um caminho com o nome do ficheiro concatenado
                        var filePath = Path.Combine((Server.MapPath("~/Imagens/")), i.FileName);
                        //especificacao do caminho
                        intem.Caminho = "/Imagens/" + i.FileName;
                        //guardar o ficheiro no caminho
                        i.SaveAs(filePath);
                        //criar uma nova ligacao de muitos para muitos(tbl.Imagens.ADD)
                        tbl_Produtos.tbl_Imagens.Add(intem);
                        //listIMG.Add(intem);
                    }
                }

                db.tbl_Produtos.Add(tbl_Produtos);
                db.SaveChanges();


                return(RedirectToAction("Index"));
            }

            ViewBag.Categoria     = new SelectList(db.tbl_Categoria, "Id_cat", "Nome", tbl_Produtos.Categoria);
            ViewBag.Sub_Categoria = new SelectList(db.tbl_Sub_Categoria, "Id_sub_cat", "Nome", tbl_Produtos.Sub_Categoria);
            ViewBag.Marca         = new SelectList(db.tbl_Marca, "Id", "Nome", tbl_Produtos.Marca);
            return(View(tbl_Produtos));
        }
Beispiel #6
0
        public ActionResult Edit([Bind(Include = "Id_produto,Nome,Descricao,Preco,Categoria,Sub_Categoria,Stock,Peso,SKU,Marca")] tbl_Produtos tbl_Produtos, FormCollection collection, HttpPostedFileBase[] file)
        {
            if (ModelState.IsValid)
            {
                //recolha das check boxs ativas
                var checks = collection.GetValues("check");

                //guardar referencia da base de dados do produto que estamos a trabalhar
                var original = db.tbl_Produtos.Include(c => c.tbl_Imagens).SingleOrDefault(c => c.Id_produto == tbl_Produtos.Id_produto);

                //Lista de imagens para extrair (Questão de muitos para muitos)
                List <tbl_Imagens> listToDel = new List <tbl_Imagens>(original.tbl_Imagens);

                //Limpar a navegacao da chave estrangeira
                original.tbl_Imagens.Clear();
                tbl_Produtos.tbl_Imagens.Clear();


                //para cada checkbox ativa
                if (checks != null)
                {
                    foreach (var idd in checks)
                    {
                        //retiramos da lista para eliminar
                        listToDel.Remove(db.tbl_Imagens.Find(Int64.Parse(idd)));
                        original.tbl_Imagens.Add(db.tbl_Imagens.Find(Int64.Parse(idd)));
                        // tbl_Produtos.tbl_Imagens.Add(db.tbl_Imagens.Find(Int64.Parse(idd)));


                        //criar uma nova navegacao de chave estrangeira para as imagens do formulario
                        db.tbl_Imagens.Attach(db.tbl_Imagens.Find(Int64.Parse(idd)));
                    }
                }



                //para cada ficheiro carregado
                foreach (HttpPostedFileBase i in file)
                {
                    if (i != null)
                    {
                        tbl_Imagens intem = new tbl_Imagens();
                        intem.TituloImg = i.FileName;
                        intem.Descricao = "teste";
                        var filePath = Path.Combine((Server.MapPath("~/Imagens/")), i.FileName);
                        intem.Caminho = "/Imagens/" + i.FileName;
                        i.SaveAs(filePath);
                        original.tbl_Imagens.Add(intem);
                        tbl_Produtos.tbl_Imagens.Add(intem);
                        //listIMG.Add(intem);
                    }
                }

                //guardar referencia do produto a editar

                var prod = db.tbl_Produtos.Find(tbl_Produtos.Id_produto);

                // fazer uma tentativa de update ao produto da referencia
                if (TryUpdateModel(prod))
                {
                    //original = tbl_Produtos;
                    //db.Entry(tbl_Produtos).State = EntityState.Modified;


                    //atualizar a base de dados
                    db.SaveChanges();

                    return(RedirectToAction("Index"));
                }
            }
            ViewBag.Categoria     = new SelectList(db.tbl_Categoria, "Id_cat", "Nome", tbl_Produtos.Categoria);
            ViewBag.Sub_Categoria = new SelectList(db.tbl_Sub_Categoria, "Id_sub_cat", "Nome", tbl_Produtos.Sub_Categoria);
            ViewBag.Marca         = new SelectList(db.tbl_Marca, "Id", "Nome", tbl_Produtos.Marca);
            return(View(tbl_Produtos));
        }