示例#1
0
        public bool Actualizar(BE_TES_TESORERIA entTesoreria, List <BE_TES_TESORERIAORI> lstTesoreriaOri, List <BE_TES_TESORERIAORIDET> lstTesoreriaOriDet,
                               List <BE_TES_TESORERIADES> lstTesoreriaDes, List <BE_TES_TESORERIADESDET> lstTesoreriaDesDet, int n_TipoRegistro)
        {
            CD_tes_tesoreria miFun = new CD_tes_tesoreria();
            bool             booOk = false;

            miFun.mysConec = mysConec;
            if (miFun.TraerRegistro(entTesoreria.n_id) == true)
            {
                miFun.DtRegistroDesDet = miFun.DtRegistroDesDet;
            }
            if (miFun.Actualizar(entTesoreria, lstTesoreriaOri, lstTesoreriaOriDet, lstTesoreriaDes, lstTesoreriaDesDet) == true)
            {
                //GENERAMOS EL ASIENTO CONTABLE
                mysConec = FunMysql.ReAbrirConeccion(mysConec);
                //entTesoreria.n_id = miFun.n_IdGenerado;

                string c_NumAsi = entTesoreria.c_numreg;

                CN_con_diario funCon = new CN_con_diario();
                funCon.mysConec    = mysConec;
                funCon.STU_SISTEMA = STU_SISTEMA;

                if (funCon.GenerarAsientoTesoreria(STU_SISTEMA.EMPRESAID, Convert.ToInt32(entTesoreria.n_id), STU_SISTEMA.ANOTRABAJO, STU_SISTEMA.MESTRABAJO, 1, c_NumAsi, n_TipoRegistro) == true)
                {
                    //mysConec = FunMysql.ReAbrirConeccion(mysConec);
                    //c_NumAsi = funCon.c_NewNumAsiento;
                    //miFun.AgregarNumAsi(entTesoreria.n_id, c_NumAsi);

                    booOk = true;
                }
                else
                {
                    b_OcurrioError = funCon.b_OcurrioError;
                    c_ErrorMensaje = funCon.c_ErrorMensaje;
                    n_ErrorNumber  = funCon.n_ErrorNumber;
                }
            }
            else
            {
                b_OcurrioError = miFun.b_OcurrioError;
                c_ErrorMensaje = miFun.c_ErrorMensaje;
                n_ErrorNumber  = miFun.n_ErrorNumber;
            }
            return(booOk);
        }
        public bool Actualizar(BE_CON_REGDETRACCIONES e_Detracciones)
        {
            bool             booOk      = false;
            DatosMySql       xMiFuncion = new DatosMySql();
            MySqlTransaction trans;
            int n_idtes             = 0;
            int n_idet              = 0;
            CD_tes_tesoreria funTes = new CD_tes_tesoreria();

            xMiFuncion.ReAbrirConeccion(mysConec);
            trans = mysConec.BeginTransaction();
            try
            {
                CD_con_regdetracciones o_det = new CD_con_regdetracciones();
                DataTable dt = new DataTable();
                o_det.mysConec = mysConec;
                o_det.TraerRegistro(e_Detracciones.n_id);
                dt = o_det.dtLista;

                if (e_Detracciones.n_tipmov == 1)
                {
                    string[,] arrParametros3 = new string[3, 3] {
                        { "n_idreg", "System.INT64", e_Detracciones.n_iddoccom.ToString() },
                        { "n_importe", "System.DOUBLE", e_Detracciones.n_imp.ToString("0.00") },
                        { "n_tipo", "System.INT16", "1" }
                    };
                    // ACTUALIZAMOS EL SALDO DEL DOCUMENTOD E COMPRA
                    if (xMiFuncion.StoreEjecutar("log_compras_actualizarsaldo2", arrParametros3, mysConec) == false)
                    {
                        b_OcurrioError = xMiFuncion.booOcurrioError;
                        c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                        n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                        trans.Rollback();
                        return(booOk);
                    }
                }
                else
                {
                    string[,] arrParametros4 = new string[3, 3] {
                        { "n_id", "System.INT64", e_Detracciones.n_iddoccom.ToString() },
                        { "n_saldo", "System.DOUBLE", e_Detracciones.n_imp.ToString("0.00") },
                        { "n_tipo", "System.INT16", "1" }
                    };
                    // ACTUALIZAMOS EL SALDO DEL DOCUMENTO DE VENTA
                    if (xMiFuncion.StoreEjecutar("vta_ventas_actualizarsaldo2", arrParametros4, mysConec) == false)
                    {
                        b_OcurrioError = xMiFuncion.booOcurrioError;
                        c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                        n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                        trans.Rollback();
                        return(booOk);
                    }
                }
                if (xMiFuncion.StoreEjecutar("con_regdetracciones_actualizar", e_Detracciones, mysConec, null) == false)
                {
                    b_OcurrioError = xMiFuncion.booOcurrioError;
                    c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                    n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                    trans.Rollback();
                    return(booOk);
                }
                else
                {
                    if (e_Detracciones.n_aplipag == 1)
                    {
                        n_idet = e_Detracciones.n_id;
                        // INSERTAMOS EL REGISTRO DE TESORERIA
                        funTes.b_DesdeOtraCapa = true;
                        funTes.mysConec        = mysConec;
                        if (e_Detracciones.n_idtes == 0)
                        {
                            booOk = funTes.Insertar(e_Tesoreria, l_TesOri, l_TesOriDet, l_TesDes, l_TesDesDet);
                        }
                        else
                        {
                            booOk = funTes.Actualizar(e_Tesoreria, l_TesOri, l_TesOriDet, l_TesDes, l_TesDesDet);
                        }
                        if (booOk == false)
                        {
                            b_OcurrioError = funTes.b_OcurrioError;
                            c_ErrorMensaje = funTes.c_ErrorMensaje;
                            n_ErrorNumber  = funTes.n_ErrorNumber;
                            trans.Rollback();
                            return(booOk);
                        }
                        else
                        {
                            n_idtes                 = funTes.n_IdGenerado; //e_Detracciones.n_idtes;
                            n_IdTesoreria           = n_idtes;
                            string[,] arrParametros = new string[2, 3] {
                                { "n_iddet", "System.INT64", n_idet.ToString() },
                                { "n_idtes", "System.INT64", n_idtes.ToString() }
                            };
                            // ACTUALIZAMOS EL ID DE TESORERIA EN LA TABLA DETRACCION
                            if (xMiFuncion.StoreEjecutar("con_regdetracciones_actualizar_id_tesoreria", arrParametros, mysConec) == false)
                            {
                                b_OcurrioError = xMiFuncion.booOcurrioError;
                                c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                trans.Rollback();
                                return(booOk);
                            }

                            // ACTUALIZAMOS EL SALDO DE LOS DOCUMETOS
                            if (e_Detracciones.n_tipmov == 1)
                            {
                                // ACTUALIZAMOS EL SALDO DE LA COMPRA
                                string[,] arrParametros2 = new string[3, 3] {
                                    { "n_idreg", "System.INT64", e_Detracciones.n_iddoccom.ToString() },
                                    { "n_importe", "System.DOUBLE", e_Detracciones.n_imp.ToString("0.00") },
                                    { "n_tipo", "System.INT16", "2" }
                                };
                                // ACTUALIZAMOS EL SALDO DEL DOCUMENTO DE COMPRA
                                if (xMiFuncion.StoreEjecutar("log_compras_actualizarsaldo2", arrParametros2, mysConec) == false)
                                {
                                    b_OcurrioError = xMiFuncion.booOcurrioError;
                                    c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                    n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                    trans.Rollback();
                                    return(booOk);
                                }
                            }
                            else
                            {
                                // ACTUALIZAMOS EL SALDO DE LA VENTA
                                string[,] arrParametros4 = new string[3, 3] {
                                    { "n_id", "System.INT64", e_Detracciones.n_iddoccom.ToString() },
                                    { "n_saldo", "System.DOUBLE", e_Detracciones.n_imp.ToString("0.00") },
                                    { "n_tipo", "System.INT16", "2" }
                                };
                                // ACTUALIZAMOS EL SALDO DEL DOCUMENTO DE VENTA
                                if (xMiFuncion.StoreEjecutar("vta_ventas_actualizarsaldo2", arrParametros4, mysConec) == false)
                                {
                                    b_OcurrioError = xMiFuncion.booOcurrioError;
                                    c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                    n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                    trans.Rollback();
                                    return(booOk);
                                }
                            }
                        }
                    }
                    else
                    {
                        // SI NO ESTA PAGANDO LA DETRACCION ELIMINAMOS EL ABONO EN TESORERIA SI ES QUE LO TUVIERA
                        if (e_Detracciones.n_idtes != 0)
                        {
                            string[,] arrParametros2 = new string[1, 3] {
                                { "n_id", "System.INT64", e_Detracciones.n_idtes.ToString() }
                            };

                            if (xMiFuncion.StoreEjecutar("tes_tesoreria_delete", arrParametros2, mysConec) == false)
                            {
                                b_OcurrioError = xMiFuncion.booOcurrioError;
                                c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                trans.Rollback();
                                return(booOk);
                            }

                            string[,] arrParametros4 = new string[2, 3] {
                                { "n_iddet", "System.INT64", e_Detracciones.n_id.ToString() },
                                { "n_idtes", "System.INT64", "0" }
                            };
                            // ACTUALIZAMOS EL ID DE TESORERIA EN LA TABLA DETRACCION
                            if (xMiFuncion.StoreEjecutar("con_regdetracciones_actualizar_id_tesoreria", arrParametros4, mysConec) == false)
                            {
                                b_OcurrioError = xMiFuncion.booOcurrioError;
                                c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                trans.Rollback();
                                return(booOk);
                            }

                            if (e_Detracciones.n_tipmov == 1)
                            {
                                string[,] arrParametros5 = new string[3, 3] {
                                    { "n_idreg", "System.INT64", e_Detracciones.n_iddoccom.ToString() },
                                    { "n_importe", "System.DOUBLE", e_Detracciones.n_imp.ToString("0.00") },
                                    { "n_tipo", "System.INT16", "1" }                                                                  // ESTE DATO INDICA SI SE SUMA O RESTA EL SALDO (1 = SUMA ; 2 = RESTA)
                                };
                                // ACTUALIZAMOS EL SALDO DEL DOCUMENTOD E COMPRA
                                if (xMiFuncion.StoreEjecutar("log_compras_actualizarsaldo2", arrParametros5, mysConec) == false)
                                {
                                    b_OcurrioError = xMiFuncion.booOcurrioError;
                                    c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                    n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                    trans.Rollback();
                                    return(booOk);
                                }
                            }
                            else
                            {
                                // ACTUALIZAMOS EL SALDO DE LA VENTA
                                string[,] arrParametros5 = new string[3, 3] {
                                    { "n_id", "System.INT64", e_Detracciones.n_iddoccom.ToString() },
                                    { "n_saldo", "System.DOUBLE", e_Detracciones.n_imp.ToString("0.00") },
                                    { "n_tipo", "System.INT16", "1" }
                                };
                                // ACTUALIZAMOS EL SALDO DEL DOCUMENTO DE VENTA
                                if (xMiFuncion.StoreEjecutar("vta_ventas_actualizarsaldo2", arrParametros5, mysConec) == false)
                                {
                                    b_OcurrioError = xMiFuncion.booOcurrioError;
                                    c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                    n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                    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);
            }
        }