Exemplo n.º 1
0
        public ActionResult Crud(int id = 0)
        {
            var _productoInDb = _context.Productos.SingleOrDefault(x => x.Id == id);
            var _detalleInDb  = _context.DetalleProductos.SingleOrDefault(x => x.ProductoId == id);
            var productoView  = new FormProductoViewModel()
            {
                DetalleProductofrm = null
            };

            if (id > 0)
            {
                if (_productoInDb == null)
                {
                    return(HttpNotFound());
                }

                productoView.Productofrm = _productoInDb;
                if (_detalleInDb != null)
                {
                    productoView.DetalleProductofrm = _detalleInDb;
                }

                ViewData["Productofrm.CategoriaID"]    = new SelectList(_context.Categorias.OrderBy(c => c.Nombre), "Id", "Nombre", _productoInDb.CategoriaId);
                ViewData["Productofrm.ImpuestoID"]     = new SelectList(_context.Impuestos.OrderBy(i => i.Tasa), "Id", "Nombre", _productoInDb.ImpuestoId);
                ViewData["Productofrm.TipoProductoID"] = new SelectList(_context.TipoProductos.OrderBy(i => i.Id), "Id", "Nombre", _productoInDb.TipoProductoId);

                return(View(productoView));
            }

            ViewData["Productofrm.CategoriaID"]    = new SelectList(_context.Categorias.OrderBy(c => c.Nombre), "Id", "Nombre");
            ViewData["Productofrm.ImpuestoID"]     = new SelectList(_context.Impuestos.OrderBy(i => i.Tasa), "Id", "Nombre");
            ViewData["Productofrm.TipoProductoID"] = new SelectList(_context.TipoProductos.OrderBy(i => i.Id), "Id", "Nombre");

            return(View(productoView));
        }
Exemplo n.º 2
0
        public ActionResult Guardar(FormProductoViewModel productoview)
        {
            ModelState.Remove("Productofrm.Id");
            ModelState.Remove("DetalleProductofrm.Id");
            if (ModelState.IsValid)
            {
                if (productoview.Productofrm.Id == 0)
                {
                    _context.Productos.Add(productoview.Productofrm);

                    var inventario = new Inventario {
                        ProductoId = productoview.Productofrm.Id, Stock = productoview.Cantidad
                    };
                    _context.Inventarios.Add(inventario);

                    if (productoview.Productofrm.TipoProductoId == Tipo_negocio.Seguridad)
                    {
                        productoview.DetalleProductofrm.ProductoId = productoview.Productofrm.Id;
                        _context.DetalleProductos.Add(productoview.DetalleProductofrm);
                        if (IndexValidacion.SaveChanges(_context).Respuestaex)
                        {
                            var detalleInBD = _context.DetalleProductos.SingleOrDefault(x => x.ProductoId == productoview.Productofrm.Id);
                            detalleInBD.ImagenFile = productoview.DetalleProductofrm.ImagenFile;
                            ImagenHelper.SubirImagen(detalleInBD);
                        }
                        else
                        {
                            productoview.DetalleProductofrm.ImagenFile = productoview.DetalleProductofrm.ImagenFile;
                            ModelState.AddModelError("Codigoproducto", IndexValidacion.SaveChanges(_context).Mensaje);
                        }
                    }
                    if (IndexValidacion.SaveChanges(_context).Respuestaex)
                    {
                        return(RedirectToAction("Index", "Productos"));
                    }
                    ModelState.AddModelError("Codigoproducto", IndexValidacion.SaveChanges(_context).Mensaje);
                }
                else
                {
                    var productoInBd = _context.Productos.Single(x => x.Id == productoview.Productofrm.Id);
                    var detalleInBD  = _context.DetalleProductos.SingleOrDefault(x => x.ProductoId == productoview.Productofrm.Id);

                    productoInBd.Nombre           = productoview.Productofrm.Nombre;
                    productoInBd.Barcode          = productoview.Productofrm.Barcode;
                    productoInBd.CategoriaId      = productoview.Productofrm.CategoriaId;
                    productoInBd.ImpuestoId       = productoview.Productofrm.ImpuestoId;
                    productoInBd.Precio           = productoview.Productofrm.Precio;
                    productoInBd.FechaVencimiento = productoview.Productofrm.FechaVencimiento;

                    if (detalleInBD != null)
                    {
                        detalleInBD.Marca       = productoview.DetalleProductofrm.Marca;
                        detalleInBD.Color       = productoview.DetalleProductofrm.Color;
                        detalleInBD.Descripcion = productoview.DetalleProductofrm.Descripcion;
                        detalleInBD.Modelo      = productoview.DetalleProductofrm.Modelo;
                        detalleInBD.ImagenFile  = productoview.DetalleProductofrm.ImagenFile;
                        ImagenHelper.SubirImagen(detalleInBD);
                    }

                    if (IndexValidacion.SaveChanges(_context).Respuestaex)
                    {
                        return(RedirectToAction("Index", "Productos"));
                    }
                    ModelState.AddModelError("Codigoproducto", IndexValidacion.SaveChanges(_context).Mensaje);
                }
            }
            ViewData["Productofrm.CategoriaID"]    = new SelectList(_context.Categorias.OrderBy(c => c.Nombre), "Id", "Nombre", productoview.Productofrm.CategoriaId);
            ViewData["Productofrm.ImpuestoID"]     = new SelectList(_context.Impuestos.OrderBy(i => i.Tasa), "Id", "Nombre", productoview.Productofrm.ImpuestoId);
            ViewData["Productofrm.TipoProductoID"] = new SelectList(_context.TipoProductos.OrderBy(i => i.Id), "Id", "Nombre", productoview.Productofrm.TipoProductoId);
            return(View("Crud", productoview));
        }