Esempio n. 1
0
        public bool Actualizar(BE_LOG_COMPRAS e_Cabecera, List <BE_LOG_COMPRASDET> l_Detalle, List <BE_LOG_COMPRASDOC> lstDocumentos)
        {
            bool           b_result = false;
            CD_log_compras miFun    = new CD_log_compras();

            miFun.mysConec = mysConec;

            if (miFun.Actualizar(e_Cabecera, l_Detalle, lstDocumentos) == false)
            {
                b_OcurrioError = miFun.b_ocurrioError;
                c_ErrorMensaje = miFun.c_ErrorMensaje;
                n_ErrorNumber  = miFun.n_ErrorNumber;
                return(b_result);
            }
            else
            {
                string        c_NumAsi = e_Cabecera.c_numreg;
                CN_con_diario funCon   = new CN_con_diario();
                funCon.mysConec    = mysConec;
                funCon.STU_SISTEMA = STU_SISTEMA;

                if (e_Cabecera.n_idtipdoc == 3)
                {
                    funCon.GenerarAsientoCompras(STU_SISTEMA.EMPRESAID, e_Cabecera.n_id, STU_SISTEMA.ANOTRABAJO, STU_SISTEMA.MESTRABAJO, 32, c_NumAsi);
                }
                else
                {
                    funCon.GenerarAsientoCompras(STU_SISTEMA.EMPRESAID, e_Cabecera.n_id, STU_SISTEMA.ANOTRABAJO, STU_SISTEMA.MESTRABAJO, 8, c_NumAsi);
                }
            }
            dtLista  = miFun.dtLista;
            b_result = true;
            return(b_result);
        }
