public string Insertar(DatosCierre Cierre, List <DatosDetalleCierre> Detalle, DatosAperturaCierre AperturaCierre) { string respuesta = ""; MySqlConnection MySqlConexion = new MySqlConnection(); //MySQL try { //MySql MySqlConexion.ConnectionString = ConexionMySQL.cadenaConexion; MySqlConexion.Open(); MySqlTransaction MySqlTransaccion = MySqlConexion.BeginTransaction(); MySqlCommand ComandoMySql = new MySqlCommand(); ComandoMySql.Connection = MySqlConexion; ComandoMySql.Transaction = MySqlTransaccion; ComandoMySql.CommandText = "spInsertarCierre"; ComandoMySql.CommandType = CommandType.StoredProcedure; MySqlParameter parametroIdcierre = new MySqlParameter(); parametroIdcierre.ParameterName = "parIdCierre"; parametroIdcierre.MySqlDbType = MySqlDbType.Int32; parametroIdcierre.Direction = ParameterDirection.Output; ComandoMySql.Parameters.Add(parametroIdcierre); MySqlParameter parametroIdCaja = new MySqlParameter(); parametroIdCaja.ParameterName = "parIdCaja"; parametroIdCaja.MySqlDbType = MySqlDbType.Int32; parametroIdCaja.Value = Cierre.IdCaja; ComandoMySql.Parameters.Add(parametroIdCaja); MySqlParameter parametroIdEmpleado = new MySqlParameter(); parametroIdEmpleado.ParameterName = "parIdEmpleado"; parametroIdEmpleado.MySqlDbType = MySqlDbType.Int32; parametroIdEmpleado.Value = Cierre.IdEmpleado; ComandoMySql.Parameters.Add(parametroIdEmpleado); MySqlParameter parametroFechaHora = new MySqlParameter(); parametroFechaHora.ParameterName = "parFechaHora"; parametroFechaHora.MySqlDbType = MySqlDbType.DateTime; parametroFechaHora.Value = Cierre.FechaHora; ComandoMySql.Parameters.Add(parametroFechaHora); MySqlParameter parametroMontoFinalSistema = new MySqlParameter(); parametroMontoFinalSistema.ParameterName = "parMontoFinalSistema"; parametroMontoFinalSistema.MySqlDbType = MySqlDbType.Decimal; parametroMontoFinalSistema.Value = Cierre.MontoFinalSistema; ComandoMySql.Parameters.Add(parametroMontoFinalSistema); MySqlParameter parametroMontoFinalReal = new MySqlParameter(); parametroMontoFinalReal.ParameterName = "parMontoFinalReal"; parametroMontoFinalReal.MySqlDbType = MySqlDbType.Decimal; parametroMontoFinalReal.Value = Cierre.MontoFinalReal; ComandoMySql.Parameters.Add(parametroMontoFinalReal); respuesta = ComandoMySql.ExecuteNonQuery() == 1 ? "OK" : "Ocurrió un error al intentar ingresar el registro. Intente nuevamente."; if (respuesta.Equals("OK")) { IdCierre = Convert.ToInt32(ComandoMySql.Parameters["parIdCierre"].Value); foreach (DatosDetalleCierre detalle in Detalle) { detalle.IdCierre = IdCierre; respuesta = detalle.Insertar(detalle, ref MySqlConexion, ref MySqlTransaccion); if (!respuesta.Equals("OK")) { break; } } if (respuesta.Equals("OK")) { AperturaCierre.IdCierre = IdCierre; respuesta = AperturaCierre.Editar(AperturaCierre, ref MySqlConexion, ref MySqlTransaccion); } } if (respuesta.Equals("OK")) { DatosCaja Caja = new DatosCaja(); Caja.IdCaja = IdCaja; respuesta = Caja.Cerrar(Caja, ref MySqlConexion, ref MySqlTransaccion); } if (respuesta.Equals("OK")) { MySqlTransaccion.Commit(); } else { MySqlTransaccion.Rollback(); } } catch (Exception ex) { respuesta = ex.Message; } finally { if (MySqlConexion.State == ConnectionState.Open) { MySqlConexion.Close(); } } return(respuesta); }