public ActionResult Criar()
 {
     try
     {
         Produto prod = new Produto();
         if (ModelState.IsValid)
         {
             List<SelectListItem> li = new List<SelectListItem>();
             li.Add(new SelectListItem { Text = "Categoria", Value = "0" });
             li.Add(new SelectListItem { Text = "Acessórios para Veículos", Value = "4" });
             li.Add(new SelectListItem { Text = "Comidas/Bebidas/Cigarros", Value = "24" });
             li.Add(new SelectListItem { Text = "Animais", Value = "5" });
             li.Add(new SelectListItem { Text = "Arte", Value = "17" });
             li.Add(new SelectListItem { Text = "Bebês", Value = "6" });
             li.Add(new SelectListItem { Text = "Bolsas", Value = "20" });
             li.Add(new SelectListItem { Text = "Calçados, roupas e bolsas", Value = "7" });
             li.Add(new SelectListItem { Text = "Câmbio", Value = "23" });
             li.Add(new SelectListItem { Text = "Câmeras e Acessórios", Value = "8" });
             li.Add(new SelectListItem { Text = "Celulares e Telefone", Value = "10" });
             li.Add(new SelectListItem { Text = "Eletrodomésticos", Value = "11" });
             li.Add(new SelectListItem { Text = "Eletrônicos", Value = "21" });
             li.Add(new SelectListItem { Text = "Esportes", Value = "12" });
             li.Add(new SelectListItem { Text = "Games", Value = "13" });
             li.Add(new SelectListItem { Text = "Imóveis", Value = "2" });
             li.Add(new SelectListItem { Text = "Informática", Value = "14" });
             li.Add(new SelectListItem { Text = "Ingressos", Value = "22" });
             li.Add(new SelectListItem { Text = "Instrumentos Musicais", Value = "15" });
             li.Add(new SelectListItem { Text = "Joias e Relógios", Value = "16" });
             li.Add(new SelectListItem { Text = "Móveis", Value = "9" });
             li.Add(new SelectListItem { Text = "Roupas", Value = "19" });
             li.Add(new SelectListItem { Text = "Saúde e Beleza", Value = "18" });
             li.Add(new SelectListItem { Text = "Serviços", Value = "3" });
             li.Add(new SelectListItem { Text = "Veículos", Value = "1" });
             ViewData["country"] = li;
             ViewData["cidade"] = "";
             return View(prod);
         }
     }
     catch (Exception ex)
     {
         Mail email = new Mail();
         email.Subject = "erro criar";
         email.Body = "Criar()" + ex.StackTrace;
         SendMailerController a = new SendMailerController();
         a.Index(email);
     }
     return View("Error");
 }
        public ActionResult Criarr(Produto prod, string State, int selectedObjects, string[] Hiddens)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    List<Imagem> lstImagens = new List<Imagem>();
                    int aux = 0;
                    foreach (string img in Hiddens)
                    {
                        aux++;
                        if (img != "")
                        {
                            var imagem = new Imagem
                            {
                                imgBin = img
                            };
                            if (aux != selectedObjects)
                                lstImagens.Add(imagem);
                        }
                    }
                    prod.Usuario = new MyAppUser();
                    string id = Session["user"].ToString();
                    prod.Usuario = db.Usuarios.SingleOrDefault(a => a.Id.ToString() == id);
                    prod.Imagens = lstImagens;

                    Categoria cat = new Categoria();
                    int codigo = Convert.ToInt16(State);
                    cat = db.Categorias.Single(a => a.categoriaCod == codigo);
                    prod.categoria = cat;
                    long cod = 0;
                    if (Session["location"] != null)
                        cod = Convert.ToInt64(Session["location"].ToString());
                    else
                        cod = 0;

                    prod.Cidade = db.Cidades.SingleOrDefault(a => a.cidadeCod == cod);

                    db.Produtos.Add(prod);
                    db.SaveChanges();

                    //salvar a imagem principal no disco
                    byte[] bytes = Convert.FromBase64String(Hiddens[selectedObjects - 1].Substring(23));
                    Image image;
                    using (MemoryStream ms = new MemoryStream(bytes))
                    {
                        image = Image.FromStream(ms);
                    }
                    var prodAux = db.Produtos.SingleOrDefault(a => a.Nome == prod.Nome && a.Preco == prod.Preco && a.Usuario.Id == prod.Usuario.Id && a.Status == 0).produtoID;
                    string path = Path.Combine(Server.MapPath("~/Content/Images/Principais/"), prodAux.ToString() + ".jpg");

                    Bitmap tempBmp = new Bitmap(image.Width, image.Height);
                    Graphics g = Graphics.FromImage(tempBmp);
                    //draw the original image on tempBmp
                    g.DrawImage(image, 0, 0, image.Width, image.Height);
                    g.Dispose();
                    image.Dispose();
                    tempBmp.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg);

                    Session["produtoid"] = prodAux.ToString();
                    Session["titulo"] = prod.Nome;
                    Session["descricao"] = prod.Descricao;

                    return RedirectToAction("Index");
                }
            }
            catch (Exception ex)
            {
                Mail email = new Mail();
                email.Subject = "erro criar2";

                email.Body = "Criarr(Produto prod, string State, string selectedObjects, string[] Hiddens)" + prod + State + selectedObjects + Hiddens + ex.StackTrace + ex.Message;
                SendMailerController a = new SendMailerController();
                a.Index(email);
            }
            return View("Error");
        }
        public ActionResult Editar(Produto prod)
        {
            try
            {

                Produto produVelho = new Produto();
                produVelho = db.Produtos.SingleOrDefault(a => a.produtoID == prod.produtoID);
                produVelho.Descricao = prod.Descricao;
                produVelho.Nome = prod.Nome;
                produVelho.Preco = prod.Preco;
                db.SaveChanges();
                //return View("Index");
                return RedirectToAction("Index");
            }
            catch (Exception ex)
            {
                Mail email = new Mail();
                email.Subject = "erro editar2";
                email.Body = "Editar(Produto prod)" + prod + ex.StackTrace;
                SendMailerController a = new SendMailerController();
                a.Index(email);
            }
            return View("Error");
        }