Esempio n. 2
0
        void VerRegistro(int n_IdRegistro)
        {
            int    n_row  = 0;
            string c_dato = "";

            b_Agregando = true;

            objRegistros.mysConec = mysConec;
            l_Detalle.Clear();
            l_Documentos.Clear();

            if (objRegistros.TraerRegistro(n_IdRegistro) == true)
            {
                e_Cabecera = objRegistros.e_Compras;
                l_Detalle  = objRegistros.e_ComprasDet;
            }
            LblNumAsi.Text          = e_Cabecera.c_numreg;
            TxtFchEmi.Text          = e_Cabecera.d_fchdoc.ToString("dd/MM/yyyy");
            CboMoneda.SelectedValue = e_Cabecera.n_idmon;
            CboTipOpe.SelectedValue = e_Cabecera.n_idtipope;
            LblIdPro.Text           = e_Cabecera.n_idpro.ToString();
            TxtNumRuc.Text          = funDatos.DataTableBuscar(dtPro, "n_id", "c_numdoc", e_Cabecera.n_idpro.ToString(), "N").ToString();
            TxtProv.Text            = funDatos.DataTableBuscar(dtPro, "n_id", "c_nombre", e_Cabecera.n_idpro.ToString(), "N").ToString();
            TxtTipCam.Text          = e_Cabecera.n_tc.ToString("0.000");
            CboTipDoc.SelectedValue = e_Cabecera.n_idtipdoc;
            TxtNumSer.Text          = e_Cabecera.c_numser;
            TxtNumDoc.Text          = e_Cabecera.c_numdoc;
            CboConPag.SelectedValue = e_Cabecera.n_idconpag;
            TxtFchVen.Text          = e_Cabecera.d_fchven.ToString("dd/MM/yyyy");
            TxtGlo.Text             = e_Cabecera.c_glosa;
            CboTipOpe.SelectedValue = e_Cabecera.n_idtipope;

            //TxtBasImp1.Text = e_Cabecera.n_impbru.ToString("0.00");
            //TxtBasImp2.Text = e_Cabecera.n_impbru2.ToString("0.00");
            //TxtBasImp3.Text = e_Cabecera.n_impbru3.ToString("0.00");
            //TxtInafec.Text = e_Cabecera.n_impinaf.ToString("0.00");

            //TxtIgv1.Text = e_Cabecera.n_impigv.ToString("0.00"); ;
            //TxtIgv2.Text = e_Cabecera.n_impigv2.ToString("0.00"); ;
            //TxtIgv3.Text = e_Cabecera.n_impigv3.ToString("0.00"); ;
            TxtImpTot.Text    = e_Cabecera.n_impbru.ToString("0.00");
            TxtImpuesto.Text  = e_Cabecera.n_imp4ta.ToString("0.00");
            TxtImponible.Text = e_Cabecera.n_imptotcom.ToString("0.00");

            //n_por4ta = e_Cabecera.n_tasa4ta;
            if (e_Cabecera.n_tasa4ta != 0)
            {
                ChkAfecto.Checked = true;
            }
            else
            {
                ChkAfecto.Checked = false;
            }

            b_Agregando      = true;                                                           // VOLVEMOS A ASIGNAR LA VARIABLE PORQUE SE LIMPIA EN OTRA FUINCION
            TxtImpuesto.Text = e_Cabecera.n_imp4ta.ToString("0.00");

            FgItems.Rows.Count = 2;
            for (n_row = 0; n_row <= l_Detalle.Count - 1; n_row++)
            {
                FgItems.Rows.Count = FgItems.Rows.Count + 1;

                c_dato = l_Detalle[n_row].n_iditem.ToString();                                 // DESCRIPCION DEL ITEM
                c_dato = funDatos.DataTableBuscar(dtItems, "n_id", "c_despro", c_dato, "N").ToString();
                FgItems.SetData(FgItems.Rows.Count - 1, 1, c_dato);

                c_dato = l_Detalle[n_row].n_preunibru.ToString("0.000000");                    // PRECIO UNITARIO DEL ITEM
                FgItems.SetData(FgItems.Rows.Count - 1, 2, c_dato);

                c_dato = l_Detalle[n_row].n_imptot.ToString("0.00");                           // IMPORTE TOTAL DEL ITEM
                FgItems.SetData(FgItems.Rows.Count - 1, 3, c_dato);

                c_dato = l_Detalle[n_row].n_iditem.ToString("0.00");                           // ID DEL ITEM
                FgItems.SetData(FgItems.Rows.Count - 1, 4, c_dato);

                c_dato = l_Detalle[n_row].n_idunimed.ToString("0.00");                         // ID DE LA UNIDAD DE MEDIDA DEL ITEM
                FgItems.SetData(FgItems.Rows.Count - 1, 5, c_dato);
            }

            b_Agregando = false;
        }
