public async Task <IActionResult> Edit(int id, [Bind("IdProducto,NombreProducto,FechaVencimiento,Descripcion,IdCategoria")] tblProductos tblProductos)
        {
            if (id != tblProductos.IdProducto)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(tblProductos);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!tblProductosExists(tblProductos.IdProducto))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            //llamadaa tblCATEGORIA y envio a vista
            ViewData["IdCategoria"] = new SelectList(_context.Categorias, "IdCategoria", "NombreCategoria");
            return(View(tblProductos));
        }
예제 #2
0
        protected void lknAgregar_Click(object sender, EventArgs e)
        {
            AdminProductos aProducto = new AdminProductos();
            tblProductos   producto  = aProducto.obtenerProductoById(Convert.ToInt32(txtListaProductos.SelectedValue));

            agregarProducto(producto);
        }
예제 #3
0
        public int actualizarProducto(int idProducto, string nombre, string desripcion, string precio, decimal existencias,
                                      string tipo, string marca, string estado, DateTime fecha, string subcategoria, string categoria,
                                      string codigoBarras, bool servicio, bool activo, string precioCompra, string imagen)
        {
            tblProductos producto = DbContext.tblProductos.FirstOrDefault(p => p.id_producto == idProducto);

            if (producto != null)
            {
                producto.nombre          = nombre;
                producto.descripcion     = desripcion;
                producto.precio          = Convert.ToDecimal(precio);
                producto.existencias     = Convert.ToInt32(existencias);
                producto.marca           = marca;
                producto.id_estado       = Convert.ToInt32(estado);
                producto.fecha_ingreso   = fecha;
                producto.id_subcategoria = Convert.ToInt32(subcategoria);
                producto.id_categoria    = Convert.ToInt32(categoria);
                producto.codigo          = codigoBarras;
                producto.servicio        = servicio;
                producto.activo          = activo;
                producto.valor_compra    = Convert.ToDecimal(precioCompra);
                producto.last_update     = DateTime.Now;
                producto.imagen          = !String.IsNullOrEmpty(imagen) ? imagen : "Images/default_product.png";
            }
            return(DbContext.SaveChanges());
        }
예제 #4
0
        public int insertarMovimientoProductos(string fecha, string descripcion, string idProducto,
                                               int cantidad, double valor, double total)
        {
            DateTime fechaMvt          = DateTime.ParseExact(fecha, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None);
            tblMovimientoProductos mov = new tblMovimientoProductos();

            mov.cantidad       = cantidad;
            mov.descripcion    = descripcion;
            mov.fecha          = fechaMvt;
            mov.fecha_registro = DateTime.Now;
            mov.id_producto    = Convert.ToInt32(idProducto);
            mov.total          = Convert.ToDecimal(total);
            mov.valor          = Convert.ToDecimal(valor);
            DbContext.tblMovimientoProductos.Add(mov);
            int          resultado = DbContext.SaveChanges();
            int          idPro     = Convert.ToInt32(idProducto);
            tblProductos pro       = DbContext.tblProductos.FirstOrDefault(p => p.id_producto == idPro);

            if (pro != null && !pro.servicio.Value)
            {
                pro.existencias = pro.existencias - cantidad;
                resultado       = DbContext.SaveChanges();
            }
            return(resultado);
        }
예제 #5
0
        public void insertarVenta(int factura, string idProducto, int cantidad, double valorUnitario, double total)
        {
            tblVentas venta = new tblVentas();

            venta.cantidad       = cantidad;
            venta.fecha          = DateTime.Now;
            venta.id_factura     = factura;
            venta.id_producto    = Convert.ToInt32(idProducto);
            venta.valor_total    = total;
            venta.valor_unitario = valorUnitario;
            DbContext.tblVentas.Add(venta);
            int res = DbContext.SaveChanges();

            if (res > 0)
            {
                tblProductos producto = new tblProductos();
                int          pro      = Convert.ToInt32(idProducto);
                producto = DbContext.tblProductos.FirstOrDefault(p => p.id_producto == pro);
                if (producto != null)
                {
                    if (!producto.servicio.Value)
                    {
                        producto.existencias = producto.existencias - cantidad;
                    }
                    DbContext.SaveChanges();
                }
            }
        }
예제 #6
0
 public bool CrearProducto(ProductosModel producto)
 {
     try
     {
         if (producto == null)
         {
             throw new ArgumentNullException("Debe agregar un producto.");
         }
         tblProductos tProducto = new tblProductos()
         {
             stockProducto = producto.Stock,
             nomProducto   = producto.Nombre,
             costoProducto = producto.Costo,
             categoriaID   = 1,
         };
         _context.tblProductos.Add(tProducto);
         _context.Entry(tProducto).State = EntityState.Added;
         return(_context.SaveChanges() > 0);
     }
     catch (ArgumentNullException ne)
     {
         throw new ArgumentNullException(ne.Message);
     }
     catch (Exception ex)
     {
         throw new ApplicationException("Ocurrio un error al crear el producto.");
     }
 }
