internal List<ProductoCant> ListaProductos(string idSolicitudAB)
        {
            List<ProductoCant> productos = new List<ProductoCant>();
            ProductoSQL pGw = new ProductoSQL();

            string where = "WHERE idSolicitudAB=@idSolicitudAB";

            db.cmd.Parameters.AddWithValue("@idSolicitudAB", idSolicitudAB);

            db.cmd.CommandText = "SELECT * FROM ProductoxSolicitudAb " + where;

            try
            {
                db.conn.Open();
                SqlDataReader reader = db.cmd.ExecuteReader();

                Producto p = new Producto();
                while (reader.Read())
                {
                    ProductoCant pa = new ProductoCant();
                    pa.IdProducto= reader.IsDBNull(reader.GetOrdinal("idProducto")) ? -1 : int.Parse(reader["idProducto"].ToString());
                    p = pGw.Buscar_por_CodigoProducto(pa.IdProducto);
                    pa.CodigoProd = p.CodigoProd.ToString();
                    pa.Nombre = p.Nombre;
                    pa.Can = reader.IsDBNull(reader.GetOrdinal("cantidad")) ? null : reader["cantidad"].ToString();
                    pa.CanAtend = reader.IsDBNull(reader.GetOrdinal("cantidadAtendida")) ? null : reader["cantidadAtendida"].ToString();

                    productos.Add(pa);

                }
                db.cmd.Parameters.Clear();
                db.conn.Close();
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine(e.StackTrace.ToString());
            }

            return productos;
        }
Beispiel #2
0
        public List<ProductoCant> BuscarNotas(int p)
        {
            DBConexion db1 = new DBConexion();
            List<ProductoCant> lstProCant = new List<ProductoCant>();

            db1.cmd.CommandText = "SELECT idProducto,idNota,sum(cantidad) AS cantidad ,idAlmacen FROM ProductoxNotaIS WHERE idNota=@idNota GROUP BY idProducto, idNota, idAlmacen";
            db1.cmd.Parameters.AddWithValue("@idNota", p);

            try
            {
                db1.conn.Open();
                SqlDataReader reader = db1.cmd.ExecuteReader();

                while (reader.Read())
                {
                    ProductoSQL psql = new ProductoSQL();
                    ProductoCant procan = new ProductoCant();
                    procan.CanAtender = reader.IsDBNull(reader.GetOrdinal("cantidad")) ? null : reader["cantidad"].ToString();
                    procan.IdProducto = reader.IsDBNull(reader.GetOrdinal("idProducto")) ? -1 : int.Parse(reader["idProducto"].ToString());
                    Producto pr = psql.Buscar_por_CodigoProducto(procan.IdProducto);
                    procan.Nombre = pr.Nombre;
                    procan.CodigoProd = pr.CodigoProd;
                    lstProCant.Add(procan);

                }
                db1.cmd.Parameters.Clear();
                db1.conn.Close();

            }
            catch (SqlException e)
            {
                Console.WriteLine(e);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.StackTrace.ToString());
            }

            return lstProCant;
        }
        //Botones:
        public void CargarProductos()
        {
            string referencia = TxtDoc;
            if (string.IsNullOrWhiteSpace(referencia))
            {
                _windowManager.ShowDialog(new AlertViewModel(_windowManager, "No se ha ingresado ningun Documento de Referencia"));
                return;
            }
            string mot = this.selectedMotivo;
            if (string.Compare(mot, "Orden de Compra", true) == 0)
            {
                List<ProductoxOrdenCompra> poc = new List<ProductoxOrdenCompra>();
                poc = SelectedOrden.LstProducto;
                List<ProductoCant> lpcan = new List<ProductoCant>();
                for (int i = 0; i < poc.Count; i++)
                {
                    ProductoCant pcan = new ProductoCant();
                    pcan.IdProducto = poc.ElementAt(i).Producto.IdProducto;
                    pcan.Can = poc.ElementAt(i).Cantidad;
                    pcan.CodigoProd = poc.ElementAt(i).Producto.CodigoProd;
                    pcan.Nombre = poc.ElementAt(i).Producto.Nombre;
                    pcan.CanAtend = poc.ElementAt(i).CantAtendida.ToString();
                    pcan.CanAtender = poc.ElementAt(i).CantidadAtender;
                    pcan.Ubicaciones = new List<Ubicacion>();
                    lpcan.Add(pcan);
                }
                LstProductos = new List<ProductoCant>(lpcan);

            }
            else
            {
                if (string.Compare(mot, "Traslado Externo", true) == 0)
                {
                    if (selectedGuia == null)
                    {
                        _windowManager.ShowDialog(new AlertViewModel(_windowManager, "Ingrese un código de guía de remisión valido"));
                    }
                    else
                    {
                        LstProductos = selectedGuia.Nota.LstProducto;
                    }
                }
                else
                {
                    if (string.Compare(mot, "Devolucion", true) == 0)
                    {
                        List<DevolucionProducto> dv = new List<DevolucionProducto>();
                        DevolucionSQL dsql = new DevolucionSQL();

                        dv = dsql.BuscarProductos(-1, -1, null, SelectedDevolucion.IdDevolucion);
                        List<ProductoCant> lpcan = new List<ProductoCant>();
                        for (int i = 0; i < dv.Count; i++)
                        {
                            ProductoCant pcan = new ProductoCant();
                            Producto p = new Producto();
                            ProductoSQL pgw = new ProductoSQL();
                            p = pgw.Buscar_por_CodigoProducto(dv.ElementAt(i).IdProducto);
                            pcan.IdProducto = p.IdProducto;
                            pcan.Nombre = p.Nombre;
                            pcan.Can = "0";
                            pcan.CanAtend = "0";
                            pcan.CanAtender = dv.ElementAt(i).Devuelto.ToString();
                            pcan.Ubicaciones = new List<Ubicacion>();
                            pcan.CodigoProd = p.CodigoProd;
                            lpcan.Add(pcan);
                        }
                        LstProductos = new List<ProductoCant>(lpcan);
                    }
                    else
                    {

                        if (string.Compare(mot, "Abastecimiento", true) == 0)
                        {

                            List<ProductoCant> psa = new List<ProductoCant>();
                            ProductoxSolicitudAbSQL pasql = new ProductoxSolicitudAbSQL();

                            psa = pasql.ListaProductos(SelectedSolicitud.idSolicitudAB.ToString());

                            List<ProductoCant> lpcan = new List<ProductoCant>();
                            for (int i = 0; i < psa.Count; i++)
                            {
                                ProductoCant pcan = new ProductoCant();
                                pcan.IdProducto = psa.ElementAt(i).IdProducto;
                                pcan.Can = psa.ElementAt(i).Can;
                                pcan.CodigoProd = psa.ElementAt(i).CodigoProd;
                                pcan.Nombre = psa.ElementAt(i).Nombre;
                                pcan.CanAtend = "0";
                                pcan.CanAtender = psa.ElementAt(i).CanAtend;
                                pcan.Ubicaciones = new List<Ubicacion>();
                                lpcan.Add(pcan);
                            }

                            LstProductos = new List<ProductoCant>(lpcan);

                        }
                    }
                }
            }

            NotifyOfPropertyChange(() => LstProductos);
            if (LstProductos != null)
            {
                EstadoMot = false;
                Estado = false;
            }
        }