public static int consultarStock(int id)
        {
            StockCore _coreStock = new StockCore();

            try
            {
                List <StockSucursalEntidad> Stocks = _coreStock.SelectByIdProducto(id);
                int StockAcumulado = 0;
                if (Stocks.Count > 0)
                {
                    foreach (var stockdeproducto in Stocks)
                    {
                        StockAcumulado = StockAcumulado + stockdeproducto.CantidadProducto;
                    }
                    return(StockAcumulado);
                }
            }
            catch (Exception es)
            {
                UsuarioEntidad logueado = (UsuarioEntidad)HttpContext.Current.Session["Usuario"];
                if (logueado != null)
                {
                    ServicioLog.CrearLog(es, "ConsultarStockWebMethod", logueado.NombreUsuario, CORE.Helpers.ConfigSection.Default.Site.Cuit);
                }
                else
                {
                    ServicioLog.CrearLog(es, "ConsultarStockWebMethod", "SIN_USUARIO", CORE.Helpers.ConfigSection.Default.Site.Cuit);
                }
                throw;
            }
            return(0);
        }
        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            Consultas.Clear();

            ProductoEntidad        unProducto;
            List <ProductoEntidad> productos;

            if (!string.IsNullOrWhiteSpace(txtProductoaBuscar.Text))
            {
                productos = ProductoBLL.FindAllByDescripProducto(txtProductoaBuscar.Text);
            }
            else
            {
                return;
            }

            if (productos != null && productos.Count > 0)
            {
                unProducto = (ProductoEntidad)productos.First();

                //StockSucursalEntidad unStock = StockBLL1.Select(item.miProducto.IdProducto, laAdquisicion.miSucursal.IdSucursal, laAdquisicion.CUIT);

                List <StockSucursalEntidad> StockDeProducto = new List <StockSucursalEntidad>();
                StockDeProducto = StockBLL1.SelectByIdProducto(unProducto.IdProducto);

                ConsultaDTO Consulta = new ConsultaDTO();
                Consulta.IdProducto  = unProducto.IdProducto;
                Consulta.Descripcion = unProducto.DescripProducto;
                if (StockDeProducto.Count > 0)
                {
                    if (Int32.Parse(cboSucursal.SelectedValue) < 0) //Si no se indica sucursal se muestra stock total
                    {
                        hIdSuc.Value  = "";
                        hIdProd.Value = "";
                        foreach (StockSucursalEntidad unProdSucStock in StockDeProducto)
                        {
                            Consulta.CantidadEnStock += unProdSucStock.CantidadProducto;
                        }
                    }
                    else //Se indica sucursal y se muestra el sucursal en la misma
                    {
                        if (StockDeProducto.Exists(X => X.IdSucursal == Int32.Parse(cboSucursal.SelectedValue) && X.IdProducto == unProducto.IdProducto))
                        {
                            hIdSuc.Value  = cboSucursal.SelectedValue;
                            hIdProd.Value = unProducto.IdProducto.ToString();
                            StockSucursalEntidad unProdSucStock = StockDeProducto.First(X => X.IdSucursal == Int32.Parse(cboSucursal.SelectedValue) && X.IdProducto == unProducto.IdProducto);
                            Consulta.CantidadEnStock = unProdSucStock.CantidadProducto;
                        }
                    }
                }
                else
                {
                    SucursalCore coreSucursal   = new SucursalCore();
                    var          listSucursales = coreSucursal.FindAll();

                    StockSucursalEntidad NuevoStock = new StockSucursalEntidad();
                    NuevoStock.IdProducto       = unProducto.IdProducto;
                    NuevoStock.CantidadProducto = 0;
                    NuevoStock.CUIT             = ConfigSection.Default.Site.Cuit;
                    NuevoStock.IdSucursal       = listSucursales[0].IdSucursal;;

                    StockCore StockBLL = new StockCore();
                    StockBLL.Insert(NuevoStock);

                    Consulta.CantidadEnStock = 0;
                }

                Consultas.Add(Consulta);
                CargarGrillaStock();
            }
        }
Example #3
0
        private void CrearPedidoLista()
        {
            var Current = HttpContext.Current;

            if (lista == null || !lista.Any())
            {
                lista = new List <PedidoLista>();
                foreach (var item in productos)
                {
                    Boolean Stock          = false;
                    var     Stocks         = _coreStock.SelectByIdProducto(item.IdProducto);
                    int     StockAcumulado = 0;
                    if (Stocks.Count > 0)
                    {
                        foreach (var stockdeproducto in Stocks)
                        {
                            StockAcumulado = StockAcumulado + stockdeproducto.CantidadProducto;
                        }
                    }
                    if (StockAcumulado > 0)
                    {
                        Stock = true;
                    }
                    else
                    {
                        Stock = false;
                    }

                    PedidoLista nuevoProd = new PedidoLista();
                    nuevoProd.Producto = item;
                    nuevoProd.Cantidad = 1;
                    nuevoProd.Stock    = Stock;
                    lista.Add(nuevoProd);
                }

                Current.Session["Pedido"] = lista;
            }
            else
            {
                foreach (var item in lista)
                {
                    foreach (var p in productos)
                    {
                        if (item.Producto.IdProducto == p.IdProducto)
                        {
                            item.Producto.PrecioUnitario = p.PrecioUnitario;
                        }
                    }
                }
                var idsProductos = lista.Select(x => x.Producto.IdProducto).Distinct();
                var nuevos       = productos.Where(x => !idsProductos.Contains(x.IdProducto));

                if (nuevos != null && nuevos.Any())
                {
                    nuevos
                    .ToList()
                    .ForEach(x => lista.Add(new PedidoLista()
                    {
                        Producto = x,
                        Cantidad = 1,
                        Stock    = true
                    }));

                    Current.Session["Pedido"] = lista;
                }
            }
        }