コード例 #1
0
ファイル: Inventario.cs プロジェクト: Sprunker/EM5P
        private void BT_ModArt_Click(object sender, EventArgs e)
        {
            if (TB_CodArtAgr.Text != "Código de Artículo" || TB_NomArtAgr.Text != "Nombre de Artículo")
            {
                int id = 0;

                try
                {
                    id = Convert.ToInt32(TB_CodArtAgr.Text);

                    Obtener           obtener = new Obtener();
                    List <ObjUsuario> list    = obtener.ObtenerLU();

                    foreach (ObjUsuario usuario in list)
                    {
                        if (id == usuario.id)
                        {
                            this.Visible = false;
                            AgregarArticulo modArt = new AgregarArticulo("modificar", id);
                            modArt.ShowDialog();
                            this.Visible = true;
                        }
                    }
                }
                catch
                {
                    MessageBox.Show("Ingrese un caracter válido");
                }
            }
        }
コード例 #2
0
        public IActionResult AgregarArticulo(AgregarArticulo itemVendido)
        {
            //LLamando a la base de datos principal
            var master       = db.Context.GetCollection <Supermercado>("supermercado");
            var supermercado = master.FindAll().FirstOrDefault();

            //Compruebo si existe el Articulo
            bool ExisteArticulo = supermercado.inventario.stockArticulos.
                                  Exists(x => x.articulo.codigoBarra == itemVendido.codigoBarra);

            if (ExisteArticulo == false)
            {
                throw new Exception("No existe el articulo");
            }

            //Obtengo el articulo
            var ArticuloVendido = supermercado.inventario.stockArticulos.
                                  FirstOrDefault(x => x.articulo.codigoBarra == itemVendido.codigoBarra);

            //Compruebo si hay sufiente stock
            if ((ArticuloVendido.stock - itemVendido.unidades) < 0)
            {
                throw new Exception("Error, las unidades a vender son mayores al stock");
            }

            //Resto las unidades vendidas al stock del articulo
            supermercado.inventario.stockArticulos.FirstOrDefault(x => x.articulo.codigoBarra == itemVendido.codigoBarra).
            stock = ArticuloVendido.stock - itemVendido.unidades;

            //LLeno de datos al nuevo item instanciado
            Item unItem = new Item();

            unItem.unidades       = itemVendido.unidades;
            unItem.articulo       = ArticuloVendido.articulo;
            unItem.precioSubtotal = itemVendido.unidades * ArticuloVendido.articulo.precio;

            //Agrego el item instanciado, a la lista de items
            supermercado.cajas.FirstOrDefault(x => x.numCaja == itemVendido.numCaja).tickets.
            FirstOrDefault(x => x.numTicket == itemVendido.numTicket).items.Add(unItem);

            // supermercado.cajas.FirstOrDefault(x => x.numCaja == itemVendido.numCaja).ventas.
            //     FirstOrDefault(x => x.numCaja == itemVendido.numCaja).ticket.items.Add(unItem);

            /*Obtengo el precio total del ticket*/
            var auxTicket = supermercado.cajas.FirstOrDefault(x => x.numCaja == itemVendido.numCaja).tickets.
                            FirstOrDefault(x => x.numTicket == itemVendido.numTicket);

            supermercado.cajas.FirstOrDefault(x => x.numCaja == itemVendido.numCaja).tickets.
            FirstOrDefault(x => x.numTicket == itemVendido.numTicket).precioTotal =
                auxTicket.items.Sum(x => x.precioSubtotal);

            ViewBag.ticket = supermercado.cajas.FirstOrDefault(x => x.numCaja == itemVendido.numCaja).tickets.
                             FirstOrDefault(x => x.numTicket == itemVendido.numTicket);

            master.Update(supermercado);

            //return RedirectToAction("AgregarArticulo");

            return(View());
        }
コード例 #3
0
ファイル: Inventario.cs プロジェクト: OscarP-Peregrina/EM5P
        private void BT_AgregarNuevo_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            AgregarArticulo agrArt = new AgregarArticulo();

            agrArt.ShowDialog();
            this.Visible = true;
        }