예제 #7
0
        public int eliminarProducto(int idProducto)
        {
            tblProductos producto = new tblProductos();

            producto = DbContext.tblProductos.FirstOrDefault(p => p.id_producto == idProducto);
            if (producto != null)
            {
                DbContext.tblProductos.Remove(producto);
            }
            return(DbContext.SaveChanges());
        }
예제 #8
0
        private void agregarProducto(tblProductos producto)
        {
            if (listaProductos == null)
            {
                if (Session["ventas"] != null)
                {
                    listaProductos = (List <ProductoVenta>)Session["ventas"];
                }
                else
                {
                    listaProductos = new List <ProductoVenta>();
                }
            }
            bool productoSeleccionado = false;

            if (listaProductos.Count > 0)
            {
                ProductoVenta pv = listaProductos.FirstOrDefault(p => p.IdProducto == producto.id_producto.ToString());
                if (pv != null)
                {
                    if (Convert.ToInt32(txtUnidades.Text) + pv.Cantidad <= pv.MaximoUnidades)
                    {
                        pv.Cantidad = pv.Cantidad + Convert.ToInt32(txtUnidades.Text);
                        pv.Total    = pv.Cantidad * pv.Valor;
                        cargarDatosProductos();
                        Session["ventas"] = listaProductos;
                        valorFactura      = 0;
                        updateTotal();
                    }
                    productoSeleccionado = true;
                }
            }
            if (!productoSeleccionado)
            {
                ProductoVenta auxProducto = new ProductoVenta();
                auxProducto.IdProducto = producto.id_producto.ToString();
                auxProducto.Nombre     = producto.nombre;
                auxProducto.Cantidad   = Convert.ToDecimal(txtUnidades.Text);
                auxProducto.Valor      = producto.precio;
                auxProducto.Total      = auxProducto.Cantidad * auxProducto.Valor;
                if (producto.servicio.HasValue && !producto.servicio.Value)
                {
                    auxProducto.MaximoUnidades = producto.existencias;
                }
                else
                {
                    auxProducto.MaximoUnidades = 1000;
                }
                listaProductos.Add(auxProducto);
                cargarDatosProductos();
                Session["ventas"] = listaProductos;
                updateTotal();
            }
        }
        public async Task <IActionResult> Create([Bind("IdProducto,NombreProducto,FechaVencimiento,Descripcion,IdCategoria")] tblProductos tblProductos)
        {
            if (ModelState.IsValid)
            {
                _context.Add(tblProductos);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            //llamadaa tblCATEGORIA y envio a vista
            ViewData["IdCategoria"] = new SelectList(_context.Categorias, "IdCategoria", "NombreCategoria");
            return(View(tblProductos));
        }
예제 #10
0
        protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName == "addProductos")
            {
                int            idProducto = Convert.ToInt32(e.CommandArgument);
                AdminProductos aProducto  = new AdminProductos();
                tblProductos   producto   = aProducto.obtenerProductoById(idProducto);
                if (producto != null)
                {
                    txtId.Value         = idProducto.ToString();
                    lblNombre.Text      = producto.nombre;
                    lblDescripcion.Text = producto.descripcion;

                    Double value;
                    if (Double.TryParse(producto.precio.ToString(), out value))
                    {
                        lblPrecio.Text = String.Format(System.Globalization.CultureInfo.CurrentCulture, "{0:C2}", value);
                    }
                    else
                    {
                        lblPrecio.Text = "$0";
                    }
                    if (producto.servicio.HasValue && !producto.servicio.Value)
                    {
                        lblUnidades.Text = "Unidades: MAX(" + producto.existencias.ToString() + " Unidades) ";
                    }
                    else
                    {
                        lblUnidades.Text = "Unidades: ";
                    }
                    lblMarca.Text = producto.marca;
                    if (producto.imagen != "")
                    {
                        txtArchivo.ImageUrl = producto.imagen;
                    }
                    else
                    {
                        txtArchivo.ImageUrl = "Images/default_product.png";
                    }
                    if (producto.tblCategorias != null)
                    {
                        lblCategoria.Text = producto.tblCategorias.nombre;
                    }
                    if (producto.tblSubCategorias != null)
                    {
                        lblSubCategoria.Text = producto.tblSubCategorias.nombre;
                    }
                    agregarProducto(producto);
                }
            }
        }
