// valida antes de grabar private bool ValidaForm() { bool lRetorno = false; this.CalculoTotal(); try { if (this.cboFamilia.SelectedValue.ToString() == "" || cboFamilia.SelectedValue == null) { MessageBox.Show("No puede grabar con datos en blanco, Indique la familia!! ", "Sistema SysHospitalARD v1.0", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } // SelectValue Genera error en combos llenados manualmente //if (cboEntradaSalida.SelectedValue == "" || cboEntradaSalida.SelectedValue == null) if (this.cboPresentacion.SelectedItem.ToString() == "" || cboPresentacion.SelectedItem == null) { MessageBox.Show("No puede grabar con datos en blanco, Indique la presentacion de articulos!! ", "Sistema SysHospitalARD v1.0", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } if (this.cboSubCategoria.SelectedValue == "" || cboSubCategoria.SelectedValue == null) { MessageBox.Show("No puede grabar con datos en blanco, Indique el Tipo de Documento y/o Movimiento!! ", "Sistema SysHospitalARD v1.0", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } // txtNotas.Text == "" if (txtDes_pro.Text == "" || txtPrecio.Text == "" || txtCosto.Text == "" || this.txtCod_pro.Text == "") { MessageBox.Show("No puede grabar la descripcion del articulo en blanco!! ", "Sistema SysHospitalARD v1.0", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } } catch (Exception ex) { MessageBox.Show("Error : " + ex.Message, "Sistema SysHospitalARD v1.0", MessageBoxButtons.OK, MessageBoxIcon.Information); ExceptionLog.LogError(ex, false); this.CursorDefault(); return(false); } return(true); }
// Inserta y graba un registro nuevo private void Grabar() { DialogResult oRpt; oRpt = MessageBox.Show("Esta seguro de grabar este registro?", "Sistema SysHospitalARD v1.0", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (oRpt != DialogResult.Yes) { return; } char cCero = '0'; string cValues = ""; int nSecuencia = 0; int nRegistros = 0; string cConsultaSQL; string cUsuario = "Turbil"; DataTable dtExistencia = new DataTable(); string cCod_Pro = ""; // Inicio Conexion y transacccion MySql.Data.MySqlClient.MySqlConnection oCnn = new MySql.Data.MySqlClient.MySqlConnection(); // Objeto de conexion a la base de datos MySql.Data.MySqlClient.MySqlDataAdapter daDatos = new MySql.Data.MySqlClient.MySqlDataAdapter(); // Objeto Adaptador para leer datos de la Base de datos MySql.Data.MySqlClient.MySqlCommand cmdExec = new MySql.Data.MySqlClient.MySqlCommand(); // objeto comando para ejecutar sentencias sql DataTable dtDatos = new DataTable(); // datatable para recibir los datos de la base de datos StringBuilder sbQuery = new StringBuilder(); //Iniciar el cuadro de diálogo de entretenimiento: MySqlTransaction oTransaccion = null; try { this.Cursor = Cursors.WaitCursor; oCnn.ConnectionString = cCadenaConexion; oCnn.Open(); oTransaccion = oCnn.BeginTransaction(); cmdExec = oCnn.CreateCommand(); cmdExec.Connection = oCnn; cmdExec.CommandTimeout = 0; // para consultas largas cmdExec.Transaction = oTransaccion; // Busco la proxima secuencia para el tipo de movimiento this.txtCod_pro.Clear(); DataTable dtTmp = Procesos.DatosGeneralEscalar("mproduct", " max(cod_pro) "); if (dtTmp.Rows.Count > 0) { DataRow DR; DR = dtTmp.Rows[0]; this.txtCod_pro.Text = Convert.ToString(Convert.ToInt32(DR["retorno"].ToString()) + 1).ToString().Trim().PadLeft(6, cCero); } else { this.txtCod_pro.Text = "000001"; } // inserto en MPRODUCT nSecuencia = 0; cValues = " VALUES ('" + txtCod_pro.Text.Trim() + "','" + txtDes_pro.Text.Trim() + "','" + Convert.ToDecimal(txtCosto.Text) + "','" + Convert.ToDecimal(txtPrecio.Text.Trim()) + "','" + Convert.ToDecimal(txtPrecio.Text.Trim()) + "','" + cboFamilia.SelectedValue.ToString() + "','" + cboSubCategoria.SelectedValue.ToString() + "','" + this.cboPresentacion.SelectedValue.ToString() + "','" + Convert.ToBoolean(chkInventariable.Checked) + "') "; sbQuery.Clear(); sbQuery.Append("INSERT INTO MPRODUCT(cod_PRO,DES_PRO,costo,pre_max,pre_min,cod_cat,tipo_pro,unidad,inventario) "); sbQuery.Append(cValues); // temporal VFPToolkit.strings.StrToFile(sbQuery.ToString(), @"consulta.sql", true); cmdExec.CommandText = sbQuery.ToString(); nRegistros = cmdExec.ExecuteNonQuery(); if (nRegistros == 0) { MessageBox.Show("No se insertaron los datos del Articulo, favor verificar", "Sistema SysHospitalARD v1.0", MessageBoxButtons.OK, MessageBoxIcon.Information); oTransaccion.Rollback(); oCnn.Close(); this.CursorDefault(); return; } /* * // Actualizo Stock en mproduct * sbQuery.Clear(); * sbQuery.Append("update mproduct set cant_exist = cant_exist + " + Convert.ToDecimal(registro.Cells["Cantidad"].Value).ToString() + ", "); * sbQuery.Append(" almacen1 = almacen1 + " + Convert.ToDecimal(registro.Cells["Cantidad"].Value).ToString()); */ // Confirmo Transaccion y actualizo BD // Imprimo documento // Limpio form oTransaccion.Commit(); MessageBox.Show("Transaccion grabada con exito!!.", "Sistema SysHospitalARD v1.0", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Limpiar(); this.NoEditar(); cModo = "Inicio"; this.Botones(); } catch (MySqlException ex) { MessageBox.Show("Error : " + ex.Message, "Sistema SysHospitalARD v1.0", MessageBoxButtons.OK, MessageBoxIcon.Information); ExceptionLog.LogError(ex, false); oTransaccion.Rollback(); this.CursorDefault(); return; } catch (Exception ex) { MessageBox.Show("Error : " + ex.Message, "Sistema SysHospitalARD v1.0", MessageBoxButtons.OK, MessageBoxIcon.Information); ExceptionLog.LogError(ex, false); // oTransaccion.Connection.State = ConnectionState. oTransaccion.Rollback(); this.CursorDefault(); return; } finally { } } // Grabar()