Esempio n. 3
0
        public bool Actualizar(BE_LOG_COMPRAS entCabecera, List <BE_LOG_COMPRASDET> lstDetalle, List <BE_LOG_COMPRASDOC> lstDocumentos)
        {
            bool             b_result = false;
            MySqlTransaction trans;
            int n_Fila = 0;

            trans = mysConec.BeginTransaction();

            try
            {
                if (entCabecera.n_idtipdoc == 8)
                {
                    DataTable      dtresult   = new DataTable();
                    CD_log_compras o_compras  = new CD_log_compras();
                    double         n_valorinc = 0;
                    double         n_salfac   = 0;

                    // TRAEMOS LOS DATOS DE LA NOTA DE CREDITO QUE SE ESTA ACTUALIZADO
                    o_compras.mysConec = mysConec;
                    o_compras.TraerRegistro(Convert.ToInt32(entCabecera.n_id));
                    dtresult   = o_compras.dtRegistro;
                    n_valorinc = Convert.ToDouble(dtresult.Rows[0]["n_imptotcom"]);                                        // EL IMPORTE ORIGINAL DE LA NOTA DE CREDITO

                    // TRAEMOS EL DOCUMENTO QUE SE NODIFICA
                    int n_iddocventa = Convert.ToInt32(dtresult.Rows[0]["n_iddocmod"]);                                   // OBTENEMOS EL ID DEL DOCUMENTO QUE SE MODIFICA
                    o_compras.TraerRegistro(n_iddocventa);
                    dtresult = o_compras.dtRegistro;
                    n_salfac = Convert.ToDouble(dtresult.Rows[0]["n_impsal"]);
                    n_salfac = n_salfac + n_valorinc;

                    string[,] arrParam1 = new string[3, 3] {
                        { "n_idreg", "System.INT32", n_iddocventa.ToString() },
                        { "n_importe", "System.DOUBLE", n_salfac.ToString() },
                        { "n_tipo", "System.DOUBLE", "1" }
                    };

                    if (xMiFuncion.StoreEjecutar("log_compras_actualizarsaldo", arrParam1, mysConec) == false)
                    {
                        b_ocurrioError = xMiFuncion.booOcurrioError;
                        c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                        n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                        trans.Rollback();
                        return(b_result);
                    }
                }

                // ACTUALIZAMOS EL ESTADO DE LOS DOCUMENTOS ASIGNADOS A NO PROCESADO
                CD_alm_movimientos objMov = new CD_alm_movimientos();
                objMov.mysConec = mysConec;

                if (TraerRegistro(entCabecera.n_id) == true)
                {
                    if (dtListaDoc.Rows.Count != 0)
                    {
                        for (n_Fila = 0; n_Fila <= dtListaDoc.Rows.Count - 1; n_Fila++)
                        {
                            if (objMov.ActualizarDocCompra(Convert.ToInt32(dtListaDoc.Rows[n_Fila]["n_iddoc"]), 0, 0) == false)
                            {
                                b_ocurrioError = xMiFuncion.booOcurrioError;
                                c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                trans.Rollback();
                                return(b_result);
                            }
                        }
                    }
                }

                if (xMiFuncion.StoreEjecutar("log_compras_actualizar", entCabecera, mysConec, null) == true)
                {
                    // ACTUALIZAMOS EL SALDO DE LA FACTURA QUE SE MODIFICA
                    if (entCabecera.n_idtipdoc == 8)
                    {
                        //BE_LOG_COMPRAS e_compras = new BE_LOG_COMPRAS();
                        DataTable      dtres     = new DataTable();
                        CD_log_compras o_compras = new CD_log_compras();
                        double         n_salfac  = 0;

                        o_compras.mysConec = mysConec;

                        // TRAEMOS EL DOCUMENTO QUE SE NODIFICA
                        int n_iddocventa = entCabecera.n_iddocmod;                                   // OBTENEMOS EL ID DEL DOCUMENTO QUE SE MODIFICA
                        o_compras.TraerRegistro(n_iddocventa);
                        dtres    = o_compras.dtRegistro;
                        n_salfac = Convert.ToDouble(dtres.Rows[0]["n_impsal"]);
                        n_salfac = n_salfac - entCabecera.n_imptotcom;

                        string[,] arrParam1 = new string[3, 3] {
                            { "n_idreg", "System.INT32", n_iddocventa.ToString() },
                            { "n_importe", "System.DOUBLE", n_salfac.ToString() },
                            { "n_tipo", "System.INT32", "2" }
                        };

                        if (xMiFuncion.StoreEjecutar("log_compras_actualizarsaldo", arrParam1, mysConec) == false)
                        {
                            b_ocurrioError = xMiFuncion.booOcurrioError;
                            c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                            n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                            trans.Rollback();
                            return(b_result);
                        }
                    }

                    // ELIMINAMOS LOS ITEMS PREVIOS
                    string[,] arrParametros = new string[1, 3] {
                        { "n_idcom", "System.INT64", entCabecera.n_id.ToString() }
                    };

                    // ADICIONAMOS EL DETALLE DE LA COMPRA
                    if (xMiFuncion.StoreEjecutar("log_comprasdet_delete", arrParametros, mysConec) == true)
                    {
                        // SI LOS ITEMS SE ELIMINARON CON EXITO INSERTAMOS LOS NUEVOS ITEMS
                        for (n_Fila = 0; n_Fila <= lstDetalle.Count - 1; n_Fila++)
                        {
                            lstDetalle[n_Fila].n_idcom = Convert.ToInt32(entCabecera.n_id);
                            if (xMiFuncion.StoreEjecutar("log_comprasdet_insertar", lstDetalle[n_Fila], mysConec, null) == false)
                            {
                                b_ocurrioError = xMiFuncion.booOcurrioError;
                                c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                trans.Rollback();
                                return(b_result);
                            }
                        }
                    }
                    else
                    {
                        b_ocurrioError = xMiFuncion.booOcurrioError;
                        c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                        n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                        trans.Rollback();
                        return(b_result);
                    }

                    // ADICIONAMOS LOS DOCUMENTOS DE LA COMPRA
                    if (xMiFuncion.StoreEjecutar("log_comprasdoc_delete", arrParametros, mysConec) == true)
                    {
                        // SI LOS DOCUMENTOS DE LA COMPRA
                        for (n_Fila = 0; n_Fila <= lstDocumentos.Count - 1; n_Fila++)
                        {
                            lstDocumentos[n_Fila].n_idcom = Convert.ToInt32(entCabecera.n_id);
                            if (xMiFuncion.StoreEjecutar("log_comprasdoc_insertar", lstDocumentos[n_Fila], mysConec, null) == false)
                            {
                                b_ocurrioError = xMiFuncion.booOcurrioError;
                                c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                trans.Rollback();
                                return(b_result);
                            }
                        }
                    }
                    else
                    {
                        b_ocurrioError = xMiFuncion.booOcurrioError;
                        c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                        n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                        trans.Rollback();
                        return(b_result);
                    }

                    // ACTUALIZAMOS LOS DOCUMENTOS ASIGNADOS A LA COMPRA
                    if (lstDocumentos.Count != 0)
                    {
                        objMov.mysConec = mysConec;
                        for (n_Fila = 0; n_Fila <= lstDocumentos.Count - 1; n_Fila++)
                        {
                            if (objMov.ActualizarDocCompra(lstDocumentos[n_Fila].n_iddoc, entCabecera.n_id, 1) == false)
                            {
                                b_ocurrioError = xMiFuncion.booOcurrioError;
                                c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                trans.Rollback();
                                return(b_result);
                            }
                        }
                    }

                    if (entCabecera.n_idtipdoc == 8)             // SI ES NOTA DE CREDITO
                    {
                    }
                }
                else
                {
                    b_ocurrioError = xMiFuncion.booOcurrioError;
                    c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                    n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                    trans.Rollback();
                    return(b_result);
                }

                b_result = true;
                trans.Commit();
                return(b_result);
            }
            catch (Exception exc)
            {
                // SI SUCEDE UN ERROR DEVOLVEMOS FALSO
                b_ocurrioError = true;
                c_ErrorMensaje = exc.Message.ToString();
                n_ErrorNumber  = exc.HResult;
                trans.Rollback();
                return(b_result);
            }
        }
