コード例 #1
0
        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
ファイル: AdminProductos.cs プロジェクト: chouji19/cabusoft
        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
ファイル: AdminProductos.cs プロジェクト: chouji19/cabusoft
        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
ファイル: AdminProductos.cs プロジェクト: chouji19/cabusoft
        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
ファイル: AdminProductos.cs プロジェクト: chouji19/cabusoft
        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
ファイル: VentaLista.aspx.cs プロジェクト: chouji19/cabusoft
        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();
            }
        }
コード例 #9
0
        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
ファイル: AdminProductos.cs プロジェクト: chouji19/cabusoft
        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());
        }