コード例 #1
0
        private void cmb_Producto_DropDownClosed(object sender, EventArgs e)
        {
            Producto_Negocio prod_neg = new Producto_Negocio();
            DataTable        resp     = new DataTable();

            if (cmb_Producto.Text == "")
            {
                MessageBox.Show("Debe seleccionar un producto");
            }
            else
            {
                int id_prod = int.Parse(cmb_Producto.SelectedValue.ToString());

                resp = prod_neg.Buscar_Prod_id(id_prod.ToString());
                if (resp.Rows.Count > 0)
                {
                    foreach (DataRow item in resp.Rows)
                    {
                        txt_Id_producto.Text    = item["id_producto"].ToString();
                        txt_Sku_producto.Text   = item["sku_prod"].ToString();
                        txt_descr_producto.Text = cmb_Producto.Text;
                    }
                }
                else
                {
                    MessageBox.Show("invalido");
                }
            }
        }
コード例 #2
0
        private void Btn_Agregar_p_Click(object sender, RoutedEventArgs e)
        {
            decimal                   total       = 0;
            Producto_Negocio          Prod_Neg    = new Producto_Negocio();
            List <Detalle_Pedido_dto> listado_det = new List <Detalle_Pedido_dto>();

            if (txt_Cant_producto.Text == "" || cmb_Producto.Text == "")
            {
                if (txt_Cant_producto.Text == "" && cmb_Producto.Text == "")
                {
                    MessageBox.Show("Debe seleccionar un producto y su cantidad");
                }
                else
                {
                    if (cmb_Producto.Text == "")
                    {
                        MessageBox.Show("Debe seleccionar un producto");
                    }
                    if (txt_Cant_producto.Text == "")
                    {
                        MessageBox.Show("Debe ingresar cantidad");
                    }
                }
            }
            else
            {
                bool   existe        = false;
                string id_prod       = txt_Id_producto.Text;
                int    cantidad_prod = int.Parse(txt_Cant_producto.Text);

                // Aqui trae lo previamente guardado en la grilla, si la variable se session esta nula no entra
                if (Application.Current.Properties["ListadoPedido"] != null)
                {
                    // trae lo que esta en la variable de sesion
                    var jsonValueToGet = JsonConvert.DeserializeObject(Application.Current.Properties["ListadoPedido"].ToString());

                    // lo convierte en un array
                    JArray jsonPreservar = JArray.Parse(jsonValueToGet.ToString());

                    //lo recorre para añadir al listado que luego se mostrará en la grilla
                    foreach (JObject item in jsonPreservar.Children <JObject>())
                    {
                        // estos datos vienen de la grilla, creamosla entidad para añadir al listado

                        Detalle_Pedido_dto entidad = new Detalle_Pedido_dto();
                        entidad.Producto    = int.Parse(item["Producto"].ToString());
                        entidad.SKU         = item["SKU"].ToString();
                        entidad.Descripción = item["Descripción"].ToString();
                        entidad.Cantidad    = int.Parse(item["Cantidad"].ToString());
                        entidad.Total       = decimal.Parse(item["Total"].ToString()).ToString("n2");
                        entidad.Precio      = decimal.Parse(item["Precio"].ToString()).ToString("n2");

                        total = total + decimal.Parse(entidad.Total);

                        listado_det.Add(entidad);
                        if (id_prod == item["Producto"].ToString())
                        {
                            existe = true;
                        }
                    }
                }

                if (existe)
                {
                    MessageBox.Show(" El Producto : " + txt_descr_producto.Text + " ya existe en el listado");
                    limpiar1();
                }
                else
                {
                    DataTable respuesta = Prod_Neg.Buscar_Prod_id(id_prod);
                    foreach (DataRow item in respuesta.Rows)
                    {
                        Detalle_Pedido_dto entidad = new Detalle_Pedido_dto();
                        entidad.Producto    = int.Parse(item["id_producto"].ToString());
                        entidad.SKU         = item["sku_prod"].ToString();
                        entidad.Descripción = item["descr_producto"].ToString();
                        entidad.Cantidad    = cantidad_prod;
                        entidad.Precio      = decimal.Parse(item["precio_costo"].ToString()).ToString("n2");
                        entidad.Total       = (decimal.Parse(item["precio_costo"].ToString()) * cantidad_prod).ToString("n2");

                        total = total + decimal.Parse(entidad.Total);
                        listado_det.Add(entidad);
                    }
                }

                // actualiza variable de sesion con los datos actuales de la grilla
                var jsonValueToSave = JsonConvert.SerializeObject(listado_det);
                Application.Current.Properties["ListadoPedido"] = jsonValueToSave;

                txt_total.Text = total.ToString("n2");
                Dt_G_list_pedido.ItemsSource = listado_det;
                limpiar1();
            }
        }