private void Btn_Eliminar_p_Click(object sender, RoutedEventArgs e) { List <Detalle_Pedido_dto> listado_det = new List <Detalle_Pedido_dto>(); if (txt_Id_producto.Text == "") { MessageBox.Show("Debe seleccionar un producto"); } else { bool eliminado = false; string id_prod = txt_Id_producto.Text; int cantidad_prod = int.Parse(txt_Cant_producto.Text); decimal total = 0; // 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, creamos la 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); if (id_prod != item["Producto"].ToString()) { listado_det.Add(entidad); } else { eliminado = true; total = total - decimal.Parse(entidad.Total); } } if (eliminado == true) { MessageBox.Show("Producto eliminado"); limpiar1(); } else { MessageBox.Show("El Producto no existe!"); limpiar1(); } var jsonValueToSave = JsonConvert.SerializeObject(listado_det); Application.Current.Properties["ListadoPedido"] = jsonValueToSave; txt_total.Text = total.ToString("n2"); Dt_G_list_pedido.ItemsSource = listado_det; } } }
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(); } }