//READ public ActionResult ListadoProducto(int?page) { List <ProductoAdminViewModel> producto = new List <ProductoAdminViewModel>(); IPagedList <ProductoAdminViewModel> lista; lista = null; foreach (var data in context.Productos.Where(x => x.Activo == true).OrderBy(x => x.CodigoMaestro).ToList()) { var model = new ProductoAdminViewModel() { IdProducto = data.IdProducto, NombreProducto = data.NombreProducto, CodigoMaestro = Convert.ToInt32(data.CodigoMaestro) }; producto.Add(model); lista = producto.ToPagedList(page ?? 1, 10); } return(View(lista)); }
public ActionResult EditarProducto(ProductoAdminViewModel model, int id, HttpPostedFileBase Imagen, HttpPostedFileBase ImagenENG) { IEnumerable <SelectListItem> listaCategoria = context.Categorias .Where(x => x.Activo == true && x.IdIdioma == 1) .OrderBy(x => x.IdCategoria) .Select(x => new SelectListItem { Value = x.IdCategoria.ToString(), Text = x.NombreCategoria }); ViewBag.Categoria = listaCategoria; IEnumerable <SelectListItem> listaCategoriaENG = context.Categorias .Where(x => x.Activo == true && x.IdIdioma == 2) .OrderBy(x => x.IdCategoria) .Select(x => new SelectListItem { Value = x.IdCategoria.ToString(), Text = x.NombreCategoria }); ViewBag.CategoriaENG = listaCategoriaENG; Productos producto = context.Productos.FirstOrDefault(x => x.CodigoMaestro == id && x.IdIdioma == 1); Productos productoENG = context.Productos.FirstOrDefault(x => x.CodigoMaestro == id && x.IdIdioma == 2); string pathImagen = "/"; if (Imagen != null) { pathImagen = SubirArchivo(Imagen, "~/Content/Template/Imagenes/Upload"); } string pathImagenENG = "/"; if (ImagenENG != null) { pathImagenENG = SubirArchivo(ImagenENG, "~/Content/Template/Imagenes/Upload"); } if (ModelState.IsValid) { context.Entry(producto).State = EntityState.Modified; producto.IdProducto = model.IdProducto; producto.NombreProducto = model.NombreProducto; producto.NombreComun = model.NombreComun; producto.DescripcionCortaProducto = model.DescripcionCortaProducto; producto.DescripcionLargaProducto = model.DescripcionLargaProducto; producto.Indicaciones = model.Indicaciones; producto.Dosis = model.Dosis; producto.IdCategoria = model.IdCategoria; producto.Publicar = model.Publicar; producto.IdIdioma = model.IdIdioma; producto.PathImg = (pathImagen != "") ? "/Content/Template/Imagenes/Upload/" + pathImagen : ""; producto.Presentacion = model.Presentacion; producto.CodigoMaestro = model.CodigoMaestro; if (producto.PathImg == "/Content/Template/Imagenes/Upload//") { producto.PathImg = model.PathImg; } context.Entry(productoENG).State = EntityState.Modified; productoENG.IdProducto = model.IdProductoENG; productoENG.NombreProducto = model.NombreProductoENG; productoENG.NombreComun = model.NombreComunENG; productoENG.DescripcionCortaProducto = model.DescripcionCortaProductoENG; productoENG.DescripcionLargaProducto = model.DescripcionLargaProductoENG; productoENG.Indicaciones = model.IndicacionesENG; productoENG.Dosis = model.DosisENG; productoENG.IdCategoria = model.IdCategoriaENG; productoENG.Publicar = model.PublicarENG; productoENG.IdIdioma = model.IdIdiomaENG; productoENG.PathImg = (pathImagenENG != "") ? "/Content/Template/Imagenes/Upload/" + pathImagenENG : ""; productoENG.Presentacion = model.PresentacionENG; productoENG.CodigoMaestro = model.CodigoMaestroENG; if (productoENG.PathImg == "/Content/Template/Imagenes/Upload//") { productoENG.PathImg = model.PathImgENG; } context.SaveChanges(); } return(RedirectToAction("IndexCrear")); }
//UPDATE public ActionResult EditarProducto(int?id) { IEnumerable <SelectListItem> listaIdioma = context.Idiomas .Where(x => x.Activo == true) .OrderBy(x => x.IdIdioma) .Select(x => new SelectListItem { Value = x.IdIdioma.ToString(), Text = x.Idioma }); ViewBag.Idioma = listaIdioma; IEnumerable <SelectListItem> listaCategoria = context.Categorias .Where(x => x.Activo == true && x.IdIdioma == 1) .OrderBy(x => x.IdCategoria) .Select(x => new SelectListItem { Value = x.IdCategoria.ToString(), Text = x.NombreCategoria }); ViewBag.Categoria = listaCategoria; IEnumerable <SelectListItem> listaCategoriaENG = context.Categorias .Where(x => x.Activo == true && x.IdIdioma == 2) .OrderBy(x => x.IdCategoria) .Select(x => new SelectListItem { Value = x.IdCategoria.ToString(), Text = x.NombreCategoria }); ViewBag.CategoriaENG = listaCategoriaENG; Productos producto = context.Productos.FirstOrDefault(x => x.CodigoMaestro == id && x.IdIdioma == 1); //Tabla de BD Productos productoENG = context.Productos.FirstOrDefault(x => x.CodigoMaestro == id && x.IdIdioma == 2); //Tabla de BD ProductoAdminViewModel productoViewModel = new ProductoAdminViewModel() { IdProducto = producto.IdProducto, NombreProducto = producto.NombreProducto, NombreComun = producto.NombreComun, DescripcionCortaProducto = producto.DescripcionCortaProducto, DescripcionLargaProducto = producto.DescripcionLargaProducto, Indicaciones = producto.Indicaciones, Dosis = producto.Dosis, IdCategoria = Convert.ToInt32(producto.IdCategoria), Publicar = Convert.ToBoolean(producto.Publicar), IdIdioma = 1, PathImg = producto.PathImg, Presentacion = producto.Presentacion, CodigoMaestro = Convert.ToInt32(producto.CodigoMaestro), FechaCreacion = DateTime.Now, FechaModificacion = DateTime.Now, UsuarioCreacion = "admin", UsuarioModificacion = "admin", IdProductoENG = productoENG.IdProducto, NombreProductoENG = productoENG.NombreProducto, NombreComunENG = productoENG.NombreComun, DescripcionCortaProductoENG = producto.DescripcionCortaProducto, DescripcionLargaProductoENG = producto.DescripcionLargaProducto, IndicacionesENG = productoENG.Indicaciones, DosisENG = productoENG.Dosis, IdCategoriaENG = Convert.ToInt32(productoENG.IdCategoria), PublicarENG = Convert.ToBoolean(productoENG.Publicar), IdIdiomaENG = 2, PathImgENG = productoENG.PathImg, PresentacionENG = productoENG.Presentacion, CodigoMaestroENG = Convert.ToInt32(productoENG.CodigoMaestro), FechaCreacionENG = DateTime.Now, FechaModificacionENG = DateTime.Now, UsuarioCreacionENG = "admin", UsuarioModificacionENG = "admin" }; if (producto == null) { return(HttpNotFound()); } return(View(productoViewModel)); //ViewModel }
public ActionResult CrearProducto(ProductoAdminViewModel model, HttpPostedFileBase Imagen, HttpPostedFileBase ImagenENG, IdiomasAdminViewModel listmodel, CategoriaAdminViewModel categorialist) { ProductoFotografias productoFotografias = new ProductoFotografias(); List <ProductoFotografiasAdminViewModel> productoFotografiasLista = new List <ProductoFotografiasAdminViewModel>(); foreach (var data in context.ProductoFotografias.Where(x => x.Activo == true).OrderBy(x => x.IdFotografia).ToList()) { var modelproductoFotografias = new ProductoFotografiasAdminViewModel() { IdFotografia = data.IdFotografia, PathFoto = data.PathFoto, Activo = true, Publicar = true, FechaCreacion = DateTime.Now, UsuarioCreacion = "/", FechaModificacion = DateTime.Now, UsuarioModificacion = "/", }; productoFotografiasLista.Add(modelproductoFotografias); } //using (var db = new UltimateLabsEntities()) //{ // db.ProductoFotografias.(incident); // foreach (var item in LocationList) // { // db.Location.AddObject(location); // } // db.Comment.AddObject(comment); // db.SaveChanges(); //} //var tmpproductoFotografia = new List<tmpProductoFotografias>(); //foreach (var loc in ) //{ // var location = new Data.Location // { // PersonId = model.PersonId, // SiteCode = loc.SiteCode, // IncidentId = loc.IncidentId // }; // locationList.Add(location); //} //using (var db = new MyEntities()) //{ // db.Order.AddObject(incident); // foreach (var item in LocationList) // { // db.Location.AddObject(location); // } // db.Comment.AddObject(comment); // db.SaveChanges(); //} IEnumerable <SelectListItem> listaIdioma = context.Idiomas .Where(x => x.Activo == true) .OrderBy(x => x.IdIdioma) .Select(x => new SelectListItem { Value = x.IdIdioma.ToString(), Text = x.Idioma }); ViewBag.Idioma = listaIdioma; IEnumerable <SelectListItem> listaCategoria = context.Categorias .Where(x => x.Activo == true && x.IdIdioma == 1) .OrderBy(x => x.IdCategoria) .Select(x => new SelectListItem { Value = x.IdCategoria.ToString(), Text = x.NombreCategoria }); ViewBag.Categoria = listaCategoria; IEnumerable <SelectListItem> listaCategoriaENG = context.Categorias .Where(x => x.Activo == true && x.IdIdioma == 2) .OrderBy(x => x.IdCategoria) .Select(x => new SelectListItem { Value = x.IdCategoria.ToString(), Text = x.NombreCategoria }); ViewBag.CategoriaENG = listaCategoriaENG; string pathImagen = "/"; if (Imagen != null) { pathImagen = SubirArchivo(Imagen, "~/Content/Template/Imagenes/Upload"); } Productos producto = new Productos() { CodigoMaestro = context.Productos.Count() + 1, NombreProducto = model.NombreProducto, NombreComun = model.NombreComun, DescripcionCortaProducto = model.DescripcionCortaProducto, DescripcionLargaProducto = model.DescripcionLargaProducto, IdCategoria = model.IdCategoria, Indicaciones = model.Indicaciones, Dosis = model.Dosis, Activo = true, Publicar = model.Publicar, IdIdioma = 1, PathImg = (pathImagen != "") ? "/Content/Template/Imagenes/Upload/" + pathImagen : "/", }; context.Productos.Add(producto); context.SaveChanges(); string pathImagenENG = "/"; if (ImagenENG != null) { pathImagenENG = SubirArchivo(ImagenENG, "~/Content/Template/Imagenes/Upload"); } Productos productoENG = new Productos() { CodigoMaestro = context.Productos.Count(), NombreProducto = model.NombreProductoENG, NombreComun = model.NombreComunENG, DescripcionCortaProducto = model.DescripcionCortaProductoENG, DescripcionLargaProducto = model.DescripcionLargaProductoENG, IdCategoria = model.IdCategoriaENG, Indicaciones = model.IndicacionesENG, Dosis = model.DosisENG, Activo = true, Publicar = model.PublicarENG, IdIdioma = 2, PathImg = (pathImagenENG != "") ? "/Content/Template/Imagenes/Upload/" + pathImagenENG : "/", }; context.Productos.Add(productoENG); context.SaveChanges(); var codigo = context.Productos.FirstOrDefault(x => x.NombreProducto == model.NombreProducto && x.NombreComun == model.NombreComun && x.DescripcionCortaProducto == model.DescripcionCortaProducto).CodigoMaestro; var lista = context.ProductoFotografias.Where(x => x.CodigoMaestro == null).ToList(); foreach (var item in lista) { context.ProductoFotografias.Attach(item); // State = Unchanged item.CodigoMaestro = codigo; // State = Modified, and only the FirstName property is dirty. } context.SaveChanges(); return(RedirectToAction("IndexCrear")); }