//wont delete if the recipe is related with producto private void barButtonDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { CommonUtils.Receta recipe = (CommonUtils.Receta)gridViewListaRecetas.GetFocusedRow(); //PnlNuevaReceta pnlReceta = new PnlNuevaReceta((CommonUtils.Receta)((DevExpress.XtraGrid.Views.Grid.GridView)gridControlListaRecetas.Views[0]).GetFocusedRow()); if (recipe == null) { MessageBox.Show(this, "Seleccione una fila para borrar", "Recetas", MessageBoxButtons.OK); return; } if (!esPosibleBorrarReceta(recipe)) { MessageBox.Show(this, "la receta " + recipe.nombre + " no se puede borrar debido a que se encuentra asociado a otros datos.", "Recetas", MessageBoxButtons.OK); return; } if (MessageBox.Show(this, "Desea borrar la receta " + recipe.nombre + " ?", "Recetas", MessageBoxButtons.YesNo) == DialogResult.No) { return; } else { string sqlQuery = "Delete from Receta_Insumo where RecetaId=" + recipe.idReceta; CommonUtils.ConexionBD.Actualizar(sqlQuery); sqlQuery = "Delete from Receta where RecetaId=" + recipe.idReceta; CommonUtils.ConexionBD.Actualizar(sqlQuery); //gridViewListaComprasEspeciales.DeleteRow(gridViewListaComprasEspeciales.FocusedRowHandle); gridViewListaRecetas.DeleteRow(gridViewListaRecetas.FocusedRowHandle); //this.actualizarGrid(); } }
public PnlNuevaReceta(CommonUtils.Receta recetaAModificar) { InitializeComponent(); InitConexionDB(); this.receta = recetaAModificar; CargarDatosDeReceta(); CargarDataGridControlListaRecetas(); }
private void InitializeGrid() { System.Collections.ArrayList list = new System.Collections.ArrayList(); CommonUtils.ConexionBD.AbrirConexion(); string sql = "SELECT Insumo.InsumoId, Insumo.Cantidad, Insumo.CostoUnidad, Insumo.Nombre, Insumo.Presentacion, Insumo.Marca, Insumo.Unidad,Receta_Insumo.Cantidad AS Expr1, Receta.RecetaId, Receta.Nombre AS Expr2, Receta.CostoReceta FROM Receta_Insumo INNER JOIN Insumo ON Insumo.InsumoId = Receta_Insumo.InsumoId INNER JOIN Receta ON Receta.RecetaId = Receta_Insumo.RecetaId ORDER BY Receta.RecetaId"; SqlDataReader reader = CommonUtils.ConexionBD.EjecutarConsultaReader(sql); if (reader.HasRows) { CommonUtils.Receta receta = new CommonUtils.Receta(); CommonUtils.RecetaInsumo recetaInsumo; int idReceta = -1; while (reader.Read()) { int idActual = (int)reader.GetDecimal(8); if (idActual != idReceta) { if (idReceta != -1) { receta = new CommonUtils.Receta(); } receta.idReceta = idActual; receta.nombre = reader.GetString(9); receta.costoReceta = (float)reader.GetDouble(10); list.Add(receta); idReceta = idActual; } CommonUtils.Insumo insumo = new CommonUtils.Insumo(); recetaInsumo = new CommonUtils.RecetaInsumo(); insumo.idInsumo = (int)reader.GetDecimal(0); insumo.cantidad = (float)reader.GetDouble(1); insumo.costoUnidad = (float)reader.GetDouble(2); insumo.nombre = reader.GetString(3); insumo.presentacion = reader.GetString(4); insumo.marca = reader.GetString(5); insumo.unidad = reader.GetString(6); recetaInsumo.insumo = insumo; recetaInsumo.Nombre = insumo.nombre; recetaInsumo.cantidad = (float)reader.GetDouble(7); receta.listaInsumos.Add(recetaInsumo); gridViewListaRecetas.SetMasterRowExpanded(0, false); } } gridControlListaRecetas.ShowOnlyPredefinedDetails = true; // gridControlListaRecetas.MainView. ColumnViewOptionsBehavior.AutoPopulateColumns gridControlListaRecetas.DataSource = null; gridControlListaRecetas.DataSource = list;//CommonUtils.ConexionBD.EjecutarConsulta("Select * from Receta"); ((DevExpress.XtraGrid.Views.Grid.GridView)gridControlListaRecetas.Views[0]).Columns[0].FieldName = "idReceta"; ((DevExpress.XtraGrid.Views.Grid.GridView)gridControlListaRecetas.Views[0]).Columns[1].FieldName = "nombre"; ((DevExpress.XtraGrid.Views.Grid.GridView)gridControlListaRecetas.Views[0]).Columns[2].FieldName = "costoReceta"; CommonUtils.ConexionBD.CerrarConexion(); }
private void InitializeGrid() { System.Collections.ArrayList list = new System.Collections.ArrayList(); CommonUtils.ConexionBD.AbrirConexion(); string sql="SELECT Insumo.InsumoId, Insumo.Cantidad, Insumo.CostoUnidad, Insumo.Nombre, Insumo.Presentacion, Insumo.Marca, Insumo.Unidad,Receta_Insumo.Cantidad AS Expr1, Receta.RecetaId, Receta.Nombre AS Expr2, Receta.CostoReceta FROM Receta_Insumo INNER JOIN Insumo ON Insumo.InsumoId = Receta_Insumo.InsumoId INNER JOIN Receta ON Receta.RecetaId = Receta_Insumo.RecetaId ORDER BY Receta.RecetaId"; SqlDataReader reader = CommonUtils.ConexionBD.EjecutarConsultaReader(sql); if (reader.HasRows) { CommonUtils.Receta receta=new CommonUtils.Receta(); CommonUtils.RecetaInsumo recetaInsumo; int idReceta =-1; while (reader.Read()) { int idActual = (int)reader.GetDecimal(8); if (idActual != idReceta) { if (idReceta != -1) { receta = new CommonUtils.Receta(); } receta.idReceta = idActual; receta.nombre = reader.GetString(9); receta.costoReceta = (float)reader.GetDouble(10); list.Add(receta); idReceta=idActual; } CommonUtils.Insumo insumo = new CommonUtils.Insumo(); recetaInsumo = new CommonUtils.RecetaInsumo(); insumo.idInsumo = (int)reader.GetDecimal(0); insumo.cantidad = (float)reader.GetDouble(1); insumo.costoUnidad = (float)reader.GetDouble(2); insumo.nombre = reader.GetString(3); insumo.presentacion = reader.GetString(4); insumo.marca = reader.GetString(5); insumo.unidad = reader.GetString(6); recetaInsumo.insumo = insumo; recetaInsumo.Nombre = insumo.nombre; recetaInsumo.cantidad = (float)reader.GetDouble(7); receta.listaInsumos.Add(recetaInsumo); gridViewListaRecetas.SetMasterRowExpanded(0, false); } } gridControlListaRecetas.ShowOnlyPredefinedDetails = true; // gridControlListaRecetas.MainView. ColumnViewOptionsBehavior.AutoPopulateColumns gridControlListaRecetas.DataSource = null; gridControlListaRecetas.DataSource = list;//CommonUtils.ConexionBD.EjecutarConsulta("Select * from Receta"); ((DevExpress.XtraGrid.Views.Grid.GridView)gridControlListaRecetas.Views[0]).Columns[0].FieldName = "idReceta"; ((DevExpress.XtraGrid.Views.Grid.GridView)gridControlListaRecetas.Views[0]).Columns[1].FieldName = "nombre"; ((DevExpress.XtraGrid.Views.Grid.GridView)gridControlListaRecetas.Views[0]).Columns[2].FieldName = "costoReceta"; CommonUtils.ConexionBD.CerrarConexion(); }
//categoria 5 es para combo private bool esPosibleBorrarReceta(CommonUtils.Receta recipe) { //string sqlQuery="select RecetaId from Producto where ProductoId in (Select ProductoId from Producto_Producto where ComboId=12) " string sqlQuery = "select RecetaId from Receta where RecetaId=" + recipe.idReceta + " and RecetaId in (select RecetaId from Producto where CategoriaId!=5)"; if (CommonUtils.ConexionBD.EjecutarConsulta(sqlQuery).Rows.Count > 0) { return(false); } sqlQuery = "Select RecetaId from Producto where RecetaId=" + recipe.idReceta + " and ProductoId in( Select ProductoId from Producto_Producto where ComboId in (Select ProductoId from Producto where CategoriaId=5))"; if (CommonUtils.ConexionBD.EjecutarConsulta(sqlQuery).Rows.Count > 0) { return(false); } return(true); }
private void barButtonEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { CommonUtils.Receta recipe = (CommonUtils.Receta)gridViewListaRecetas.GetFocusedRow(); //PnlNuevaReceta pnlReceta = new PnlNuevaReceta((CommonUtils.Receta)((DevExpress.XtraGrid.Views.Grid.GridView)gridControlListaRecetas.Views[0]).GetFocusedRow()); if (recipe != null) { if (!(this.ParentForm as mainForm).ContextControlsForRecetas.ContainsKey(recipe.idReceta.ToString())) { PnlNuevaReceta pnlReceta = new PnlNuevaReceta(recipe); (this.ParentForm as mainForm).ContextControlsForRecetas.Add(recipe.idReceta.ToString(), pnlReceta); pnlReceta.Dock = DockStyle.Fill; DevExpress.XtraTab.XtraTabPage tabItem = new DevExpress.XtraTab.XtraTabPage( ); tabItem.Controls.Add(pnlReceta); tabItem.Text = pnlReceta.Receta.nombre; (this.ParentForm as mainForm).xtraTabControl.TabPages.Add(tabItem); (this.ParentForm as mainForm).xtraTabControl.SelectedTabPage = tabItem; // ( this.ParentForm as mainForm ).ContextControls.Add( "PnlNuevaReceta" , pnlReceta ); } } }
private void SaveProduct() { if (receta == null) { string Sql = "INSERT INTO Receta( " + " Nombre,CostoReceta)" + " VALUES ('" + CommonUtils.StringUtils.EscapeSQL(txtNombreReceta.Text) + "', " + txtCostoReceta.Text + " ) "; try { decimal value = CommonUtils.ConexionBD.ActualizarRetornandoId(Sql);// CommonUtils.ConexionBD.ObtenerUltimoId("Select @@IDENTITY"); receta = new CommonUtils.Receta(); receta.idReceta = (int)value; receta.nombre = txtNombreReceta.Text; for (int i = 0; i < dataGridViewListInsumoReceta.Rows.Count; i++) { string cantidad = dataGridViewListInsumoReceta.Rows[i].Cells[3].Value.ToString(); if (rowPosition == i && cantidadInsumo != -1) { cantidad = cantidadInsumo.ToString(); } Sql = "INSERT INTO Receta_Insumo (RecetaId,InsumoId,Cantidad) VALUES ('" + value + "','" + dataGridViewListInsumoReceta.Rows[i].Cells[0].Value.ToString() + "','" + /*dataGridViewListInsumoReceta.Rows[i].Cells[3].Value.ToString()*/ cantidad + "')"; CommonUtils.ConexionBD.Actualizar(Sql); CommonUtils.RecetaInsumo recetaInsumo = new CommonUtils.RecetaInsumo(); recetaInsumo.insumo = listaInsumosReceta[int.Parse(dataGridViewListInsumoReceta.Rows[i].Cells[0].Value.ToString())]; recetaInsumo.cantidad = float.Parse(dataGridViewListInsumoReceta.Rows[i].Cells[3].Value.ToString()); receta.listaInsumos.Add(recetaInsumo); } MessageBarValue = "La receta " + txtNombreReceta.Text + " fue creado (a) satisfactoriamente."; this.ResetFields(); } catch (Exception ex) { log.Error(ex.Message, ex); MessageBarValue = "No se pudo Crear la receta. Hubo un error: " + ex.Message; } finally { alertControlNuevaReceta.Show(this.FindForm(), "Creación Receta.", MessageBarValue, Image); } } else { try { string Sql = "UPDATE Receta set Nombre='" + CommonUtils.StringUtils.EscapeSQL(txtNombreReceta.Text) + "',CostoReceta=" + txtCostoReceta.Text + " where RecetaId=" + receta.idReceta; CommonUtils.ConexionBD.Actualizar(Sql); Sql = "DELETE from Receta_Insumo WHERE RecetaId=" + receta.idReceta; CommonUtils.ConexionBD.Actualizar(Sql); for (int i = 0; i < dataGridViewListInsumoReceta.Rows.Count; i++) { string cantidad = dataGridViewListInsumoReceta.Rows[i].Cells[3].Value.ToString(); if (rowPosition == i && cantidadInsumo != -1) { cantidad = cantidadInsumo.ToString(); } Sql = "INSERT INTO Receta_Insumo (RecetaId,InsumoId,Cantidad) VALUES ('" + receta.idReceta + "','" + dataGridViewListInsumoReceta.Rows[i].Cells[0].Value.ToString() + "','" + /*dataGridViewListInsumoReceta.Rows[i].Cells[3].Value.ToString()*/ cantidad + "')"; CommonUtils.ConexionBD.Actualizar(Sql); } MessageBarValue = "La receta " + txtNombreReceta.Text + " fue modificada (a) satisfactoriamente."; actualizarGrid(); } catch (Exception ex) { log.Error(ex.Message, ex); MessageBarValue = "No se pudo Modificar la receta. Hubo un error: " + ex.Message; } finally { alertControlNuevaReceta.Show(this.FindForm(), "Actualización Receta.", MessageBarValue, Image); } } }
private void SaveProduct() { if (receta == null) { string Sql = "INSERT INTO Receta( " + " Nombre,CostoReceta)" + " VALUES ('" +CommonUtils.StringUtils.EscapeSQL( txtNombreReceta.Text )+ "', " + txtCostoReceta.Text + " ) "; try { decimal value = CommonUtils.ConexionBD.ActualizarRetornandoId(Sql);// CommonUtils.ConexionBD.ObtenerUltimoId("Select @@IDENTITY"); receta = new CommonUtils.Receta(); receta.idReceta = (int)value; receta.nombre = txtNombreReceta.Text; for (int i = 0; i < dataGridViewListInsumoReceta.Rows.Count; i++) { string cantidad = dataGridViewListInsumoReceta.Rows[i].Cells[3].Value.ToString(); if (rowPosition == i && cantidadInsumo != -1) { cantidad = cantidadInsumo.ToString(); } Sql = "INSERT INTO Receta_Insumo (RecetaId,InsumoId,Cantidad) VALUES ('" + value + "','" + dataGridViewListInsumoReceta.Rows[i].Cells[0].Value.ToString() + "','" + /*dataGridViewListInsumoReceta.Rows[i].Cells[3].Value.ToString()*/cantidad + "')"; CommonUtils.ConexionBD.Actualizar(Sql); CommonUtils.RecetaInsumo recetaInsumo = new CommonUtils.RecetaInsumo(); recetaInsumo.insumo = listaInsumosReceta[int.Parse(dataGridViewListInsumoReceta.Rows[i].Cells[0].Value.ToString())]; recetaInsumo.cantidad = float.Parse(dataGridViewListInsumoReceta.Rows[i].Cells[3].Value.ToString()); receta.listaInsumos.Add(recetaInsumo); } MessageBarValue = "La receta " + txtNombreReceta.Text + " fue creado (a) satisfactoriamente."; this.ResetFields(); } catch (Exception ex) { log.Error(ex.Message, ex); MessageBarValue = "No se pudo Crear la receta. Hubo un error: " + ex.Message; } finally { alertControlNuevaReceta.Show(this.FindForm(), "Creación Receta.",MessageBarValue , Image); } } else { try { string Sql = "UPDATE Receta set Nombre='" + CommonUtils.StringUtils.EscapeSQL(txtNombreReceta.Text) + "',CostoReceta=" + txtCostoReceta.Text + " where RecetaId=" + receta.idReceta; CommonUtils.ConexionBD.Actualizar(Sql); Sql = "DELETE from Receta_Insumo WHERE RecetaId=" + receta.idReceta; CommonUtils.ConexionBD.Actualizar(Sql); for (int i = 0; i < dataGridViewListInsumoReceta.Rows.Count; i++) { string cantidad = dataGridViewListInsumoReceta.Rows[i].Cells[3].Value.ToString(); if (rowPosition == i && cantidadInsumo != -1) { cantidad = cantidadInsumo.ToString(); } Sql = "INSERT INTO Receta_Insumo (RecetaId,InsumoId,Cantidad) VALUES ('" + receta.idReceta + "','" + dataGridViewListInsumoReceta.Rows[i].Cells[0].Value.ToString() + "','" + /*dataGridViewListInsumoReceta.Rows[i].Cells[3].Value.ToString()*/cantidad + "')"; CommonUtils.ConexionBD.Actualizar(Sql); } MessageBarValue ="La receta " + txtNombreReceta.Text + " fue modificada (a) satisfactoriamente."; actualizarGrid(); } catch (Exception ex) { log.Error(ex.Message, ex); MessageBarValue = "No se pudo Modificar la receta. Hubo un error: " + ex.Message; } finally { alertControlNuevaReceta.Show(this.FindForm(), "Actualización Receta.",MessageBarValue , Image); } } }