コード例 #1
0
 /*METODO ENCARGADO DE LLENAR LA LISTA DE LOS PRODUCTOS A FACTURAR*/
 public void CargarProductos()
 {
     try
     {
         Negocio.ProductosNegocio dc    = new Negocio.ProductosNegocio();
         List <Entidad.Productos> lista = dc.ListaProductos();
         if (lista.Count > 0)
         {
             ListItem item = new ListItem();
             item.Text  = "Seleccione...";
             item.Value = "0";
             ddlProducto.Items.Add(item);
             ddlProducto.DataSource     = lista;
             ddlProducto.DataTextField  = "Descripcion";
             ddlProducto.DataValueField = "Id";
             ddlProducto.DataBind();
         }
         else
         {
             cvDatos.IsValid      = false;
             cvDatos.CssClass     = "alert-danger";
             cvDatos.ErrorMessage = "No hay productos que mostrar.";;
         }
     }
     catch (Exception err)
     {
         cvDatos.IsValid      = false;
         cvDatos.CssClass     = "alert-danger";
         cvDatos.ErrorMessage = err.Message;
     }
 }
コード例 #2
0
 protected void btnAgregar_Click(object sender, EventArgs e)
 {
     try
     {
         Negocio.ProductosNegocio pn  = new Negocio.ProductosNegocio();
         Entidad.Productos        pro = new Entidad.Productos();
         /*SE OBTIENEN LOS DATOS DEL PRODUCTO PARA ASI SABER SU PRECIO Y EXISTENCIA*/
         pro = pn.DatosProducto(int.Parse(ddlProducto.SelectedValue));
         /*VERIFICAMOS SI HAY PRODUCTO EN EXISTENCIA*/
         if (int.Parse(txtCantidad.Text) > pro.Existencia)
         {
             cvDatos.IsValid      = false;
             cvDatos.CssClass     = "alert-danger";
             cvDatos.ErrorMessage = "No se puede despachar el producto " + ddlProducto.SelectedItem.ToString() + " porque no hay en existencia";
         } /*CIERRE IF EXISTENCIA*/
         else
         {
             /*SE CREO UNA CLASE DEDICADA A ALMACENAR LOS DATOS DEL GRID*/
             Negocio.Datos_Factura_Detalle        df  = new Negocio.Datos_Factura_Detalle();
             List <Negocio.Datos_Factura_Detalle> dfd = new List <Negocio.Datos_Factura_Detalle>();
             /*SI LA VARIABLE SESSION NO ESTA VACIA*/
             if (Session["s_Detalle_Factura"] != null)
             {
                 dfd = (List <Negocio.Datos_Factura_Detalle>)Session["s_Detalle_Factura"];
             }
             decimal SumaImporte = 0;
             /*SI EL PRODUCTO NO EXISTE LO AGREGAMOS AL GRID*/
             if (!ExisteProducto(int.Parse(ddlProducto.SelectedValue)))
             {
                 df.IdProducto     = int.Parse(ddlProducto.SelectedValue.ToString());
                 df.Producto       = ddlProducto.SelectedItem.ToString();
                 df.Cantidad       = int.Parse(txtCantidad.Text);
                 df.PrecioUnitario = pro.PrecioUnitario;
                 df.Importe        = (df.Cantidad * df.PrecioUnitario);
                 dfd.Add(df);
                 Session.Add("s_Detalle_Factura", dfd);
                 gvFactura.DataSource = dfd;
                 gvFactura.DataBind();
             }
             else
             {
                 cvDatos.IsValid      = false;
                 cvDatos.CssClass     = "alert-danger";
                 cvDatos.ErrorMessage = "No se puede agregar el producto " + ddlProducto.SelectedItem.ToString() + " porque ya esta en la lista.";
             }
             /*CICLO ENCARGADO DE SUMAR LOS IMPORTES DE LOS PRODUCTOS DEL GRID*/
             foreach (var item in dfd)
             {
                 SumaImporte += Convert.ToInt32(item.Importe);  //aqui recorre las celdas y las va sumando
             } /*CIERRE FOREACH*/
             txtSubTotal.Text = SumaImporte.ToString();
             decimal Impuesto = 0;
             Impuesto         = (decimal.Parse(txtSubTotal.Text) * 15) / 100;
             txtImpuesto.Text = Impuesto.ToString();
             /*CALCULAMOS EL NETO DE LA FACTURA*/
             decimal Total = 0;
             Total         = decimal.Parse(txtSubTotal.Text) + decimal.Parse(txtImpuesto.Text);
             txtTotal.Text = Total.ToString();
         } /*CIERRE DEL ELSE SI HAY EN EXISTENCIA PRODUCTO*/
     }
     catch (Exception err)
     {
         cvDatos.IsValid      = false;
         cvDatos.CssClass     = "alert-danger";
         cvDatos.ErrorMessage = err.Message;
     }
 }