예제 #11
0
        private void agregarProducto(tblProductos producto)
        {
            if (listaProductos == null)
            {
                if (Session["ventas"] != null)
                {
                    listaProductos = (List <ProductoVenta>)Session["ventas"];
                }
                else
                {
                    listaProductos = new List <ProductoVenta>();
                }
            }
            bool productoSeleccionado = false;

            if (listaProductos.Count > 0)
            {
                foreach (ProductoVenta p in listaProductos)
                {
                    if (p.IdProducto == producto.id_producto.ToString())
                    {
                        productoSeleccionado = true;
                    }
                }
            }
            if (!productoSeleccionado)
            {
                ProductoVenta auxProducto = new ProductoVenta();
                auxProducto.IdProducto = producto.id_producto.ToString();
                auxProducto.Nombre     = producto.nombre;
                auxProducto.Cantidad   = Convert.ToDecimal(txtUnidades.Text);
                auxProducto.Valor      = producto.precio;
                auxProducto.Total      = auxProducto.Cantidad * auxProducto.Valor;
                if (producto.servicio.HasValue && !producto.servicio.Value)
                {
                    auxProducto.MaximoUnidades = producto.existencias;
                }
                else
                {
                    auxProducto.MaximoUnidades = 1000;
                }
                listaProductos.Add(auxProducto);
                cargarDatosProductos();
                //gvVentas.Columns["Total"].DefaultCellStyle.Format = "c";
                //dgvProductos.Columns["Valor"].DefaultCellStyle.Format = "c";
                //dgvProductos.Columns["IdProducto"].Visible = false;
                //dgvProductos.Columns["MaximoUnidades"].Visible = false;
                Session["ventas"] = listaProductos;
                updateTotal();
            }
        }
예제 #12
0
        protected void txtCodigoBarras_TextChanged(object sender, EventArgs e)
        {
            AdminProductos ap       = new AdminProductos();
            tblProductos   producto = ap.obtenerProductoByCodigo(txtCodigoBarras.Text);

            if (producto != null && producto.nombre != null && !txtCodigoBarras.Text.Equals("") && (producto.existencias > 0 || producto.servicio.Value))
            {
                txtIdProducto.Value = producto.id_producto.ToString();
                lblNombre.Text      = producto.nombre;
                lblDescripcion.Text = "Descripción: " + producto.descripcion;

                Double value;
                if (Double.TryParse(producto.precio.ToString(), out value))
                {
                    lblPrecio.Text = String.Format(System.Globalization.CultureInfo.CurrentCulture, "{0:C2}", value);
                }
                else
                {
                    lblPrecio.Text = "$0";
                }

                if (producto.servicio.HasValue && !producto.servicio.Value)
                {
                    lblUnidades.Text = "Unidades: MAX(" + producto.existencias.ToString() + " Unidades) ";
                }
                else
                {
                    lblUnidades.Text = "Unidades: ";
                }
                lblMarca.Text = producto.marca;
                if (producto.imagen != "")
                {
                    txtArchivo.ImageUrl = producto.imagen;
                }
                else
                {
                    txtArchivo.ImageUrl = "Images/default_product.png";
                }
                if (producto.tblCategorias != null)
                {
                    lblCategoria.Text = producto.tblCategorias.nombre;
                }
                if (producto.tblSubCategorias != null)
                {
                    lblSubCategoria.Text = producto.tblSubCategorias.nombre;
                }
                agregarProducto(producto);
                txtCodigoBarras.Text = "";
            }
        }
예제 #13
0
        protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            AdminProductos aProducto = new AdminProductos();
            tblProductos   producto  = aProducto.obtenerProductoById(Convert.ToInt32(txtListaProductos.SelectedValue));

            if (producto != null)
            {
                txtId.Value         = txtListaProductos.SelectedValue;
                lblNombre.Text      = producto.nombre;
                lblDescripcion.Text = producto.descripcion;

                Double value;
                if (Double.TryParse(producto.precio.ToString(), out value))
                {
                    lblPrecio.Text = String.Format(System.Globalization.CultureInfo.CurrentCulture, "{0:C2}", value);
                }
                else
                {
                    lblPrecio.Text = "$0";
                }
                if (producto.servicio.HasValue && !producto.servicio.Value)
                {
                    lblUnidades.Text = "Unidades: MAX(" + producto.existencias.ToString() + " Unidades) ";
                }
                else
                {
                    lblUnidades.Text = "Unidades: ";
                }
                lblMarca.Text = producto.marca;
                if (producto.imagen != "")
                {
                    txtArchivo.ImageUrl = producto.imagen;
                }
                else
                {
                    txtArchivo.ImageUrl = "Images/default_product.png";
                }
                if (producto.tblCategorias != null)
                {
                    lblCategoria.Text = producto.tblCategorias.nombre;
                }
                if (producto.tblSubCategorias != null)
                {
                    lblSubCategoria.Text = producto.tblSubCategorias.nombre;
                }
            }
        }
