public bool Actualizar(BE_CON_PROVICIONES e_Proviciones, List <BE_CON_PROVICIONESDET> l_ProvicionesDet, List <BE_CON_DIARIO> l_Diario) { bool booOk = false; int n_row = 0; DatosMySql xMiFuncion = new DatosMySql(); MySqlTransaction trans; xMiFuncion.ReAbrirConeccion(mysConec); trans = mysConec.BeginTransaction(); try { string[,] arrParametros = new string[1, 3] { { "n_idpro", "System.INT32", e_Proviciones.n_id.ToString() } }; if (xMiFuncion.StoreEjecutar("con_provicionesdet_delete", arrParametros, mysConec) == false) { b_OcurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(booOk); } if (xMiFuncion.StoreEjecutar("con_proviciones_actualizar", e_Proviciones, mysConec, null) == false) { b_OcurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(booOk); } else { for (n_row = 0; n_row <= l_ProvicionesDet.Count - 1; n_row++) { l_ProvicionesDet[n_row].n_idpro = e_Proviciones.n_id; if (xMiFuncion.StoreEjecutar("con_provicionesdet_insertar", l_ProvicionesDet[n_row], mysConec, null) == false) { b_OcurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(booOk); } } // ELIMINAMOS EL ASIENDO DIARIO CD_con_diario funDiario = new CD_con_diario(); xMiFuncion.ReAbrirConeccion(mysConec); funDiario.mysConec = mysConec; if (funDiario.Eliminar(l_Diario[0].n_lib, e_Proviciones.n_ano, e_Proviciones.n_mes, l_Diario[0].c_numasi, e_Proviciones.n_idemp) == false) { b_OcurrioError = funDiario.b_OcurrioError; c_ErrorMensaje = funDiario.c_ErrorMensaje; n_ErrorNumber = funDiario.n_ErrorNumber; trans.Rollback(); return(booOk); } // INSERTAMOS EL ASIENTO DEL DIARIO funDiario.b_DesdeOtraCapa = true; for (n_row = 0; n_row <= l_Diario.Count - 1; n_row++) { l_Diario[n_row].n_oriid = e_Proviciones.n_id; } if (funDiario.Insertar(l_Diario) == false) { b_OcurrioError = funDiario.b_OcurrioError; c_ErrorMensaje = funDiario.c_ErrorMensaje; n_ErrorNumber = funDiario.n_ErrorNumber; trans.Rollback(); return(booOk); } booOk = true; } trans.Commit(); return(booOk); } catch (Exception exc) { // SI SUCEDE UN ERROR DEVOLVEMOS FALSO b_OcurrioError = true; c_ErrorMensaje = exc.Message.ToString(); n_ErrorNumber = exc.HResult; trans.Rollback(); return(booOk); } }
public bool Insertar(BE_CON_PROVICIONES e_Proviciones, List <BE_CON_PROVICIONESDET> l_ProvicionesDet, List <BE_CON_DIARIO> l_Diario) { bool booOk = false; int n_row = 0; DatosMySql xMiFuncion = new DatosMySql(); MySqlTransaction trans; xMiFuncion.ReAbrirConeccion(mysConec); trans = mysConec.BeginTransaction(); try { if (xMiFuncion.StoreEjecutar("con_proviciones_insertar", e_Proviciones, mysConec, 0) == false) { b_OcurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(booOk); } else { for (n_row = 0; n_row <= l_ProvicionesDet.Count - 1; n_row++) { e_Proviciones.n_id = Convert.ToInt32(xMiFuncion.intIdGenerado); l_ProvicionesDet[n_row].n_idpro = Convert.ToInt32(xMiFuncion.intIdGenerado); if (xMiFuncion.StoreEjecutar("con_provicionesdet_insertar", l_ProvicionesDet[n_row], mysConec, null) == false) { b_OcurrioError = xMiFuncion.booOcurrioError; c_ErrorMensaje = xMiFuncion.StrErrorMensaje; n_ErrorNumber = xMiFuncion.IntErrorNumber; trans.Rollback(); return(booOk); } } // INSERTAMOS EL ASIENTO DEL DIARIO CD_con_diario funDiario = new CD_con_diario(); xMiFuncion.ReAbrirConeccion(mysConec); funDiario.mysConec = mysConec; funDiario.b_DesdeOtraCapa = true; for (n_row = 0; n_row <= l_Diario.Count - 1; n_row++) { l_Diario[n_row].n_oriid = e_Proviciones.n_id; } if (funDiario.Insertar(l_Diario) == false) { b_OcurrioError = funDiario.b_OcurrioError; c_ErrorMensaje = funDiario.c_ErrorMensaje; n_ErrorNumber = funDiario.n_ErrorNumber; trans.Rollback(); return(booOk); } booOk = true; } trans.Commit(); return(booOk); } catch (Exception exc) { // SI SUCEDE UN ERROR DEVOLVEMOS FALSO b_OcurrioError = true; c_ErrorMensaje = exc.Message.ToString(); n_ErrorNumber = exc.HResult; trans.Rollback(); return(booOk); } }