예제 #1
0
        public bool Eliminar(BE_CON_PROVICIONES e_Proviciones)
        {
            DatosMySql       xMiFuncion = new DatosMySql();
            bool             booOk      = false;
            MySqlTransaction trans;

            trans = mysConec.BeginTransaction();
            try
            {
                string[,] arrParametros = new string[1, 3] {
                    { "n_id", "System.INT16", e_Proviciones.n_id.ToString() }
                };

                if (xMiFuncion.StoreEjecutar("con_proviciones_delete", arrParametros, mysConec) == false)
                {
                    b_OcurrioError = xMiFuncion.booOcurrioError;
                    c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                    n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                }
                else
                {
                    arrParametros[0, 0] = "n_idpro";
                    if (xMiFuncion.StoreEjecutar("con_provicionesdet_delete", arrParametros, mysConec) == false)
                    {
                        b_OcurrioError = xMiFuncion.booOcurrioError;
                        c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                        n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                    }

                    // ELIMINAMOS EL ASIENDO DIARIO
                    CD_con_diario funDiario = new CD_con_diario();
                    xMiFuncion.ReAbrirConeccion(mysConec);
                    funDiario.mysConec = mysConec;

                    if (funDiario.Eliminar(e_Proviciones.n_idlib, e_Proviciones.n_ano, e_Proviciones.n_mes, e_Proviciones.c_numreg, e_Proviciones.n_idemp) == 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);
            }
        }
예제 #2
0
        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);
            }
        }