Esempio n. 4
0
        public bool Insertar(BE_LOG_COMPRAS entCabecera, List <BE_LOG_COMPRASDET> lstDetalle, List <BE_LOG_COMPRASDOC> lstDocumentos)
        {
            bool             b_result = false;
            MySqlTransaction trans;
            int n_Fila = 0;

            trans = mysConec.BeginTransaction();

            try
            {
                if (xMiFuncion.StoreEjecutar("log_compras_insertar", entCabecera, mysConec, 0) == true)
                {
                    // ACTUALIZAMOS EL SALDO DE LA FACTURA QUE SE MODIFICA
                    if (entCabecera.n_idtipdoc == 8)
                    {
                        //BE_LOG_COMPRAS e_compras = new BE_LOG_COMPRAS();
                        DataTable      dtres     = new DataTable();
                        CD_log_compras o_compras = new CD_log_compras();
                        double         n_salfac  = 0;

                        o_compras.mysConec = mysConec;

                        // TRAEMOS EL DOCUMENTO QUE SE NODIFICA
                        int n_iddocventa = entCabecera.n_iddocmod;                                   // OBTENEMOS EL ID DEL DOCUMENTO QUE SE MODIFICA
                        o_compras.TraerRegistro(n_iddocventa);
                        dtres    = o_compras.dtRegistro;
                        n_salfac = Convert.ToDouble(dtres.Rows[0]["n_impsal"]);
                        n_salfac = n_salfac - entCabecera.n_imptotcom;

                        string[,] arrParam1 = new string[3, 3] {
                            { "n_idreg", "System.INT32", n_iddocventa.ToString() },
                            { "n_importe", "System.DOUBLE", n_salfac.ToString() },
                            { "n_tipo", "System.INT32", "2" }
                        };

                        if (xMiFuncion.StoreEjecutar("log_compras_actualizarsaldo", arrParam1, mysConec) == false)
                        {
                            b_ocurrioError = xMiFuncion.booOcurrioError;
                            c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                            n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                            trans.Rollback();
                            return(b_result);
                        }
                    }

                    entCabecera.n_id = Convert.ToInt32(xMiFuncion.intIdGenerado);
                    // GRABAMOS EL DETALLE DE LA COMPRA
                    for (n_Fila = 0; n_Fila <= lstDetalle.Count - 1; n_Fila++)
                    {
                        lstDetalle[n_Fila].n_idcom = Convert.ToInt32(xMiFuncion.intIdGenerado);
                        if (xMiFuncion.StoreEjecutar("log_comprasdet_insertar", lstDetalle[n_Fila], mysConec, null) == false)
                        {
                            b_ocurrioError = xMiFuncion.booOcurrioError;
                            c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                            n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                            trans.Rollback();
                            return(b_result);
                        }
                    }

                    // GRABAMOS LOS DOUMENTOS ASIGNADOS A LA COMPRA
                    for (n_Fila = 0; n_Fila <= lstDocumentos.Count - 1; n_Fila++)
                    {
                        lstDocumentos[n_Fila].n_idcom = Convert.ToInt32(xMiFuncion.intIdGenerado);
                        if (xMiFuncion.StoreEjecutar("log_comprasdoc_insertar", lstDocumentos[n_Fila], mysConec, null) == false)
                        {
                            b_ocurrioError = xMiFuncion.booOcurrioError;
                            c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                            n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                            trans.Rollback();
                            return(b_result);
                        }
                    }

                    // ACTUALIZAMOS LOS DOCUMENTOS ASIGNADOS A LA COMPRA
                    CD_alm_movimientos objMov = new CD_alm_movimientos();
                    objMov.mysConec = mysConec;
                    for (n_Fila = 0; n_Fila <= lstDocumentos.Count - 1; n_Fila++)
                    {
                        if (objMov.ActualizarDocCompra(lstDocumentos[n_Fila].n_iddoc, entCabecera.n_id, 1) == false)
                        {
                            b_ocurrioError = xMiFuncion.booOcurrioError;
                            c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                            n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                            trans.Rollback();
                            return(b_result);
                        }
                    }
                }
                else
                {
                    b_ocurrioError = xMiFuncion.booOcurrioError;
                    c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                    n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                    trans.Rollback();
                    return(b_result);
                }
                n_IdGenerado = entCabecera.n_id;
                b_result     = true;
                trans.Commit();
                return(b_result);
            }
            catch (Exception exc)
            {
                // SI SUCEDE UN ERROR DEVOLVEMOS FALSO
                b_ocurrioError = true;
                c_ErrorMensaje = exc.Message.ToString();
                n_ErrorNumber  = exc.HResult;
                trans.Rollback();
                return(b_result);
            }
        }