예제 #14
0
        protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            AdminProductos aProducto = new AdminProductos();
            tblProductos   producto  = aProducto.obtenerProductoById(Convert.ToInt32(txtListaProductos.SelectedValue));

            if (producto != null)
            {
                txtId.Value          = txtListaProductos.SelectedValue;
                txtNombre.Text       = producto.nombre;
                txtDescripcion.Text  = producto.descripcion;
                txtPrecio.Text       = producto.precio.ToString();
                txtPrecioCompra.Text = producto.valor_compra.ToString();
                txtUnidades.Text     = producto.existencias.ToString();
                //txtCbTipo.Text = producto.Tipo;
                txtCbEstado.SelectedValue = producto.id_estado.ToString();
                if (producto.fecha_ingreso.HasValue)
                {
                    txtDpFecha.Text = producto.fecha_ingreso.Value.ToString(@"dd/MM/yyyy");
                }
                else
                {
                    txtDpFecha.Text = "";
                }
                txtCbCategoria.SelectedValue = producto.id_categoria.ToString();
                obtenerSubCategorias(txtCbCategoria.SelectedValue);
                txtCbSubCategoria.SelectedValue = producto.id_subcategoria.ToString();
                txtCodigoBarras.Text            = producto.codigo;
                txtCBActivo.Checked             = producto.activo.Value;
                txtEsServicio.Checked           = producto.servicio.Value;
                if (producto.imagen != "")
                {
                    txtArchivo.ImageUrl = producto.imagen;
                }
                else
                {
                    txtArchivo.ImageUrl = "Images/default_product.png";
                }
                lblGuardar.Text = "Actualizar";
            }
        }
예제 #15
0
        protected void gvVentas_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            string      mensaje       = String.Empty;
            int         idProducto    = Convert.ToInt32(gvVentas.DataKeys[e.RowIndex].Value.ToString());
            GridViewRow row           = (GridViewRow)gvVentas.Rows[e.RowIndex];
            TextBox     txtCantidad   = (TextBox)row.FindControl("txtEditCantidad");
            string      nuevaCantidad = txtCantidad.Text;
            int         n;
            bool        isNumeric = int.TryParse(nuevaCantidad, out n);

            if (isNumeric)
            {
                if (listaProductos == null)
                {
                    if (Session["ventas"] != null)
                    {
                        listaProductos = (List <ProductoVenta>)Session["ventas"];
                        ProductoVenta  producto = listaProductos.FirstOrDefault(p => p.IdProducto == idProducto.ToString());
                        AdminProductos ap       = new AdminProductos();
                        tblProductos   pro      = ap.obtenerProductoById(Convert.ToInt32(producto.IdProducto));
                        if (!pro.servicio.Value && producto.MaximoUnidades < n)
                        {
                            mensaje = "Error pailas";
                        }
                        else
                        {
                            producto.Cantidad  = n;
                            producto.Total     = producto.Cantidad * producto.Valor;
                            Session["ventas"]  = listaProductos;
                            gvVentas.EditIndex = -1;
                            cargarDatosProductos();
                            updateTotal();
                        }
                    }
                }
            }
        }
예제 #16
0
        public int insertarProducto(string nombre, string desripcion, string precio, decimal existencias,
                                    string tipo, string marca, string estado, DateTime fecha, string subcategoria, string categoria,
                                    string codigoBarras, bool servicio, bool activo, string precioCompra, string imagen, int idSucursal)
        {
            tblProductos producto = new tblProductos();

            producto.nombre          = nombre;
            producto.descripcion     = desripcion;
            producto.precio          = Convert.ToDecimal(precio);
            producto.existencias     = Convert.ToInt32(existencias);
            producto.marca           = marca;
            producto.id_estado       = Convert.ToInt32(estado);
            producto.fecha_ingreso   = fecha;
            producto.id_subcategoria = Convert.ToInt32(subcategoria);
            producto.id_categoria    = Convert.ToInt32(categoria);
            producto.codigo          = codigoBarras;
            producto.servicio        = servicio;
            producto.activo          = activo;
            producto.valor_compra    = Convert.ToDecimal(precioCompra);
            producto.id_sucursal     = idSucursal;
            producto.imagen          = !String.IsNullOrEmpty(imagen) ? imagen : "Images/default_product.png";
            DbContext.tblProductos.Add(producto);
            return(DbContext.SaveChanges());
        }