Ejemplo n.º 1
0
        protected void btnAddPago_Click(object sender, EventArgs e)
        {
            this.pnlNewPago.Visible = false;
            if (this.cmbTipodeMovPago.SelectedValue == "0")//Es movimiento de caja chica
            {
                try
                {
                    dsMovCajaChica.dtMovCajaChicaDataTable tablaaux       = new dsMovCajaChica.dtMovCajaChicaDataTable();
                    dsMovCajaChica.dtMovCajaChicaRow       dtRowainsertar = tablaaux.NewdtMovCajaChicaRow();
                    dtRowainsertar.nombre = this.txtNombrePago.Text;
                    dtRowainsertar.fecha  = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFechaNPago.Text));
                    try
                    {
                        dtRowainsertar.cargo = double.Parse(this.txtMonto.Text);
                    }
                    catch
                    {
                        dtRowainsertar.cargo = 0.0f;
                    }

                    dtRowainsertar.abono                     = 0.00;
                    dtRowainsertar.storeTS                   = DateTime.Parse(Utils.getNowFormattedDate());
                    dtRowainsertar.updateTS                  = DateTime.Parse(Utils.getNowFormattedDate());
                    dtRowainsertar.Observaciones             = "Pago a nota de compra";
                    dtRowainsertar.catalogoMovBancoInternoID = int.Parse(this.drpdlCatalogocuentaCajaChica.SelectedValue);
                    if (this.drpdlSubcatalogoCajaChica.SelectedIndex > 0)
                    {
                        dtRowainsertar.subCatalogoMovBancoInternoID = int.Parse(this.drpdlSubcatalogoCajaChica.SelectedValue);
                    }
                    dtRowainsertar.numCabezas        = 0;
                    dtRowainsertar.facturaOlarguillo = "";
                    dtRowainsertar.bodegaID          = int.Parse(this.ddlPagosBodegas.SelectedValue);
                    dtRowainsertar.cobrado           = true;
                    //dtRowainsertar.Bodega = this.ddlBodegas.SelectedItem.Text;

                    String  serror           = "";
                    ListBox listBoxAgregadas = new ListBox();
                    if (dbFunctions.insertaMovCaja(ref dtRowainsertar, ref serror, this.UserID, int.Parse(this.drpdlCiclo.SelectedValue)))
                    {
                        String        sNewMov       = dtRowainsertar.movimientoID.ToString();
                        SqlConnection conInsertNota = new SqlConnection(myConfig.ConnectionInfo);
                        string        sqlInsert     = "INSERT INTO Pagos_Proveedores(fecha, proveedorID, movimientoID, cicloID, userID) VALUES (@fecha, @proveedorID, @movimientoID, @cicloID, @userID);";
                        SqlCommand    cmdInsert     = new SqlCommand(sqlInsert, conInsertNota);
                        conInsertNota.Open();
                        try
                        {
                            cmdInsert.Parameters.Add("@fecha", SqlDbType.DateTime).Value   = dtRowainsertar.fecha;
                            cmdInsert.Parameters.Add("@proveedorID", SqlDbType.Int).Value  = int.Parse(this.drpdlProveedor.SelectedValue);
                            cmdInsert.Parameters.Add("@movimientoID", SqlDbType.Int).Value = dtRowainsertar.movimientoID;
                            cmdInsert.Parameters.Add("@cicloID", SqlDbType.Int).Value      = int.Parse(this.drpdlCiclo.SelectedValue);
                            cmdInsert.Parameters.Add("@userID", SqlDbType.Int).Value       = this.UserID;

                            if (cmdInsert.ExecuteNonQuery() != 1)
                            {
                                throw new Exception("This must almost never happen");
                            }

                            Logger.Instance.LogUserSessionRecord(Logger.typeModulo.PROVEEDORES, Logger.typeUserActions.UPDATE, this.UserID, "SE INSERTÓ UN PAGO AL PROVEEDOR " + this.drpdlProveedor.SelectedValue + " EL MOV DE CAJA CHICA FUE: " + dtRowainsertar.movimientoID.ToString());
                        }
                        catch (Exception ex)
                        {
                            Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.UPDATE, this.UserID, "ERROR AL INSERTAR UN PAGO AL PROVEEDOR (CAJA CHICA): " + this.drpdlProveedor.SelectedValue + ". EX " + ex.Message, this.Request.Url.ToString());
                        }
                        //this.pnlNewPago.Visible = true;
                        //this.imgBienPago.Visible = true;
                        //this.imgMalPago.Visible = false;
                        //this.lblNewPagoResult.Text = string.Format(myConfig.StrFromMessages("MOVCAJAADDEDEXITO"), sNewMov);
                        Logger.Instance.LogUserSessionRecord(Logger.typeModulo.MOVIMIENTOSDECAJACHICA, Logger.typeUserActions.INSERT, int.Parse(this.Session["USERID"].ToString()), "AGREGÓ EL MOVIMIENTO DE CAJA CHICA NÚMERO: " + dtRowainsertar.movimientoID.ToString());
                        this.ActualizaTotales();
                    }
                    else
                    {
                        this.pnlNewPago.Visible    = true;
                        this.imgBienPago.Visible   = false;
                        this.imgMalPago.Visible    = true;
                        this.lblNewPagoResult.Text = string.Format(myConfig.StrFromMessages("MOVCAJAADDEDFAILED"), dtRowainsertar.movimientoID.ToString());
                    }
                }
                catch (Exception ex)
                {
                    Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, this.UserID, "ERROR AL INSERTAR MOVIMIENTO DE CAJA. EX : " + ex.Message, this.Request.Url.ToString());
                }
            }
            else
            if (this.cmbTipodeMovPago.SelectedValue == "1")    //Es movimiento de banco
            {
                int    cheque          = 0;
                bool   hayerrorenmonto = false;
                double monto           = 0;
                double.TryParse(this.txtMonto.Text, out monto);
                if (monto == 0)
                {
                    if (this.drpdlCatalogoInternoPago.SelectedItem.Text != "10J -  CHEQUES CANCELADOS")
                    {
                        hayerrorenmonto = true;
                    }
                }
                if (hayerrorenmonto)
                {
                    this.pnlNewPago.Visible    = true;
                    this.imgMalPago.Visible    = true;
                    this.imgBienPago.Visible   = false;
                    this.lblNewPagoResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO, ERROR EN MONTO, ESCRIBA CANTIDAD VÁLIDA";
                    return;
                }
                if (dbFunctions.FechaEnPeriodoBloqueado(DateTime.Parse(this.txtFechaNPago.Text), int.Parse(this.cmbCuentaPago.SelectedValue)))
                {
                    this.pnlNewPago.Visible    = true;
                    this.imgBienPago.Visible   = false;
                    this.imgMalPago.Visible    = true;
                    this.lblNewPagoResult.Text = "EL MOVIMIENTO NO PUEDE SER AGREGADO YA QUE LA FECHA ESTA DENTRO DE UN PERIODO BLOQUEADO<BR />DESBLOQUEE EL PERIODO PARA PERMITIR INGRESAR EL MOVIMIENTO";
                    return;
                }

                if (this.cmbConceptomovBancoPago.SelectedItem.Text == "CHEQUE")
                {
                    if (int.TryParse(this.txtChequeNum.Text, out cheque))
                    {
                        if (dbFunctions.ChequeAlreadyExists(cheque, this.cmbCuentaPago.SelectedValue))
                        {
                            this.pnlNewPago.Visible    = true;
                            this.imgBienPago.Visible   = false;
                            this.imgMalPago.Visible    = true;
                            this.lblNewPagoResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO, ESTE CHEQUE YA HA SIDO AGREGADO";
                            //this.cmbTipodeMovPago.SelectedIndex = 0;
                            return;
                        }
                    }
                    else
                    {
                        this.pnlNewPago.Visible    = true;
                        this.imgBienPago.Visible   = false;
                        this.imgMalPago.Visible    = true;
                        this.lblNewPagoResult.Text = "ERROR!! EL NUMERO DE CHEQUE ES INCORRECTO";
                        //this.cmbTipodeMovPago.SelectedIndex = 0;
                        return;
                    }


                    if (!numChequeValido(cheque, int.Parse(this.cmbCuentaPago.SelectedValue)))
                    {
                        this.pnlNewPago.Visible    = true;
                        this.imgBienPago.Visible   = false;
                        this.imgMalPago.Visible    = true;
                        this.lblNewPagoResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO, EL NUMERO DE CHEQUE NO CORRESPONDE A EL NUMERO DE CUENTA";


                        return;
                    }
                }



                //this.cmbTipodeMov.DataBind();
                dsMovBanco.dtMovBancoDataTable tablaaux       = new dsMovBanco.dtMovBancoDataTable();
                dsMovBanco.dtMovBancoRow       dtRowainsertar = tablaaux.NewdtMovBancoRow();
                //dtRowainsertar.cicloID = int.Parse(this.drpdlCiclo.SelectedValue);
                dtRowainsertar.chequecobrado = true;
                dtRowainsertar.conceptoID    = int.Parse(this.cmbConceptomovBancoPago.SelectedValue);
                dtRowainsertar.nombre        = this.txtNombrePago.Text;
                dtRowainsertar.fecha         = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFechaNPago.Text));
                //dats de cheque
                dtRowainsertar.numCheque         = this.txtChequeNum.Text.Length > 0 ? int.Parse(this.txtChequeNum.Text) : 0;
                dtRowainsertar.chequeNombre      = this.txtChequeNombre.Text;
                dtRowainsertar.facturaOlarguillo = this.txtFacturaLarguillo.Text;
                dtRowainsertar.numCabezas        = 0;//this.txtNumCabezas.Text.Length > 0 ? double.Parse(this.txtNumCabezas.Text) : 0;

                dtRowainsertar.catalogoMovBancoInternoID = int.Parse(this.drpdlCatalogoInternoPago.SelectedValue);
                if (this.drpdlSubcatologointernaPago.SelectedIndex > -1)
                {
                    dtRowainsertar.subCatalogoMovBancoInternoID = int.Parse(this.drpdlSubcatologointernaPago.SelectedValue);
                }
                //if (!this.chkMostrarFiscales.Checked)
                //{
                //    dtRowainsertar.catalogoMovBancoFiscalID = int.Parse(this.drpdlCatalogoInterno.SelectedValue);
                //    if (this.drpdlSubcatologointerna.SelectedIndex > -1)
                //        dtRowainsertar.subCatalogoMovBancoFiscalID = int.Parse(this.drpdlSubcatologointerna.SelectedValue);
                ////}
                //else
                //{
                if (this.cmbConceptomovBancoPago.SelectedItem != null && this.cmbConceptomovBancoPago.SelectedItem.Text == "CHEQUE")
                {
                    dtRowainsertar.catalogoMovBancoFiscalID = int.Parse(this.drpdlCatalogocuentafiscalPago.SelectedValue);
                    if (this.drpdlSubcatalogofiscalPago.SelectedIndex > -1)
                    {
                        dtRowainsertar.subCatalogoMovBancoFiscalID = int.Parse(this.drpdlSubcatalogofiscalPago.SelectedValue);
                    }
                }
                else
                {
                    dtRowainsertar.catalogoMovBancoFiscalID    = dtRowainsertar.catalogoMovBancoInternoID;
                    dtRowainsertar.subCatalogoMovBancoFiscalID = dtRowainsertar.subCatalogoMovBancoInternoID;
                }
                //}

                //if (cmbTipodeMov.SelectedIndex == 0)
                //{//ES CARGO

                dtRowainsertar.cargo = this.txtMonto.Text.Length > 0 ? double.Parse(this.txtMonto.Text) : 0;
                dtRowainsertar.abono = 0.00;

                //}
                //else
                //{//ES ABONO
                //    dtRowainsertar.abono = this.txtMonto.Text.Length > 0 ? double.Parse(this.txtMonto.Text) : 0;
                //    dtRowainsertar.cargo = 0.00;
                //}
                dtRowainsertar.storeTS  = DateTime.Parse(Utils.getNowFormattedDate());
                dtRowainsertar.updateTS = DateTime.Parse(Utils.getNowFormattedDate());

                //             if (this.chkAssignToCredit.Checked)
                //             {
                //                 dtRowainsertar.creditoFinancieroID = int.Parse(this.ddlCreditoFinanciero.SelectedValue);
                //             }


                String serror = "", tipo = "";
                //bool bTodobien = true;
                //tipo = this.cmbTipodeMov.Text;
                dtRowainsertar.cuentaID = int.Parse(this.cmbCuentaPago.SelectedValue);
                //CHECAMOS SI SE VA A AGREGAR A UN CRÉDITO FINANCIERO
                //if (int.TryParse(this.lblcredFinID.Text, out credFinID) && credFinID > -1)
                //{
                //    dtRowainsertar.creditoFinancieroID = credFinID;
                //}
                //else
                //{
                dtRowainsertar.creditoFinancieroID = -1;

                //}
                ListBox a = new ListBox();
                if (dbFunctions.insertaMovBanco(ref dtRowainsertar, ref serror, int.Parse(this.Session["USERID"].ToString()), int.Parse(this.cmbCuentaPago.SelectedValue), int.Parse(this.drpdlCiclo.SelectedValue), -1, "", "PAGO A NOTA DE COMPRA"))
                {
                    SqlConnection connVenta = new SqlConnection(myConfig.ConnectionInfo);
                    try
                    {
                        connVenta.Open();
                        SqlCommand commVenta = new SqlCommand();
                        commVenta.Connection  = connVenta;
                        commVenta.CommandText = "INSERT INTO Pagos_Proveedores(fecha, proveedorID, movbanID, cicloID, userID) VALUES (@fecha, @proveedorID, @movbanID, @cicloID, @userID);";
                        commVenta.Parameters.Add("@fecha", SqlDbType.DateTime).Value  = dtRowainsertar.fecha;
                        commVenta.Parameters.Add("@proveedorID", SqlDbType.Int).Value = int.Parse(this.drpdlProveedor.SelectedValue);
                        commVenta.Parameters.Add("@movbanID", SqlDbType.Int).Value    = dtRowainsertar.movBanID;
                        commVenta.Parameters.Add("@cicloID", SqlDbType.Int).Value     = int.Parse(this.drpdlCiclo.SelectedValue);
                        commVenta.Parameters.Add("@userID", SqlDbType.Int).Value      = this.UserID;

                        if (commVenta.ExecuteNonQuery() != 1)
                        {
                            throw new Exception("This must almost never happen");
                        }
                    }
                    catch (System.Exception ex)
                    {
                        Logger.Instance.LogException(Logger.typeUserActions.INSERT, "Error adding new movbanco->PROVEEDOR PAGOS", ref ex);
                    }
                    finally
                    {
                        connVenta.Close();
                    }



                    //limpiacampos();
                    this.cmbTipodeMovPago.SelectedIndex = 0;
                    this.divPagoMovCaja.Attributes.Add("style", this.cmbTipodeMovPago.SelectedItem.Text == "EFECTIVO" ? "visibility: visible; display: block" : "visibility: hidden; display: none");
                    this.divMovBanco.Attributes.Add("style", this.cmbTipodeMovPago.SelectedItem.Text == "MOVIMIENTO DE BANCO" ? "visibility: visible; display: block" : "visibility: hidden; display: none");
                    this.divCheque.Attributes.Add("style", this.cmbConceptomovBancoPago.SelectedItem.Text == "CHEQUE" ? "visibility: visible; display: block" : "visibility: hidden; display: none");
                    //this.pnlNewPago.Visible = true;
                    //this.imgBienPago.Visible = true;
                    //this.imgMalPago.Visible = false;

                    //if (this.chkCreditoFinanciero.Checked)
                    //{
                    //    SqlConnection connCertificados = new SqlConnection(myConfig.ConnectionInfo);
                    //    try
                    //    {
                    //        connCertificados.Open();
                    //        SqlCommand commCertificados = new SqlCommand();
                    //        commCertificados.Connection = connCertificados;
                    //        commCertificados.CommandText = "INSERT INTO Certificado_MovBanco (CredFinCertID, movBanID) VALUES ";
                    //        commCertificados.Parameters.Add("@movBanID", SqlDbType.Int).Value = dtRowainsertar.movBanID;
                    //        int i = 0;
                    //        foreach (ListItem item in this.chkListCredBinCertificados.Items)
                    //        {
                    //            if (item.Selected)
                    //            {
                    //                if (i > 0)
                    //                {
                    //                    commCertificados.CommandText += ",";
                    //                }
                    //                commCertificados.CommandText += "(@CredFinCertID_" + i.ToString() + ",@movBanID)";
                    //                commCertificados.Parameters.Add("@CredFinCertID_" + i.ToString(), SqlDbType.Int).Value = item.Value;
                    //                i++;
                    //            }
                    //        }
                    //        if (i > 0)
                    //        {
                    //            int iInsertadas = ((int)commCertificados.ExecuteNonQuery());
                    //            if (iInsertadas <= 0)
                    //            {
                    //                throw new Exception("This must almost never happen");
                    //            }
                    //        }

                    //    }
                    //    catch (System.Exception ex)
                    //    {
                    //        Logger.Instance.LogException(Logger.typeUserActions.INSERT, "error adding new movbanco->factura", ref ex);
                    //    }
                    //    finally
                    //    {
                    //        connCertificados.Close();
                    //    }
                    //}
                    //if (int.TryParse(this.lblcredFinID.Text, out credFinID) && credFinID > -1)
                    //{
                    //    this.lblNewMovResult.Text = "SE HA AGREGADO EXITOSAMENTE EL MOVIMIENTO DE BANCO AL CRÉDITO FINANCIERO";
                    //}
                    //else
                    //{
                    //    this.lblNewMovResult.Text = "SE HA AGREGADO EXITOSAMENTE EL MOVIMIENTO DE BANCO.";
                    //}
                }
                else
                {
                    //this.cmbTipodeMovPago.SelectedIndex = 0;
                    this.pnlNewPago.Visible    = true;
                    this.imgBienPago.Visible   = false;
                    this.imgMalPago.Visible    = true;
                    this.lblNewPagoResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO";
                }
            }
            this.btnActualizar_Click(null, null);
            this.txtMonto.Text = this.txtNombrePago.Text = this.txtFacturaLarguillo.Text = this.txtChequeNum.Text = this.txtChequeNombre.Text = "";
        }
Ejemplo n.º 2
0
        protected void btnAddPago_Click(object sender, EventArgs e)
        {
            this.pnlNewPago.Visible = false;
            int    cheque          = 0;
            bool   hayerrorenmonto = false;
            double monto           = 0;

            dsMovBanco.dtMovBancoDataTable tablaaux = new dsMovBanco.dtMovBancoDataTable();
            dsMovBanco.dtMovBancoRow       dtRowainsertar = tablaaux.NewdtMovBancoRow();
            String  serror = "", tipo = "";
            ListBox a = new ListBox();

            if (this.cmbTipodeMovPago.SelectedValue == "0")//Es movimiento de caja chica
            {
                try
                {
                    dsMovCajaChica.dtMovCajaChicaDataTable tablaaux2       = new dsMovCajaChica.dtMovCajaChicaDataTable();
                    dsMovCajaChica.dtMovCajaChicaRow       dtRowainsertar2 = tablaaux2.NewdtMovCajaChicaRow();
                    dtRowainsertar2.nombre                    = this.txtNombrePago.Text;
                    dtRowainsertar2.fecha                     = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFechaNPago.Text));
                    dtRowainsertar2.cargo                     = 0.00;
                    dtRowainsertar2.abono                     = double.Parse(this.txtMonto.Text);
                    dtRowainsertar2.storeTS                   = DateTime.Parse(Utils.getNowFormattedDate());
                    dtRowainsertar2.updateTS                  = DateTime.Parse(Utils.getNowFormattedDate());
                    dtRowainsertar2.Observaciones             = "Pago a credito";
                    dtRowainsertar2.catalogoMovBancoInternoID = int.Parse(this.drpdlCatalogocuentaCajaChica.SelectedValue);
                    if (this.drpdlSubcatalogoCajaChica.SelectedIndex > 0)
                    {
                        dtRowainsertar2.subCatalogoMovBancoInternoID = int.Parse(this.drpdlSubcatalogoCajaChica.SelectedValue);
                    }
                    dtRowainsertar2.numCabezas        = 0;
                    dtRowainsertar2.facturaOlarguillo = "";
                    dtRowainsertar2.bodegaID          = int.Parse(this.ddlPagosBodegas.SelectedValue);
                    dtRowainsertar2.cobrado           = true;
                    //dtRowainsertar.Bodega = this.ddlBodegas.SelectedItem.Text;

                    serror = "";
                    ListBox listBoxAgregadas = new ListBox();
                    if (dbFunctions.insertaMovCaja(ref dtRowainsertar2, ref serror, this.UserID, int.Parse(this.cmbCiclo.SelectedValue)))
                    {
                        String        sNewMov       = dtRowainsertar2.movimientoID.ToString();
                        SqlConnection conInsertNota = new SqlConnection(myConfig.ConnectionInfo);
                        string        sqlInsert     = "insert into Pagos_Credito (fecha, creditoID, movimientoID) VALUES(@fecha, @creditoID, @movimientoID)";
                        SqlCommand    cmdInsert     = new SqlCommand(sqlInsert, conInsertNota);
                        conInsertNota.Open();
                        try
                        {
                            cmdInsert.Parameters.Clear();
                            cmdInsert.Parameters.Add("@fecha", SqlDbType.DateTime).Value   = dtRowainsertar2.fecha;
                            cmdInsert.Parameters.Add("@creditoID", SqlDbType.Int).Value    = int.Parse(this.ddlCredito.SelectedValue);
                            cmdInsert.Parameters.Add("@movimientoID", SqlDbType.Int).Value = dtRowainsertar2.movimientoID;
                            int numregistros = cmdInsert.ExecuteNonQuery();
                            if (numregistros != 1)
                            {
                                throw new Exception("ERROR AL INSERTAR RELACION Creditos - PAGOS. LA DB REGRESÓ QUE SE ALTERARON " + numregistros.ToString() + "REGISTROS");
                            }


                            Logger.Instance.LogUserSessionRecord(Logger.typeModulo.CREDITOS, Logger.typeUserActions.UPDATE, this.UserID, "SE INSERTÓ UN PAGO AL CREDITO " + this.ddlCredito.SelectedValue + " EL MOV DE CAJA CHICA FUE: " + dtRowainsertar2.movimientoID.ToString());
                        }
                        catch (Exception ex)
                        {
                            Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.UPDATE, this.UserID, "ERROR AL INSERTAR UN PAGO AL CREDITO (CAJA CHICA): " + this.ddlCredito.SelectedValue + ". EX " + ex.Message, this.Request.Url.ToString());
                        }
                        //this.pnlNewPago.Visible = true;
                        //this.imgBienPago.Visible = true;
                        //this.imgMalPago.Visible = false;
                        //this.lblNewPagoResult.Text = string.Format(myConfig.StrFromMessages("MOVCAJAADDEDEXITO"), sNewMov);
                        Logger.Instance.LogUserSessionRecord(Logger.typeModulo.MOVIMIENTOSDECAJACHICA, Logger.typeUserActions.INSERT, int.Parse(this.Session["USERID"].ToString()), "AGREGÓ EL MOVIMIENTO DE CAJA CHICA NÚMERO: " + dtRowainsertar2.movimientoID.ToString());


                        //this.ActualizaTotales();
                    }
                    else
                    {
                        this.pnlNewPago.Visible    = true;
                        this.imgBienPago.Visible   = false;
                        this.imgMalPago.Visible    = true;
                        this.lblNewPagoResult.Text = string.Format(myConfig.StrFromMessages("MOVCAJAADDEDFAILED"), dtRowainsertar2.movimientoID.ToString());
                    }
                }
                catch (Exception ex)
                {
                    Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, this.UserID, "ERROR AL INSERTAR MOVIMIENTO DE CAJA. EX : " + ex.Message, this.Request.Url.ToString());
                }
            }
            else
            if (this.cmbTipodeMovPago.SelectedValue == "4" || this.cmbTipodeMovPago.SelectedValue == "5")     //ES TRANSFERENCIA O DEPOSITO
            {
                cheque          = 0;
                hayerrorenmonto = false;
                monto           = 0;
                double.TryParse(this.txtMonto.Text, out monto);
                tablaaux       = new dsMovBanco.dtMovBancoDataTable();
                dtRowainsertar = tablaaux.NewdtMovBancoRow();
                dtRowainsertar.chequecobrado             = true;
                dtRowainsertar.conceptoID                = this.cmbTipodeMovPago.SelectedValue == "4" ? 1 : 2;
                dtRowainsertar.nombre                    = this.txtNombrePago.Text;
                dtRowainsertar.fecha                     = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFechaNPago.Text));
                dtRowainsertar.numCheque                 = this.txtChequeNum.Text.Length > 0 ? int.Parse(this.txtChequeNum.Text) : 0;
                dtRowainsertar.chequeNombre              = this.txtChequeNombre.Text;
                dtRowainsertar.facturaOlarguillo         = this.txtFacturaLarguillo.Text;
                dtRowainsertar.numCabezas                = 0;
                dtRowainsertar.catalogoMovBancoInternoID = int.Parse(this.drpdlCatalogoInternoPago.SelectedValue);
                if (this.drpdlSubcatologointernaPago.SelectedIndex > -1)
                {
                    dtRowainsertar.subCatalogoMovBancoInternoID = int.Parse(this.drpdlSubcatologointernaPago.SelectedValue);
                }
                dtRowainsertar.catalogoMovBancoFiscalID = int.Parse(this.drpdlCatalogocuentafiscalPago.SelectedValue);
                if (this.drpdlSubcatalogofiscalPago.SelectedIndex > -1)
                {
                    dtRowainsertar.subCatalogoMovBancoFiscalID = int.Parse(this.drpdlSubcatalogofiscalPago.SelectedValue);
                }
                dtRowainsertar.cargo    = 0.00;
                dtRowainsertar.abono    = this.txtMonto.Text.Length > 0 ? double.Parse(this.txtMonto.Text) : 0;
                dtRowainsertar.storeTS  = DateTime.Parse(Utils.getNowFormattedDate());
                dtRowainsertar.updateTS = DateTime.Parse(Utils.getNowFormattedDate());
                serror = "";
                tipo   = "";
                dtRowainsertar.cuentaID            = int.Parse(this.cmbCuentaPago.SelectedValue);
                dtRowainsertar.creditoFinancieroID = -1;
                a = new ListBox();
                if (dbFunctions.insertaMovBanco(ref dtRowainsertar, ref serror, int.Parse(this.Session["USERID"].ToString()), int.Parse(this.cmbCuentaPago.SelectedValue), int.Parse(this.cmbCiclo.SelectedValue), -1, "", "PAGO A NOTA DE VENTA"))
                {
                    SqlConnection connVenta = new SqlConnection(myConfig.ConnectionInfo);
                    try
                    {
                        connVenta.Open();
                        SqlCommand commVenta = new SqlCommand();
                        commVenta.Connection  = connVenta;
                        commVenta.CommandText = "INSERT INTO Pagos_Credito(fecha, creditoID, movbanID) VALUES (@fecha,@creditoID,@movbanID) ";
                        commVenta.Parameters.Add("@fecha", SqlDbType.DateTime).Value = dtRowainsertar.fecha;
                        commVenta.Parameters.Add("@creditoID", SqlDbType.Int).Value  = int.Parse(this.ddlCredito.SelectedValue);
                        commVenta.Parameters.Add("@movbanID", SqlDbType.Int).Value   = dtRowainsertar.movBanID;

                        if (commVenta.ExecuteNonQuery() != 1)
                        {
                            throw new Exception("This must almost never happen");
                        }
                    }


                    catch (System.Exception ex)
                    {
                        Logger.Instance.LogException(Logger.typeUserActions.INSERT, "Error adding new movbanco->credito", ref ex);
                    }
                    finally
                    {
                        connVenta.Close();
                    }
                    this.cmbTipodeMovPago.SelectedIndex = 0;
                    this.pnlNewPago.Visible             = true;
                    this.imgBienPago.Visible            = true;
                    this.imgMalPago.Visible             = false;
                    this.lblNewPagoResult.Text          = "EL MOVIMIENTO DE BANCO NÚMERO :" + dtRowainsertar.movBanID.ToString() + " SE HA AGREGADO SATISFACTORIAMENTE";
                }
            }
            else
            if (this.cmbTipodeMovPago.SelectedValue == "1")        //CHEQUE
            {
                cheque          = 0;
                hayerrorenmonto = false;
                monto           = 0;
                double.TryParse(this.txtMonto.Text, out monto);
                if (monto == 0)
                {
                    if (this.drpdlCatalogoInternoPago.SelectedItem.Text != "10J -  CHEQUES CANCELADOS")
                    {
                        hayerrorenmonto = true;
                    }
                }
                if (hayerrorenmonto)
                {
                    this.pnlNewPago.Visible    = true;
                    this.imgMalPago.Visible    = true;
                    this.imgBienPago.Visible   = false;
                    this.lblNewPagoResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO, ERROR EN MONTO, ESCRIBA CANTIDAD VÁLIDA";
                    return;
                }

                if (this.cmbTipodeMovPago.SelectedItem.Text == "CHEQUE")
                {
                    if (int.TryParse(this.txtChequeNum.Text, out cheque))
                    {
                        if (dbFunctions.ChequeAlreadyExists(cheque, this.cmbCuentaPago.SelectedValue))
                        {
                            this.pnlNewPago.Visible             = true;
                            this.imgBienPago.Visible            = false;
                            this.imgMalPago.Visible             = true;
                            this.lblNewPagoResult.Text          = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO, ESTE CHEQUE YA HA SIDO AGREGADO";
                            this.cmbTipodeMovPago.SelectedIndex = 0;
                            return;
                        }
                    }
                    else
                    {
                        this.pnlNewPago.Visible             = true;
                        this.imgBienPago.Visible            = false;
                        this.imgMalPago.Visible             = true;
                        this.lblNewPagoResult.Text          = "ERROR!! EL NUMERO DE CHEQUE ES INCORRECTO";
                        this.cmbTipodeMovPago.SelectedIndex = 0;
                        return;
                    }

                    if (!numChequeValido(cheque, int.Parse(this.cmbCuentaPago.SelectedValue)))
                    {
                        this.pnlNewPago.Visible    = true;
                        this.imgBienPago.Visible   = false;
                        this.imgMalPago.Visible    = false;
                        this.lblNewPagoResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO, EL NUMERO DE CHEQUE NO CORRESPONDE A EL NUMERO DE CUENTA";
                        return;
                    }
                }

                tablaaux       = new dsMovBanco.dtMovBancoDataTable();
                dtRowainsertar = tablaaux.NewdtMovBancoRow();
                dtRowainsertar.chequecobrado     = true;
                dtRowainsertar.conceptoID        = 3;
                dtRowainsertar.nombre            = this.txtNombrePago.Text;
                dtRowainsertar.fecha             = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFechaNPago.Text));
                dtRowainsertar.numCheque         = this.txtChequeNum.Text.Length > 0 ? int.Parse(this.txtChequeNum.Text) : 0;
                dtRowainsertar.chequeNombre      = this.txtChequeNombre.Text;
                dtRowainsertar.facturaOlarguillo = this.txtFacturaLarguillo.Text;
                dtRowainsertar.numCabezas        = 0; //this.txtNumCabezas.Text.Length > 0 ? double.Parse(this.txtNumCabezas.Text) : 0;

                dtRowainsertar.catalogoMovBancoInternoID = int.Parse(this.drpdlCatalogoInternoPago.SelectedValue);
                if (this.drpdlSubcatologointernaPago.SelectedIndex > -1)
                {
                    dtRowainsertar.subCatalogoMovBancoInternoID = int.Parse(this.drpdlSubcatologointernaPago.SelectedValue);
                }
                dtRowainsertar.catalogoMovBancoFiscalID = int.Parse(this.drpdlCatalogocuentafiscalPago.SelectedValue);
                if (this.drpdlSubcatalogofiscalPago.SelectedIndex > -1)
                {
                    dtRowainsertar.subCatalogoMovBancoFiscalID = int.Parse(this.drpdlSubcatalogofiscalPago.SelectedValue);
                }
                dtRowainsertar.cargo    = 0.00;
                dtRowainsertar.abono    = this.txtMonto.Text.Length > 0 ? double.Parse(this.txtMonto.Text) : 0;
                dtRowainsertar.storeTS  = DateTime.Parse(Utils.getNowFormattedDate());
                dtRowainsertar.updateTS = DateTime.Parse(Utils.getNowFormattedDate());
                serror = "";
                tipo   = "";
                dtRowainsertar.cuentaID            = int.Parse(this.cmbCuentaPago.SelectedValue);
                dtRowainsertar.creditoFinancieroID = -1;
                a = new ListBox();
                if (dbFunctions.insertaMovBanco(ref dtRowainsertar, ref serror, int.Parse(this.Session["USERID"].ToString()), int.Parse(this.cmbCuentaPago.SelectedValue), int.Parse(this.cmbCiclo.SelectedValue), -1, "", "PAGO A NOTA DE VENTA"))
                {
                    SqlConnection connVenta = new SqlConnection(myConfig.ConnectionInfo);
                    try
                    {
                        connVenta.Open();
                        SqlCommand commVenta = new SqlCommand();
                        commVenta.Connection  = connVenta;
                        commVenta.CommandText = "INSERT INTO Pagos_Credito(fecha, creditoID, movbanID) VALUES (@fecha,@creditoID,@movbanID) ";
                        commVenta.Parameters.Add("@fecha", SqlDbType.DateTime).Value = dtRowainsertar.fecha;
                        commVenta.Parameters.Add("@creditoID", SqlDbType.Int).Value  = int.Parse(this.ddlCredito.SelectedValue);
                        commVenta.Parameters.Add("@movbanID", SqlDbType.Int).Value   = dtRowainsertar.movBanID;

                        if (commVenta.ExecuteNonQuery() != 1)
                        {
                            throw new Exception("This must almost never happen");
                        }
                    }
                    catch (System.Exception ex)
                    {
                        Logger.Instance.LogException(Logger.typeUserActions.INSERT, "Error adding new movbanco->credito", ref ex);
                    }
                    finally
                    {
                        connVenta.Close();
                    }
                    this.cmbTipodeMovPago.SelectedIndex = 0;
                    this.pnlNewPago.Visible             = true;
                    this.imgBienPago.Visible            = true;
                    this.imgMalPago.Visible             = false;
                    this.lblNewPagoResult.Text          = "EL MOVIMIENTO DE BANCO NÚMERO :" + dtRowainsertar.movBanID.ToString() + " SE HA AGREGADO SATISFACTORIAMENTE";
                }
                else
                {
                    this.cmbTipodeMovPago.SelectedIndex = 0;
                    this.pnlNewPago.Visible             = true;
                    this.imgBienPago.Visible            = false;
                    this.imgMalPago.Visible             = true;
                    this.lblNewPagoResult.Text          = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO";
                }
            }
            else if (this.cmbTipodeMovPago.SelectedValue == "3")
            {
                SqlConnection sqlConn = new SqlConnection(myConfig.ConnectionInfo);
                try
                {
                    sqlConn.Open();

                    SqlConnection addConn = new SqlConnection(myConfig.ConnectionInfo);
                    SqlCommand    addComm = new SqlCommand();
                    addComm.Connection = addConn;
                    addConn.Open();
                    addComm.CommandText = "INSERT INTO Boletas (productorID, NombreProductor, NumeroBoleta, Ticket, bodegaID, cicloID, FechaEntrada, PesoDeEntrada, FechaSalida, PesoDeSalida, pesonetoentrada,  pesonetosalida, totalapagar, productoID, humedad, impurezas, pesonetoapagar, importe, precioapagar, dctoSecado, userID) VALUES     (@productorID,@NombreProductor,@NumeroBoleta,@Ticket,@bodegaID,@cicloID,@FechaEntrada,@PesoDeEntrada,@FechaSalida,@PesoDeSalida,@pesonetoentrada,@pesonetosalida,@totalapagar,@productoID,@humedad,@impurezas,@pesonetoapagar,@importe, @precioapagar,@dctoSecado,@userID); select boletaID = SCOPE_IDENTITY();";


                    addComm.Parameters.Add("@productorID", SqlDbType.Int).Value         = int.Parse(this.ddlNewBoletaProductor.SelectedValue);
                    addComm.Parameters.Add("@NombreProductor", SqlDbType.VarChar).Value = this.ddlNewBoletaProductor.SelectedItem.Text;
                    //    //addComm.Parameters.AddWithValue("@NombreProductor", newRow.NombreProductor);
                    addComm.Parameters.Add("@NumeroBoleta", SqlDbType.VarChar).Value = this.txtNewNumBoleta.Text;
                    //    //addComm.Parameters.AddWithValue("@NumeroBoleta", newRow.NumeroBoleta);
                    //    //  addComm.Parameters.AddWithValue("@Ticket", newRow.Ticket);
                    addComm.Parameters.Add("@Ticket", SqlDbType.VarChar).Value = this.txtNewTicket.Text;
                    //    //  addComm.Parameters.AddWithValue("@bodegaID", newRow.bodegaID);
                    addComm.Parameters.Add("@bodegaID", SqlDbType.Int).Value = int.Parse(this.ddlNewBoletaBodega.SelectedValue);
                    //    //  addComm.Parameters.AddWithValue("@cicloID", newRow.cicloID);
                    addComm.Parameters.Add("@cicloID", SqlDbType.Int).Value = int.Parse(this.cmbCiclo.SelectedValue);
                    //    //  addComm.Parameters.AddWithValue("@FechaEntrada", newRow.FechaEntrada);
                    DateTime dtFechaEntrada = new DateTime();
                    if (!DateTime.TryParse(this.txtNewFechaEntrada.Text /*+ " " + this.txtNewHoraEntrada.Text*/, out dtFechaEntrada))
                    {
                        /*DateTime.TryParse(this.txtNewFechaEntrada.Text, out dtFechaEntrada);*/
                        dtFechaEntrada = Utils.Now;
                    }

                    addComm.Parameters.Add("@FechaEntrada", SqlDbType.DateTime).Value = dtFechaEntrada;
                    double dPesoEntrada = 0;
                    double.TryParse(this.txtNewPesoEntrada.Text, out dPesoEntrada);
                    addComm.Parameters.Add("@PesoDeEntrada", SqlDbType.Float).Value = dPesoEntrada;



                    DateTime dtFechaSalida = new DateTime();
                    if (this.chkChangeFechaSalidaNewBoleta.Checked)
                    {
                        if (!DateTime.TryParse(this.txtNewFechaSalida.Text /*+ " " + this.txtNewHoraEntrada.Text*/, out dtFechaSalida))
                        {
                            //DateTime.TryParse(this.txtNewFechaSalida.Text, out dtFechaSalida);
                            dtFechaSalida = Utils.Now;
                        }
                    }
                    else
                    {
                        dtFechaSalida = dtFechaEntrada;
                    }
                    addComm.Parameters.Add("@FechaSalida", SqlDbType.DateTime).Value = dtFechaSalida;
                    double dPesoSalida = 0;
                    double.TryParse(this.txtNewPesoSalida.Text, out dPesoSalida);
                    addComm.Parameters.Add("@PesoDeSalida", SqlDbType.Float).Value = dPesoSalida;
                    double dPesoNetoEntrada = 0;
                    double dPesoNetoSalida  = 0;
                    if (dPesoEntrada - dPesoSalida > 0)
                    {
                        dPesoNetoEntrada = dPesoEntrada - dPesoSalida;
                        dPesoNetoSalida  = 0;
                    }
                    else
                    {
                        dPesoNetoEntrada = 0;
                        dPesoNetoSalida  = dPesoSalida - dPesoEntrada;
                    }

                    addComm.Parameters.Add("@pesonetoentrada", SqlDbType.Float).Value = dPesoNetoEntrada;
                    addComm.Parameters.Add("@pesonetosalida", SqlDbType.Float).Value  = dPesoNetoSalida;
                    addComm.Parameters.Add("@pesonetoapagar", SqlDbType.Float).Value  = dPesoNetoEntrada - dPesoNetoSalida;


                    decimal dPrecio = 0;

                    decimal.TryParse(this.txtNewPrecio.Text, out dPrecio);
                    addComm.Parameters.Add("@importe", SqlDbType.Float).Value = (dPesoNetoEntrada - dPesoNetoSalida) * float.Parse(dPrecio.ToString());

                    //    // addComm.Parameters.AddWithValue("@productoID", newRow.productoID);
                    addComm.Parameters.Add("@productoID", SqlDbType.Int).Value = int.Parse(this.ddlNewBoletaProducto.SelectedValue);

                    double dHumedad = 0;
                    double.TryParse(this.txtNewHumedad.Text, out dHumedad);

                    double dImpurezas = 0;
                    double.TryParse(this.txtNewImpurezas.Text, out dImpurezas);
                    addComm.Parameters.Add("@humedad", SqlDbType.Float).Value   = dHumedad;
                    addComm.Parameters.Add("@impurezas", SqlDbType.Float).Value = dImpurezas;
                    dPrecio = 0;
                    decimal.TryParse(this.txtNewPrecio.Text, out dPrecio);
                    double dSecado = 0;
                    double.TryParse(this.txtNewSecado.Text, out dSecado);
                    addComm.Parameters.Add("@dctoSecado", SqlDbType.Float).Value   = dSecado;
                    addComm.Parameters.Add("@precioapagar", SqlDbType.Float).Value = dPrecio;
                    double kgh = 0;
                    double kgi = 0;
                    double kgs = 0;
                    Utils.getDesctoHumedad(dHumedad, kgh);
                    Utils.getDesctoImpurezas(dImpurezas, kgi);
                    Utils.getDesctoSecado(dImpurezas, kgs);
                    addComm.Parameters.Add("@totalapagar", SqlDbType.Float).Value = (dPesoNetoEntrada - kgh - kgi) * float.Parse(dPrecio.ToString()) - kgs;
                    addComm.Parameters.Add("@userID", SqlDbType.Int).Value        = this.UserID;
                    int    newbol = int.Parse(addComm.ExecuteScalar().ToString());
                    string qr     = "INSERT INTO Pagos_Credito  (fecha, creditoID, boletaID) VALUES     (@fecha, @creditoID, @boletaID)";
                    addComm.Parameters.Clear();
                    addComm.CommandText = qr;
                    addComm.Parameters.Add("@fecha", SqlDbType.DateTime).Value = dtFechaEntrada;
                    addComm.Parameters.Add("@creditoID", SqlDbType.Int).Value  = int.Parse(this.ddlCredito.SelectedValue);
                    addComm.Parameters.Add("@boletaID", SqlDbType.Int).Value   = newbol;
                    addComm.ExecuteNonQuery();
                    this.txtNewNumBoleta.Text = "";
                    this.txtNewTicket.Text    = "";
                    this.ddlNewBoletaProducto.SelectedIndex = 0;

                    this.txtNewFechaEntrada.Text   = this.txtNewFechaSalida.Text = Utils.Now.ToString("dd/MM/yyyy");
                    this.txtPesoNetoNewBoleta.Text = this.txtNewPesoEntrada.Text = this.txtNewPesoSalida.Text = "0";
                    this.txtNewSecado.Text         = this.txtNewHumedad.Text = this.txtNewImpurezas.Text = this.txtNewPrecio.Text = "0";


                    this.ddlNewBoletaBodega
                    .DataBind();
                    this.ddlNewBoletaBodega.SelectedValue = this.BodegaID.ToString();
                }
                catch (System.Exception ex)
                {
                    Logger.Instance.LogException(Logger.typeUserActions.INSERT, "Error agregando boleta En Credito", this.Request.Url.ToString(), ref ex);
                    Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, int.Parse(Session["USERID"].ToString()), "Error Insertando Nueva Boleta EX:" + ex.Message, this.Request.Url.ToString());
                }
                finally
                {
                    sqlConn.Close();
                }
            }
            else if (this.cmbTipodeMovPago.SelectedValue == "2")        //TARJETA DIESEL
            {
                serror = "";
                try
                {
                    if (dbFunctions.addTarjetaDiesel(int.Parse(this.ddlCredito.SelectedValue),
                                                     int.Parse(txtfoliodiesel.Text),
                                                     float.Parse(this.txtMonto.Text),
                                                     float.Parse(this.txtLitrosTarjetaDiesel.Text),
                                                     ref serror,
                                                     int.Parse(this.Session["USERID"].ToString()), 2))
                    {
                        this.grvPagos.DataBind();
                    }

                    else
                    {
                        throw new Exception(serror);
                    }
                }
                catch (Exception ex)
                {
                    this.cmbTipodeMovPago.SelectedIndex = 0;
                    this.pnlNewPago.Visible             = true;
                    this.imgBienPago.Visible            = false;
                    this.imgMalPago.Visible             = true;
                    this.lblNewPagoResult.Text          = "NO SE HA PODIDO AGREGAR LA TARJETA DIESEL";
                    Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, this.UserID, "Error adding tarjeta diesel. El error fue :" + ex.Message, this.Request.Url.ToString());
                }
            }
            this.cmbTipodeMovPago.SelectedIndex = 0;
            this.txtChequeNum.Text = "";
            this.grvPagos.DataBind();
        }
Ejemplo n.º 3
0
        protected void gridMovCajaChica_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            try
            {
                dsMovCajaChica.dtMovCajaChicaDataTable dt  = new dsMovCajaChica.dtMovCajaChicaDataTable();
                dsMovCajaChica.dtMovCajaChicaRow       row = dt.NewdtMovCajaChicaRow();
                row.movimientoID = int.Parse(this.gridMovCajaChica.DataKeys[e.RowIndex]["movimientoID"].ToString());

                TextBox txt  = (TextBox)(this.gridMovCajaChica.Rows[e.RowIndex].Cells[7].Controls[0]);
                TextBox txt2 = (TextBox)(this.gridMovCajaChica.Rows[e.RowIndex].Cells[8].Controls[0]);

                row.cargo = txt.Text.Length > 0 ? double.Parse(txt.Text) : 0;
                row.abono = txt2.Text.Length > 0 ? double.Parse(txt2.Text) : 0;
                row.catalogoMovBancoInternoID    = int.Parse(((DropDownList)(this.gridMovCajaChica.Rows[e.RowIndex].Cells[5].FindControl("drpdlCatalogo"))).SelectedValue);
                row.subCatalogoMovBancoInternoID = int.Parse(((DropDownList)(this.gridMovCajaChica.Rows[e.RowIndex].Cells[6].FindControl("drpSubCatalogo"))).SelectedValue);
                row.cobrado           = (((CheckBox)(this.gridMovCajaChica.Rows[e.RowIndex].Cells[13].Controls[1])).Checked);
                row.facturaOlarguillo = (((TextBox)(this.gridMovCajaChica.Rows[e.RowIndex].Cells[11].Controls[0])).Text);
                row.fecha             = DateTime.Parse(Utils.converttoLongDBFormat((((TextBox)(this.gridMovCajaChica.Rows[e.RowIndex].Cells[3].FindControl("txtFecha"))).Text)));
                row.nombre            = (((TextBox)(this.gridMovCajaChica.Rows[e.RowIndex].Cells[4].Controls[0])).Text);
                row.numCabezas        = ((TextBox)(this.gridMovCajaChica.Rows[e.RowIndex].Cells[12].Controls[0])).Text.Length > 0 ? double.Parse(((TextBox)(this.gridMovCajaChica.Rows[e.RowIndex].Cells[12].Controls[0])).Text) : 0;
                row.Observaciones     = ((TextBox)(this.gridMovCajaChica.Rows[e.RowIndex].Cells[10].Controls[0])).Text;
                row.updateTS          = Utils.Now;
                row.userID            = int.Parse(this.Session["userID"].ToString());
                string sError = "";
                if (dbFunctions.updateMovementdeCajaChica(ref row, row.movimientoID, ref sError, row.userID))
                {
                    SqlConnection conn = new SqlConnection(myConfig.ConnectionInfo);
                    SqlCommand    comm = new SqlCommand();
                    try
                    {
                        conn.Open();
                        comm.Connection  = conn;
                        comm.CommandText = "SELECT     MovimientosCuentasBanco.cuentaID, MovimientoOrigen.movbanID FROM         MovimientosCaja INNER JOIN MovimientoOrigen ON MovimientosCaja.movOrigenID = MovimientoOrigen.movOrigenID INNER JOIN MovimientosCuentasBanco ON MovimientoOrigen.movbanID = MovimientosCuentasBanco.movbanID where (MovimientoOrigen.movimientoID = @movID)";
                        comm.Parameters.Clear();
                        comm.Parameters.Add("@movID", SqlDbType.Int).Value = row.movimientoID;
                        dsMovBanco.dtMovBancoDataTable table  = new dsMovBanco.dtMovBancoDataTable();
                        dsMovBanco.dtMovBancoRow       rowban = table.NewdtMovBancoRow();

                        SqlDataReader reader = comm.ExecuteReader();
                        if (reader.HasRows && reader.Read())               //EL ORIGEN FUE UN MOV BANCO
                        {
                            rowban.nombre = row.nombre;
                            rowban.fecha  = row.fecha;
                            if (row.cargo > 0)
                            {
                                rowban.abono = row.cargo;
                                rowban.cargo = row.abono;
                            }
                            else
                            {
                                rowban.cargo = row.abono;
                                rowban.abono = row.cargo;
                            }
                            // = "TRASPASO DE UNA CUENTA DE BANCO";
                            rowban.catalogoMovBancoInternoID    = row.catalogoMovBancoInternoID;
                            rowban.subCatalogoMovBancoInternoID = row.IssubCatalogoMovBancoInternoIDNull() ? -1 : row.subCatalogoMovBancoInternoID;
                            rowban.numCabezas        = 0;
                            rowban.facturaOlarguillo = "";
                            //rowCajaChica.bodegaID = int.Parse(this.ddlCajaDestino.SelectedValue);
                            //Logger.Instance.LogMessage(Logger.typeLogMessage.INFO, Logger.typeUserActions.UPDATE, this.UserID, "Se encontró un movimiento destino para actualizar", this.Request.Url.ToString());
                            int iMovToUpt = int.Parse(reader["movbanID"].ToString());
                            rowban.movBanID = iMovToUpt;
                            rowban.cuentaID = int.Parse(reader["cuentaID"].ToString());

                            if (!dbFunctions.updateMovementdeBanco(ref rowban, rowban.movBanID, ref sError, row.userID, rowban.cuentaID))
                            {
                                Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.UPDATE, this.UserID, "No se pudo actualizar cuentaID: " + rowban.cuentaID + " movID: " + rowban.movBanID, this.Request.Url.ToString());
                            }
                        }
                        else
                        {
                            //CHECK IF THERE IS AT LEAST A MOV CAJA CHICA.
                            conn.Close();
                            conn.Open();
                            comm.Connection  = conn;
                            comm.CommandText = "SELECT     MovimientoOrigen.movimientoID FROM         MovimientosCaja INNER JOIN MovimientoOrigen ON MovimientosCaja.movOrigenID = MovimientoOrigen.movOrigenID  where (MovimientoOrigen.movimientoID = @movID)";
                            comm.Parameters.Clear();
                            comm.Parameters.Add("@movID", SqlDbType.Int).Value = row.movimientoID;
                            SqlDataReader readermov = comm.ExecuteReader();
                            if (readermov.HasRows && readermov.Read())
                            {
                                //Logger.Instance.LogMessage(Logger.typeLogMessage.INFO, Logger.typeUserActions.UPDATE, this.UserID, "Se encontró un movimiento caja chica destino para actualizar", this.Request.Url.ToString());
                                int iMovToUpt = int.Parse(readermov["movimientoID"].ToString());
                                row.movimientoID = iMovToUpt;
                                //rowCajaChica = int.Parse(reader["cuentaID"].ToString());

                                if (!dbFunctions.updateMovementdeCajaChica(ref row, row.movimientoID, ref sError, this.UserID))
                                {
                                    Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.UPDATE, this.UserID, "No se pudo actualizar el mov caja chica: " + row.movimientoID.ToString(), this.Request.Url.ToString());
                                }
                            }
                        }
                    }
                    catch (System.Exception ex)
                    {
                        Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.UPDATE, this.UserID, "Error obteniendo mov origen ex: " + ex.Message, this.Request.Url.ToString());
                    }
                    finally
                    {
                        conn.Close();
                    }
                }

                this.gridMovCajaChica.EditIndex = -1;
                this.reloadGridView();
            }
            catch (Exception ex)
            {
                Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.UPDATE, int.Parse(this.Session["userID"].ToString()), "EL ERROR SE DIO CUANDO SE TRATABA DE MODIFICAR EL MOV DE BANCAJA CHICA. LA EXC FUE: " + ex.Message, this.Request.Url.ToString());
            }
        }
Ejemplo n.º 4
0
        protected void btnAgregarMovimiento_Click(object sender, EventArgs e)
        {
            try
            {
                string sqlInsert = string.Empty;
                if (this.cmbTipodeMovPago.SelectedValue == "0")//Es movimiento de caja chica
                {
                    try
                    {
                        double montoEfectivo = 0;
                        if (!double.TryParse(this.txtMontoEfectivo.Text, out montoEfectivo))
                        {
                            this.pnlAddMovMsg.Visible       = true;
                            this.pnlAddMovMsgBien.Visible   = false;
                            this.pnlAddMovMsgMal.Visible    = true;
                            this.lblpnlAddMovMsgResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO, MONTO DE EFECTIVO INVALIDO";
                            return;
                        }

                        if (montoEfectivo > (Utils.GetSafeFloat(this.txtMonto.Text) - Utils.GetSafeFloat(this.lblMontoEntregado.Text)))
                        {
                            this.pnlAddMovMsg.Visible       = true;
                            this.pnlAddMovMsgBien.Visible   = false;
                            this.pnlAddMovMsgMal.Visible    = true;
                            this.lblpnlAddMovMsgResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO, EL MONTO A PAGAR ES MAYOR QUE EL MONTO RESTANTE A ENTREGAR";
                            return;
                        }


                        dsMovCajaChica.dtMovCajaChicaDataTable tablaaux       = new dsMovCajaChica.dtMovCajaChicaDataTable();
                        dsMovCajaChica.dtMovCajaChicaRow       dtRowainsertar = tablaaux.NewdtMovCajaChicaRow();
                        dtRowainsertar.nombre                    = this.txtNombrePago.Text;
                        dtRowainsertar.fecha                     = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFechaPago.Text));
                        dtRowainsertar.cargo                     = double.Parse(this.txtMontoEfectivo.Text);
                        dtRowainsertar.abono                     = 0.00;
                        dtRowainsertar.storeTS                   = DateTime.Parse(Utils.getNowFormattedDate());
                        dtRowainsertar.updateTS                  = DateTime.Parse(Utils.getNowFormattedDate());
                        dtRowainsertar.Observaciones             = "Prestamo";
                        dtRowainsertar.catalogoMovBancoInternoID = int.Parse(this.drpdlCatalogocuentaCajaChica.SelectedValue);
                        if (this.drpdlSubcatalogoCajaChica.SelectedIndex > 0)
                        {
                            dtRowainsertar.subCatalogoMovBancoInternoID = int.Parse(this.drpdlSubcatalogoCajaChica.SelectedValue);
                        }
                        dtRowainsertar.numCabezas        = 0;
                        dtRowainsertar.facturaOlarguillo = "";
                        dtRowainsertar.bodegaID          = int.Parse(this.ddlPagosBodegas.SelectedValue);
                        dtRowainsertar.cobrado           = true;
                        //dtRowainsertar.Bodega = this.ddlBodegas.SelectedItem.Text;

                        String  serror           = "";
                        ListBox listBoxAgregadas = new ListBox();


                        if (dbFunctions.insertaMovCaja(ref dtRowainsertar, ref serror, this.UserID, int.Parse(this.ddlCiclos.SelectedValue)))
                        {
                            this.txtMovBan.Text = "";
                            this.txtMovCaj.Text = dtRowainsertar.movimientoID.ToString();
                            /////////////////////////Si se inserto correctamente el mov de caja insertar el anticipo(Prestamo)
                            String sNewMov = dtRowainsertar.movimientoID.ToString();
                            sqlInsert = string.Empty;

                            SqlConnection conInsRel = new SqlConnection(myConfig.ConnectionInfo);
                            string        qryRel    = "INSERT INTO Anticipos_Movimientos (anticipoID, movimientoID) Values (@anticipoID, @movimientoID)";
                            SqlCommand    cmdRel    = new SqlCommand(qryRel, conInsRel);
                            conInsRel.Open();
                            try
                            {
                                cmdRel.Parameters.Add("@movimientoID", SqlDbType.Int).Value = dtRowainsertar.movimientoID;
                                cmdRel.Parameters.Add("@anticipoID", SqlDbType.Int).Value   = int.Parse(this.txtIdtoMod.Text);
                                int numRegistros = cmdRel.ExecuteNonQuery();
                                if (numRegistros != 1)
                                {
                                    throw new Exception("ERROR AL INSERTAR RELACIO PRESTAMO - MOVIMIENTO. LA DB REGRESÓ QUE SE ALTERARON " + numRegistros.ToString() + "REGISTROS");
                                }
                                //String sQuery = "idtomodify=" + this.txtIdtoMod.Text;
                                //sQuery = Utils.GetEncriptedQueryString(sQuery);
                                //String strRedirect = "~/frmAddModifyPrestamo.aspx";
                                //Response.Redirect(strRedirect+sQuery);
                            }
                            catch (System.Exception ex)
                            {
                                Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, this.UserID, "Error al insertar relacion prestamo-credito", this.Request.Url.ToString());
                                Logger.Instance.LogException(Logger.typeUserActions.INSERT, "ERROR AL INSERTAR RELACION PRESTAMO - MOVIMIENTO", ex);
                            }
                            finally
                            {
                                conInsRel.Close();
                            }



                            this.pnlAddMovMsg.Visible       = true;
                            this.pnlAddMovMsgBien.Visible   = true;
                            this.pnlAddMovMsgMal.Visible    = false;
                            this.lblpnlAddMovMsgResult.Text = "EL MOVIMIENTO SE HA AGREGADO SATISFACTORIAMENTE";
                            //Logger.Instance.LogUserSessionRecord(Logger.typeModulo.MOVIMIENTOSDECAJACHICA, Logger.typeUserActions.INSERT, int.Parse(this.Session["USERID"].ToString()), "AGREGÓ EL MOVIMIENTO DE CAJA CHICA NÚMERO: " + dtRowainsertar.movimientoID.ToString());
                            //this.btnActualizaPagos_Click(null, null);
                            //this.ActualizaTotales();
                        }
                        else
                        {
                            this.pnlAddMovMsg.Visible       = true;
                            this.pnlAddMovMsgBien.Visible   = false;
                            this.pnlAddMovMsgMal.Visible    = true;
                            this.lblpnlAddMovMsgResult.Text = string.Format(myConfig.StrFromMessages("MOVCAJAADDEDFAILED"), dtRowainsertar.movimientoID.ToString());
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, this.UserID, "ERROR AL INSERTAR MOVIMIENTO DE CAJA. EX : " + ex.Message, this.Request.Url.ToString());
                        this.pnlAddMovMsg.Visible       = true;
                        this.pnlAddMovMsgBien.Visible   = false;
                        this.pnlAddMovMsgMal.Visible    = true;
                        this.lblpnlAddMovMsgResult.Text = ex.Message;
                        return;
                    }
                }
                else
                if (this.cmbTipodeMovPago.SelectedValue == "1")    //Es movimiento de banco
                {
                    double montoBanco = 0;
                    if (!double.TryParse(this.txtMontoMovimiento.Text, out montoBanco))
                    {
                        this.pnlAddMovMsg.Visible       = true;
                        this.pnlAddMovMsgBien.Visible   = false;
                        this.pnlAddMovMsgMal.Visible    = true;
                        this.lblpnlAddMovMsgResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO, MONTO DE BANCO INVALIDO";
                        return;
                    }

                    if (montoBanco > (Utils.GetSafeFloat(this.txtMonto.Text) - Utils.GetSafeFloat(this.lblMontoEntregado.Text)))
                    {
                        this.pnlAddMovMsg.Visible       = true;
                        this.pnlAddMovMsgBien.Visible   = false;
                        this.pnlAddMovMsgMal.Visible    = true;
                        this.lblpnlAddMovMsgResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO, EL MONTO A PAGAR ES MAYOR QUE EL MONTO RESTANTE A ENTREGAR";
                        return;
                    }



                    if (dbFunctions.FechaEnPeriodoBloqueado(DateTime.Parse(this.txtFechaNPago.Text), int.Parse(this.cmbCuentaPago.SelectedValue)))
                    {
                        this.pnlAddMovMsg.Visible       = true;
                        this.pnlAddMovMsgBien.Visible   = false;
                        this.pnlAddMovMsgMal.Visible    = true;
                        this.lblpnlAddMovMsgResult.Text = "EL MOVIMIENTO NO PUEDE SER AGREGADO YA QUE LA FECHA ESTA DENTRO DE UN PERIODO BLOQUEADO<BR />DESBLOQUEE EL PERIODO PARA PERMITIR INGRESAR EL MOVIMIENTO";
                        return;
                    }
                    int    cheque          = 0;
                    bool   hayerrorenmonto = false;
                    double monto           = 0;
                    double.TryParse(this.txtMontoMovimiento.Text, out monto);
                    dsMovBanco.dtMovBancoDataTable tablaaux       = new dsMovBanco.dtMovBancoDataTable();
                    dsMovBanco.dtMovBancoRow       dtRowainsertar = tablaaux.NewdtMovBancoRow();
                    if (monto == 0)
                    {
                        if (this.drpdlCatalogoInternoPago.SelectedItem.Text != "10J -  CHEQUES CANCELADOS")
                        {
                            hayerrorenmonto = true;
                        }
                    }
                    if (hayerrorenmonto)
                    {
                        this.pnlAddMovMsg.Visible       = true;
                        this.pnlAddMovMsgBien.Visible   = false;
                        this.pnlAddMovMsgMal.Visible    = true;
                        this.lblpnlAddMovMsgResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO, ERROR EN MONTO, ESCRIBA CANTIDAD VÁLIDA";
                        return;
                    }


                    //dtRowainsertar.cicloID = int.Parse(this.drpdlCiclo.SelectedValue);
                    dtRowainsertar.chequecobrado = false;
                    dtRowainsertar.conceptoID    = int.Parse(this.cmbConceptomovBancoPago.SelectedValue);
                    dtRowainsertar.nombre        = this.txtNombrePago.Text;
                    dtRowainsertar.fecha         = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFechaPago.Text));
                    //datos de cheque

                    dtRowainsertar.numCheque         = this.txtChequeNum.Text.Length > 0 ? int.Parse(this.txtChequeNum.Text) : 0;
                    dtRowainsertar.chequeNombre      = this.txtChequeNombre.Text;
                    dtRowainsertar.facturaOlarguillo = this.txtFacturaLarguillo.Text;
                    dtRowainsertar.numCabezas        = 0;//this.txtNumCabezas.Text.Length > 0 ? double.Parse(this.txtNumCabezas.Text) : 0;

                    dtRowainsertar.catalogoMovBancoInternoID = int.Parse(this.drpdlCatalogoInternoPago.SelectedValue);
                    if (this.drpdlSubcatologointernaPago.SelectedIndex > -1)
                    {
                        dtRowainsertar.subCatalogoMovBancoInternoID = int.Parse(this.drpdlSubcatologointernaPago.SelectedValue);
                    }

                    dtRowainsertar.catalogoMovBancoFiscalID = int.Parse(this.drpdlCatalogocuentafiscalPago.SelectedValue);
                    if (this.drpdlSubcatalogofiscalPago.SelectedIndex > -1)
                    {
                        dtRowainsertar.subCatalogoMovBancoFiscalID = int.Parse(this.drpdlSubcatalogofiscalPago.SelectedValue);
                    }

                    dtRowainsertar.cargo = this.txtMontoMovimiento.Text.Length > 0 ? double.Parse(this.txtMontoMovimiento.Text) : 0;
                    dtRowainsertar.abono = 0.00;

                    dtRowainsertar.storeTS  = DateTime.Parse(Utils.getNowFormattedDate());
                    dtRowainsertar.updateTS = DateTime.Parse(Utils.getNowFormattedDate());

                    String serror = "", tipo = "";
                    dtRowainsertar.cuentaID = int.Parse(this.cmbCuentaPago.SelectedValue);

                    dtRowainsertar.creditoFinancieroID = -1;

                    if (this.cmbConceptomovBancoPago.SelectedItem.Text == "CHEQUE")
                    {
                        if (int.TryParse(this.txtChequeNum.Text, out cheque))
                        {
                            if (dbFunctions.ChequeAlreadyExists(cheque, this.cmbCuentaPago.SelectedValue))
                            {
                                this.pnlAddMovMsg.Visible       = true;
                                this.pnlAddMovMsgBien.Visible   = false;
                                this.pnlAddMovMsgMal.Visible    = true;
                                this.lblpnlAddMovMsgResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO, ESTE CHEQUE YA HA SIDO AGREGADO";
                                return;
                            }
                        }
                        else
                        {
                            this.pnlAddMovMsg.Visible       = true;
                            this.pnlAddMovMsgBien.Visible   = false;
                            this.pnlAddMovMsgMal.Visible    = true;
                            this.lblpnlAddMovMsgResult.Text = "ERROR!! EL NUMERO DE CHEQUE ES INCORRECTO";
                            return;
                        }


                        if (!numChequeValido(cheque, int.Parse(this.cmbCuentaPago.SelectedValue)))
                        {
                            this.pnlAddMovMsg.Visible       = true;
                            this.pnlAddMovMsgBien.Visible   = false;
                            this.pnlAddMovMsgMal.Visible    = true;
                            this.lblpnlAddMovMsgResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO, EL NUMERO DE CHEQUE NO CORRESPONDE A EL NUMERO DE CUENTA";
                            return;
                        }
                        //dtRowainsertar.fechaCheque = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFechaCheque.Text));
                        if (this.chkCobradoFecha.Checked)
                        {
                            dtRowainsertar.fecha = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFechaCheque.Text));
                            dtRowainsertar.fechachequedecobro = dtRowainsertar.fecha;
                            dtRowainsertar.chequecobrado      = true;
                        }
                    }


                    ListBox a = new ListBox();
                    if (dbFunctions.insertaMovBanco(ref dtRowainsertar, ref serror, this.UserID, int.Parse(this.cmbCuentaPago.SelectedValue), int.Parse(this.ddlCiclos.SelectedValue), -1, "", "PAGO EN PRESTAMO"))
                    {
                        this.txtMovBan.Text = dtRowainsertar.movBanID.ToString();
                        this.txtMovCaj.Text = "";
                        //////////////////////////Si el mov de banco se inserto correctamente metemos el anticipo(prestamo)

                        String sNewMov = dtRowainsertar.movBanID.ToString();
                        sqlInsert = "";
                        SqlConnection conInsRel = new SqlConnection(myConfig.ConnectionInfo);
                        string        qryRel    = "INSERT INTO Anticipos_Movimientos (anticipoID, movbanID) Values (@anticipoID, @movbanID)";
                        SqlCommand    cmdRel    = new SqlCommand(qryRel, conInsRel);
                        conInsRel.Open();
                        try
                        {
                            cmdRel.Parameters.Add("@movbanID", SqlDbType.Int).Value   = dtRowainsertar.movBanID;
                            cmdRel.Parameters.Add("@anticipoID", SqlDbType.Int).Value = int.Parse(this.txtIdtoMod.Text);
                            int numRegistros = cmdRel.ExecuteNonQuery();
                            if (numRegistros != 1)
                            {
                                throw new Exception("ERROR AL INSERTAR RELACIO PRESTAMO - CREDITO. LA DB REGRESÓ QUE SE ALTERARON " + numRegistros.ToString() + "REGISTROS");
                            }
                        }
                        catch (System.Exception ex)
                        {
                            Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, this.UserID, "Error al insertar relacion prestamo-credito", this.Request.Url.ToString());
                            Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, this.UserID, "ERROR AL INSERTAR MOVIMIENTO DE CAJA. EX : " + ex.Message, this.Request.Url.ToString());
                            this.pnlAddMovMsg.Visible       = true;
                            this.pnlAddMovMsgBien.Visible   = false;
                            this.pnlAddMovMsgMal.Visible    = true;
                            this.lblpnlAddMovMsgResult.Text = ex.Message;
                        }
                        finally
                        {
                            conInsRel.Close();
                        }
                        this.pnlAddMovMsg.Visible     = true;
                        this.pnlAddMovMsgBien.Visible = true;
                        this.pnlAddMovMsgMal.Visible  = false;
                        //////////////////////////////////////7
                        CreateURLForPagare(this.lnkImprimirPagare, this.ddlCredito.SelectedValue, this.txtMonto.Text);

/*
 *                          if (dtRowainsertar.conceptoID == 3)
 *                          {
 *                              string parameter, ventanatitle = "IMPRIMIR CHEQUE";
 *                              // String pathArchivotemp = PdfCreator.printLiquidacion(0, PdfCreator.tamañoPapel.CARTA, PdfCreator.orientacionPapel.VERTICAL, ref this.gvBoletas, ref gvAnticipos, ref gvPagosLiquidacion);
 *                              string datosaencriptar;
 *                              datosaencriptar = "iMovID=";
 *                              datosaencriptar += dtRowainsertar.movBanID.ToString();
 *                              datosaencriptar += "&";
 *
 *                              parameter = "javascript:url('";
 *                              parameter += "frmPrintCheque.aspx?data=";
 *                              parameter += Utils.encriptacadena(datosaencriptar);
 *                              parameter += "', '";
 *                              parameter += ventanatitle;
 *                              parameter += "',200,200,300,300); return false;";
 *                              linkImpCheque.Attributes.Add("onClick", parameter);
 *                              linkImpCheque.NavigateUrl = this.Request.Url.ToString();
 *                              linkImpCheque.Visible = true;
 *                              linkImpCheque.Text = "IMPRIMIR CHEQUE";
 */
                    }

                    this.lblpnlAddMovMsgResult.Text = "EL MOVIMIENTO SE HA AGREGADO SATISFACTORIAMENTE";
                }
                else
                {
                    this.pnlAddMovMsg.Visible       = true;
                    this.pnlAddMovMsgBien.Visible   = false;
                    this.pnlAddMovMsgMal.Visible    = true;
                    this.lblpnlAddMovMsgResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO";
                }
            }
            catch (System.Exception ex)
            {
                Logger.Instance.LogException(Logger.typeUserActions.INSERT, "insertando movimiento para prestamo", ref ex);
                Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, this.UserID, "ERROR AL INSERTAR MOVIMIENTO DE CAJA. EX : " + ex.Message, this.Request.Url.ToString());
                this.pnlAddMovMsg.Visible       = true;
                this.pnlAddMovMsgBien.Visible   = false;
                this.pnlAddMovMsgMal.Visible    = true;
                this.lblpnlAddMovMsgResult.Text = ex.Message;
            }
            this.gvPagosFactura.DataSourceID = "sdsPagosFactura";
            this.gvPagosFactura.DataBind();
        }
        protected void btnAddPagoaProveedor_Click(object sender, EventArgs e)
        {
            this.pnlNewPago.Visible = false;
            double cargo = 0, abono = 0;

            double.TryParse(this.txtAbono.Text, out abono);
            double.TryParse(this.txtCargo.Text, out cargo);
            if (this.cmbTipodeMovPago.SelectedValue == "0")
            {
                try
                {
                    dsMovCajaChica.dtMovCajaChicaDataTable tablaaux       = new dsMovCajaChica.dtMovCajaChicaDataTable();
                    dsMovCajaChica.dtMovCajaChicaRow       dtRowainsertar = tablaaux.NewdtMovCajaChicaRow();
                    dtRowainsertar.nombre                    = this.txtNombrePago.Text;
                    dtRowainsertar.fecha                     = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFechaNPago.Text));
                    dtRowainsertar.cargo                     = cargo;
                    dtRowainsertar.abono                     = abono;
                    dtRowainsertar.storeTS                   = DateTime.Parse(Utils.getNowFormattedDate());
                    dtRowainsertar.updateTS                  = DateTime.Parse(Utils.getNowFormattedDate());
                    dtRowainsertar.Observaciones             = "Pago a nota de compra";
                    dtRowainsertar.catalogoMovBancoInternoID = int.Parse(this.drpdlCatalogocuentaCajaChica.SelectedValue);
                    if (this.drpdlSubcatalogoCajaChica.SelectedIndex > 0)
                    {
                        dtRowainsertar.subCatalogoMovBancoInternoID = int.Parse(this.drpdlSubcatalogoCajaChica.SelectedValue);
                    }
                    dtRowainsertar.numCabezas        = 0;
                    dtRowainsertar.facturaOlarguillo = "";
                    dtRowainsertar.bodegaID          = int.Parse(this.ddlPagosBodegas.SelectedValue);
                    dtRowainsertar.cobrado           = true;
                    String  serror           = "";
                    ListBox listBoxAgregadas = new ListBox();
                    if (dbFunctions.insertaMovCaja(ref dtRowainsertar, ref serror, this.UserID, int.Parse(this.ddlCiclos.SelectedValue)))
                    {
                        String        sNewMov       = dtRowainsertar.movimientoID.ToString();
                        SqlConnection conInsertNota = new SqlConnection(myConfig.ConnectionInfo);
                        string        sqlInsert     = "INSERT INTO Pagos_Proveedores(fecha, proveedorID, movimientoID, cicloID, userID) VALUES (@fecha, @proveedorID, @movimientoID, @cicloID, @userID);";
                        SqlCommand    cmdInsert     = new SqlCommand(sqlInsert, conInsertNota);
                        conInsertNota.Open();
                        try
                        {
                            cmdInsert.Parameters.Add("@fecha", SqlDbType.DateTime).Value   = dtRowainsertar.fecha;
                            cmdInsert.Parameters.Add("@proveedorID", SqlDbType.Int).Value  = int.Parse(this.ddlProveedores.SelectedValue);
                            cmdInsert.Parameters.Add("@movimientoID", SqlDbType.Int).Value = dtRowainsertar.movimientoID;
                            cmdInsert.Parameters.Add("@cicloID", SqlDbType.Int).Value      = int.Parse(this.ddlCiclos.SelectedValue);
                            cmdInsert.Parameters.Add("@userID", SqlDbType.Int).Value       = this.UserID;

                            if (cmdInsert.ExecuteNonQuery() != 1)
                            {
                                throw new Exception("This must almost never happen");
                            }

                            Logger.Instance.LogUserSessionRecord(Logger.typeModulo.PROVEEDORES, Logger.typeUserActions.UPDATE, this.UserID, "SE INSERTÓ UN PAGO AL PROVEEDOR " + this.ddlProveedores.SelectedValue + " EL MOV DE CAJA CHICA FUE: " + dtRowainsertar.movimientoID.ToString());
                        }
                        catch (Exception ex)
                        {
                            Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.UPDATE, this.UserID, "ERROR AL INSERTAR UN PAGO AL PROVEEDOR (CAJA CHICA): " + this.ddlProveedores.SelectedValue + ". EX " + ex.Message, this.Request.Url.ToString());
                        }
                        Logger.Instance.LogUserSessionRecord(Logger.typeModulo.MOVIMIENTOSDECAJACHICA, Logger.typeUserActions.INSERT, int.Parse(this.Session["USERID"].ToString()), "AGREGÓ EL MOVIMIENTO DE CAJA CHICA NÚMERO: " + dtRowainsertar.movimientoID.ToString());
                    }
                    else
                    {
                        this.pnlNewPago.Visible    = true;
                        this.imgBienPago.Visible   = false;
                        this.imgMalPago.Visible    = true;
                        this.lblNewPagoResult.Text = string.Format(myConfig.StrFromMessages("MOVCAJAADDEDFAILED"), dtRowainsertar.movimientoID.ToString());
                    }
                }
                catch (Exception ex)
                {
                    Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, this.UserID, "ERROR AL INSERTAR MOVIMIENTO DE CAJA. EX : " + ex.Message, this.Request.Url.ToString());
                }
            }
            else
            if (this.cmbTipodeMovPago.SelectedValue == "1")
            {
                int  cheque          = 0;
                bool hayerrorenmonto = false;
                if (hayerrorenmonto)
                {
                    this.pnlNewPago.Visible    = true;
                    this.imgMalPago.Visible    = true;
                    this.imgBienPago.Visible   = false;
                    this.lblNewPagoResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO, ERROR EN MONTO, ESCRIBA CANTIDAD VÁLIDA";
                    return;
                }
                if (dbFunctions.FechaEnPeriodoBloqueado(DateTime.Parse(this.txtFechaNPago.Text), int.Parse(this.cmbCuentaPago.SelectedValue)))
                {
                    this.pnlNewPago.Visible    = true;
                    this.imgBienPago.Visible   = false;
                    this.imgMalPago.Visible    = true;
                    this.lblNewPagoResult.Text = "EL MOVIMIENTO NO PUEDE SER AGREGADO YA QUE LA FECHA ESTA DENTRO DE UN PERIODO BLOQUEADO<BR />DESBLOQUEE EL PERIODO PARA PERMITIR INGRESAR EL MOVIMIENTO";
                    return;
                }

                if (this.cmbConceptomovBancoPago.SelectedItem.Text == "CHEQUE")
                {
                    if (int.TryParse(this.txtChequeNum.Text, out cheque))
                    {
                        if (dbFunctions.ChequeAlreadyExists(cheque, this.cmbCuentaPago.SelectedValue))
                        {
                            this.pnlNewPago.Visible    = true;
                            this.imgBienPago.Visible   = false;
                            this.imgMalPago.Visible    = true;
                            this.lblNewPagoResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO, ESTE CHEQUE YA HA SIDO AGREGADO";
                            return;
                        }
                    }
                    else
                    {
                        this.pnlNewPago.Visible    = true;
                        this.imgBienPago.Visible   = false;
                        this.imgMalPago.Visible    = true;
                        this.lblNewPagoResult.Text = "ERROR!! EL NUMERO DE CHEQUE ES INCORRECTO";
                        return;
                    }


                    if (!numChequeValido(cheque, int.Parse(this.cmbCuentaPago.SelectedValue)))
                    {
                        this.pnlNewPago.Visible    = true;
                        this.imgBienPago.Visible   = false;
                        this.imgMalPago.Visible    = true;
                        this.lblNewPagoResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO, EL NUMERO DE CHEQUE NO CORRESPONDE A EL NUMERO DE CUENTA";
                        return;
                    }
                }
                dsMovBanco.dtMovBancoDataTable tablaaux       = new dsMovBanco.dtMovBancoDataTable();
                dsMovBanco.dtMovBancoRow       dtRowainsertar = tablaaux.NewdtMovBancoRow();
                dtRowainsertar.cargo = cargo;
                dtRowainsertar.abono = abono;


                dtRowainsertar.chequecobrado     = true;
                dtRowainsertar.conceptoID        = int.Parse(this.cmbConceptomovBancoPago.SelectedValue);
                dtRowainsertar.nombre            = this.txtNombrePago.Text;
                dtRowainsertar.fecha             = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFechaNPago.Text));
                dtRowainsertar.numCheque         = this.txtChequeNum.Text.Length > 0 ? int.Parse(this.txtChequeNum.Text) : 0;
                dtRowainsertar.chequeNombre      = this.txtChequeNombre.Text;
                dtRowainsertar.facturaOlarguillo = this.txtFacturaLarguillo.Text;
                dtRowainsertar.numCabezas        = 0;//this.txtNumCabezas.Text.Length > 0 ? double.Parse(this.txtNumCabezas.Text) : 0;

                dtRowainsertar.catalogoMovBancoInternoID = int.Parse(this.drpdlCatalogoInternoPago.SelectedValue);
                if (this.drpdlSubcatologointernaPago.SelectedIndex > -1)
                {
                    dtRowainsertar.subCatalogoMovBancoInternoID = int.Parse(this.drpdlSubcatologointernaPago.SelectedValue);
                }
                if (this.cmbConceptomovBancoPago.SelectedItem != null && this.cmbConceptomovBancoPago.SelectedItem.Text == "CHEQUE")
                {
                    dtRowainsertar.catalogoMovBancoFiscalID = int.Parse(this.drpdlCatalogocuentafiscalPago.SelectedValue);
                    if (this.drpdlSubcatalogofiscalPago.SelectedIndex > -1)
                    {
                        dtRowainsertar.subCatalogoMovBancoFiscalID = int.Parse(this.drpdlSubcatalogofiscalPago.SelectedValue);
                    }
                }
                else
                {
                    dtRowainsertar.catalogoMovBancoFiscalID    = dtRowainsertar.catalogoMovBancoInternoID;
                    dtRowainsertar.subCatalogoMovBancoFiscalID = dtRowainsertar.subCatalogoMovBancoInternoID;
                }
                dtRowainsertar.storeTS  = DateTime.Parse(Utils.getNowFormattedDate());
                dtRowainsertar.updateTS = DateTime.Parse(Utils.getNowFormattedDate());
                String serror = "", tipo = "";
                dtRowainsertar.cuentaID            = int.Parse(this.cmbCuentaPago.SelectedValue);
                dtRowainsertar.creditoFinancieroID = -1;
                ListBox a = new ListBox();
                if (dbFunctions.insertaMovBanco(ref dtRowainsertar, ref serror, int.Parse(this.Session["USERID"].ToString()), int.Parse(this.cmbCuentaPago.SelectedValue), int.Parse(this.ddlCiclos.SelectedValue), -1, "", "PAGO A NOTA DE COMPRA"))
                {
                    SqlConnection connVenta = new SqlConnection(myConfig.ConnectionInfo);
                    try
                    {
                        connVenta.Open();
                        SqlCommand commVenta = new SqlCommand();
                        commVenta.Connection  = connVenta;
                        commVenta.CommandText = "INSERT INTO Pagos_Proveedores(fecha, proveedorID, movbanID, cicloID, userID) VALUES (@fecha, @proveedorID, @movbanID, @cicloID, @userID);";
                        commVenta.Parameters.Add("@fecha", SqlDbType.DateTime).Value  = dtRowainsertar.fecha;
                        commVenta.Parameters.Add("@proveedorID", SqlDbType.Int).Value = int.Parse(this.ddlProveedores.SelectedValue);
                        commVenta.Parameters.Add("@movbanID", SqlDbType.Int).Value    = dtRowainsertar.movBanID;
                        commVenta.Parameters.Add("@cicloID", SqlDbType.Int).Value     = int.Parse(this.ddlCiclos.SelectedValue);
                        commVenta.Parameters.Add("@userID", SqlDbType.Int).Value      = this.UserID;

                        if (commVenta.ExecuteNonQuery() != 1)
                        {
                            throw new Exception("This must almost never happen");
                        }
                    }
                    catch (System.Exception ex)
                    {
                        Logger.Instance.LogException(Logger.typeUserActions.INSERT, "Error adding new movbanco->PROVEEDOR PAGOS", ref ex);
                    }
                    finally
                    {
                        connVenta.Close();
                    }
                    this.cmbTipodeMovPago.SelectedIndex = 0;
                    this.divPagoMovCaja.Attributes.Add("style", this.cmbTipodeMovPago.SelectedItem.Text == "EFECTIVO" ? "visibility: visible; display: block" : "visibility: hidden; display: none");
                    this.divMovBanco.Attributes.Add("style", this.cmbTipodeMovPago.SelectedItem.Text == "MOVIMIENTO DE BANCO" ? "visibility: visible; display: block" : "visibility: hidden; display: none");
                    this.divCheque.Attributes.Add("style", this.cmbConceptomovBancoPago.SelectedItem.Text == "CHEQUE" ? "visibility: visible; display: block" : "visibility: hidden; display: none");
                }
                else
                {
                    this.pnlNewPago.Visible    = true;
                    this.imgBienPago.Visible   = false;
                    this.imgMalPago.Visible    = true;
                    this.lblNewPagoResult.Text = "NO SE HA PODIDO AGREGAR EL MOVIMIENTO DE BANCO";
                }
            }
            this.txtAbono.Text = this.txtCargo.Text = this.txtNombrePago.Text = this.txtFacturaLarguillo.Text = this.txtChequeNum.Text = this.txtChequeNombre.Text = "";
            this.grdvProNotasVenta.DataBind();
            this.detailsViewTotales.DataBind();
            this.grvPagos.DataBind();
            this.chkMostrarAgregarPago.Checked = false;
            this.divAgregarNuevoPago.Attributes.Add("style", this.chkMostrarAgregarPago.Checked ? "visibility: visible; display: block" : "visibility: hidden; display: none");
        }
Ejemplo n.º 6
0
        protected void btnModificar_Click(object sender, EventArgs e)
        {
            try
            {
                dsMovCajaChica.dtMovCajaChicaDataTable tablaaux      = new dsMovCajaChica.dtMovCajaChicaDataTable();
                dsMovCajaChica.dtMovCajaChicaRow       dtrowtoupdate = tablaaux.NewdtMovCajaChicaRow();
                string sError = "Error";
                int    movID  = int.Parse(this.txtIDDetails.Text);
                dtrowtoupdate.nombre        = this.txtNombre.Text;
                dtrowtoupdate.Observaciones = this.txtObser.Text;

                /*
                 * dtrowtoupdate.abono = double.Parse(this.txtAbono.Text);
                 *          dtrowtoupdate.cargo = double.Parse(this.txtCargo.Text);*/
                dtrowtoupdate.cargo = this.cmbTipodeMov.SelectedIndex == 0 ? double.Parse(this.txtMonto.Text) : 0f;
                dtrowtoupdate.abono = this.cmbTipodeMov.SelectedIndex == 1 ? double.Parse(this.txtMonto.Text) : 0f;

                dtrowtoupdate.fecha    = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFecha.Text));
                dtrowtoupdate.updateTS = Utils.Now;


                dtrowtoupdate.nombre                    = this.txtNombre.Text;
                dtrowtoupdate.fecha                     = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFecha.Text));
                dtrowtoupdate.cargo                     = this.cmbTipodeMov.SelectedIndex == 0 ? double.Parse(this.txtMonto.Text) : 0f;
                dtrowtoupdate.abono                     = this.cmbTipodeMov.SelectedIndex == 1 ? double.Parse(this.txtMonto.Text) : 0f;
                dtrowtoupdate.updateTS                  = Utils.Now;
                dtrowtoupdate.Observaciones             = this.txtObser.Text;
                dtrowtoupdate.catalogoMovBancoInternoID = int.Parse(this.drpdlCatalogoInterno.SelectedValue);
                if (this.drpdlSubcatologointerna.SelectedIndex > 0)
                {
                    dtrowtoupdate.subCatalogoMovBancoInternoID = int.Parse(this.drpdlSubcatologointerna.SelectedValue);
                }
                dtrowtoupdate.numCabezas        = this.txtNumCabezas.Text.Length > 0 ? double.Parse(this.txtNumCabezas.Text) : 0f;
                dtrowtoupdate.facturaOlarguillo = this.txtNumFacturaoLarguillo.Text;
                dtrowtoupdate.bodegaID          = int.Parse(this.ddlBodegas.SelectedValue);
                dtrowtoupdate.Bodega            = this.ddlBodegas.SelectedItem.Text;

                if (dbFunctions.updateMovementdeCajaChica(ref dtrowtoupdate, movID, ref sError, int.Parse(this.Session["USERID"].ToString())))
                {
                    Logger.Instance.LogUserSessionRecord(Logger.typeModulo.MOVIMIENTOSDECAJACHICA, Logger.typeUserActions.UPDATE, int.Parse(this.Session["USERID"].ToString()), "MODIFICÓ EL MOVIMIENTO DE CAJA CHICA NÚMERO: " + movID.ToString() + ".");
                    this.panelMensaje.Visible           = true;
                    this.imagenbien.Visible             = true;
                    this.imagenmal.Visible              = false;
                    this.lblMensajetitle.Text           = myConfig.StrFromMessages("EXITO");
                    this.lblMensajeOperationresult.Text = string.Format(myConfig.StrFromMessages("MOVCAJAMODIFIEDEXITO"), this.txtIDDetails.Text);
                    this.lblMensajeException.Text       = ""; //BORRAMOS PORQUE NO HAY EXcEPTION
                    this.panelagregar.Visible           = false;
                    this.limpiacampos();
                }
                else
                {
                    Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.UPDATE, int.Parse(this.Session["USERID"].ToString()), sError, this.Request.Url.ToString());
                    this.panelMensaje.Visible           = true;
                    this.imagenbien.Visible             = false;
                    this.imagenmal.Visible              = true;
                    this.lblMensajetitle.Text           = myConfig.StrFromMessages("FALLO");
                    this.lblMensajeOperationresult.Text = string.Format(myConfig.StrFromMessages("CREDITOMODIFIEDFAILED"), this.txtIDDetails.Text);
                    this.lblMensajeException.Text       = sError;
                    this.panelagregar.Visible           = false;
                }
            }
            catch (Exception ex)
            {
                Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.UPDATE, this.UserID, "ERROR AL MODIFICAR MOVIMIENTO DE CAJA. EX : " + ex.Message, this.Request.Url.ToString());
            }
        }
Ejemplo n.º 7
0
        protected void cmdAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                dsMovCajaChica.dtMovCajaChicaDataTable tablaaux       = new dsMovCajaChica.dtMovCajaChicaDataTable();
                dsMovCajaChica.dtMovCajaChicaRow       dtRowainsertar = tablaaux.NewdtMovCajaChicaRow();
                dtRowainsertar.nombre                    = this.txtNombre.Text;
                dtRowainsertar.fecha                     = DateTime.Parse(Utils.converttoLongDBFormat(this.txtFecha.Text));
                dtRowainsertar.cargo                     = this.cmbTipodeMov.SelectedIndex == 0 ? double.Parse(this.txtMonto.Text) : 0f;
                dtRowainsertar.abono                     = this.cmbTipodeMov.SelectedIndex == 1 ? double.Parse(this.txtMonto.Text) : 0f;
                dtRowainsertar.storeTS                   = DateTime.Parse(Utils.getNowFormattedDate());
                dtRowainsertar.updateTS                  = DateTime.Parse(Utils.getNowFormattedDate());
                dtRowainsertar.Observaciones             = this.txtObser.Text;
                dtRowainsertar.catalogoMovBancoInternoID = int.Parse(this.drpdlCatalogoInterno.SelectedValue);
                if (this.drpdlSubcatologointerna.SelectedIndex > 0)
                {
                    dtRowainsertar.subCatalogoMovBancoInternoID = int.Parse(this.drpdlSubcatologointerna.SelectedValue);
                }
                dtRowainsertar.numCabezas        = this.txtNumCabezas.Text.Length > 0 ? double.Parse(this.txtNumCabezas.Text) : 0f;
                dtRowainsertar.facturaOlarguillo = this.txtNumFacturaoLarguillo.Text;
                dtRowainsertar.bodegaID          = int.Parse(this.ddlBodegas.SelectedValue);
                dtRowainsertar.Bodega            = this.ddlBodegas.SelectedItem.Text;



                String serror = "";
                if (dbFunctions.insertMovCajaChica(ref dtRowainsertar, ref serror, this.UserID, int.Parse(this.ddlIdCiclo.SelectedValue), this.chkboxAnticipo.Checked, int.Parse(this.drpdlProductor.SelectedValue), ref listBoxAgregadas, int.Parse(this.drpdlTipoAnticipo.SelectedValue), this.txtInteresAnual.Text.Length > 0 ? float.Parse(this.txtInteresAnual.Text) : 0f, this.txtInteresmoratorio.Text.Length > 0 ? float.Parse(this.txtInteresmoratorio.Text) : 0f, DateTime.Parse(Utils.converttoLongDBFormat(this.txtFechaLimite.Text)), this.drpdlProductor.SelectedIndex > 0 ? this.drpdlProductor.SelectedItem.Text : ""))
                {
                    String sNewMov = dtRowainsertar.movimientoID.ToString();
                    if (this.lblNotadeVentaID.Text != "")
                    {
                        SqlConnection conInsertNota = new SqlConnection(myConfig.ConnectionInfo);
                        string        sqlInsert     = "insert into Pagos_NotaVenta (fecha, notadeventaID, movimientoID) VALUES(@fecha, @notadeventaID, @movimientoID)";
                        SqlCommand    cmdInsert     = new SqlCommand(sqlInsert, conInsertNota);
                        conInsertNota.Open();
                        try
                        {
                            cmdInsert.Parameters.Clear();
                            cmdInsert.Parameters.Add("@fecha", SqlDbType.DateTime).Value    = dtRowainsertar.fecha;
                            cmdInsert.Parameters.Add("@notadeventaID", SqlDbType.Int).Value = int.Parse(this.lblNotadeVentaID.Text);
                            cmdInsert.Parameters.Add("@movimientoID", SqlDbType.Int).Value  = dtRowainsertar.movimientoID;
                            int numregistros = cmdInsert.ExecuteNonQuery();
                            if (numregistros != 1)
                            {
                                throw new Exception("ERROR AL INSERTAR RELACION NV - PAGOS. LA DB REGRESÓ QUE SE ALTERARON " + numregistros.ToString() + "REGISTROS");
                            }
                            Logger.Instance.LogUserSessionRecord(Logger.typeModulo.NOTAVENTA, Logger.typeUserActions.UPDATE, this.UserID, "SE INSERTÓ UN PAGO A LA NOTA DE VENTA " + this.lblNotadeVentaID.Text + " EL MOV FUE: " + dtRowainsertar.movimientoID.ToString());
                        }
                        catch (Exception ex)
                        {
                            Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.UPDATE, this.UserID, "ERROR AL INSERTAR UN PAGO A LA NOTA: " + this.lblNotadeVentaID.Text + ". EX " + ex.Message, this.Request.Url.ToString());
                        }
                    }
                    if (this.lblNotadeCompraID.Text != "")
                    {
                        SqlConnection conInsertNota = new SqlConnection(myConfig.ConnectionInfo);
                        string        sqlInsert     = "insert into Pagos_NotaCompra (fecha, notadecompraID, movimientoID) VALUES(@fecha, @notadecompraID, @movimientoID)";
                        SqlCommand    cmdInsert     = new SqlCommand(sqlInsert, conInsertNota);
                        conInsertNota.Open();
                        try
                        {
                            cmdInsert.Parameters.Clear();
                            cmdInsert.Parameters.Add("@fecha", SqlDbType.DateTime).Value     = dtRowainsertar.fecha;
                            cmdInsert.Parameters.Add("@notadecompraID", SqlDbType.Int).Value = int.Parse(this.lblNotadeCompraID.Text);
                            cmdInsert.Parameters.Add("@movimientoID", SqlDbType.Int).Value   = dtRowainsertar.movimientoID;
                            int numregistros = cmdInsert.ExecuteNonQuery();
                            if (numregistros != 1)
                            {
                                throw new Exception("ERROR AL INSERTAR RELACION NV - PAGOS. LA DB REGRESÓ QUE SE ALTERARON " + numregistros.ToString() + "REGISTROS");
                            }
                            Logger.Instance.LogUserSessionRecord(Logger.typeModulo.NOTACOMPRA, Logger.typeUserActions.UPDATE, this.UserID, "SE INSERTÓ UN PAGO A LA NOTA DE COMPRA " + this.lblNotadeVentaID.Text + " EL MOV DE CAJA CHICA FUE: " + dtRowainsertar.movimientoID.ToString());
                        }
                        catch (Exception ex)
                        {
                            Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.UPDATE, this.UserID, "ERROR AL INSERTAR UN PAGO A LA NOTA (CAJA CHICA): " + this.lblNotadeVentaID.Text + ". EX " + ex.Message, this.Request.Url.ToString());
                        }
                    }
                    if (this.drpdlCatalogoInterno.SelectedIndex != null && this.drpdlGrupoCatalogos.SelectedItem.Text.IndexOf("TRASPASOS") > -1)
                    {
                        //si es un traspaso entonces verificar el destino
                        if (this.drpdlCatalogoInterno.SelectedItem != null && this.drpdlCatalogoInterno.SelectedItem.Text.IndexOf("CAJA CHICA") > -1)
                        {
                            dtRowainsertar.movimientoID = -1;
                            dtRowainsertar.bodegaID     = int.Parse(this.ddlCajaDestino.SelectedValue);
                            double fMonto;
                            fMonto = dtRowainsertar.cargo;
                            dtRowainsertar.cargo = dtRowainsertar.abono;
                            dtRowainsertar.abono = fMonto;
                            int cicloID = int.Parse(this.ddlCicloDestino.SelectedValue);
                            if (dbFunctions.insertMovCajaChica(ref dtRowainsertar, ref serror, this.UserID, cicloID, false, -1, ref this.listBoxAgregadas, -1, 0, 0, Utils.Now, ""))
                            {
                                //if the mov destino were successfully added then add the relation with the mov origen
                                SqlConnection connOrigen = new SqlConnection(myConfig.ConnectionInfo);
                                SqlCommand    commOrigen = new SqlCommand();
                                commOrigen.CommandText = "INSERT INTO MOVIMIENTOORIGEN(movimientoID) VALUES(@movimientoID);select movimientoID = SCOPE_IDENTITY();";
                                try
                                {
                                    commOrigen.Connection = connOrigen;
                                    connOrigen.Open();
                                    commOrigen.Parameters.Add("movimientoID", SqlDbType.Int).Value = int.Parse(sNewMov);
                                    int movorigenid = int.Parse(commOrigen.ExecuteScalar().ToString());
                                    commOrigen.CommandText = "update movimientosCaja set movOrigenID = @movOrigenID where movimientoID = @movimientoID";
                                    commOrigen.Parameters.Clear();
                                    commOrigen.Parameters.Add("movOrigenID", SqlDbType.Int).Value  = movorigenid;
                                    commOrigen.Parameters.Add("movimientoID", SqlDbType.Int).Value = dtRowainsertar.movimientoID;
                                    commOrigen.ExecuteNonQuery();
                                }
                                catch (System.Exception ex)
                                {
                                    Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, this.UserID, "Error en mov de origen :" + ex.Message + " stack: " + Environment.StackTrace, this.Request.Url.ToString());
                                }
                                finally
                                {
                                    connOrigen.Close();
                                }
                            }
                        }
                        else
                        {
                            ////insert the mov de banco destino
                            //es a otra cuenta de banco
                            dsMovBanco.dtMovBancoRow rowBanco = new dsMovBanco.dtMovBancoDataTable().NewdtMovBancoRow();
                            rowBanco.conceptoID = 7;// dtRowainsertar.conceptoID;
                            rowBanco.nombre     = dtRowainsertar.nombre;
                            rowBanco.fecha      = dtRowainsertar.fecha;
                            //dats de cheque
                            rowBanco.numCheque         = 0;
                            rowBanco.chequeNombre      = "";
                            rowBanco.facturaOlarguillo = "";
                            rowBanco.numCabezas        = 0;

                            rowBanco.catalogoMovBancoInternoID    = dtRowainsertar.catalogoMovBancoInternoID;
                            rowBanco.subCatalogoMovBancoInternoID = dtRowainsertar.IssubCatalogoMovBancoInternoIDNull() ? -1 : dtRowainsertar.subCatalogoMovBancoInternoID;

                            rowBanco.catalogoMovBancoFiscalID    = rowBanco.catalogoMovBancoInternoID;
                            rowBanco.subCatalogoMovBancoFiscalID = dtRowainsertar.IssubCatalogoMovBancoInternoIDNull() ? -1 : dtRowainsertar.subCatalogoMovBancoInternoID;

                            if (dtRowainsertar.cargo > 0)
                            {
                                rowBanco.abono = dtRowainsertar.cargo;
                                rowBanco.cargo = 0;
                            }
                            else
                            {
                                rowBanco.cargo = dtRowainsertar.abono;
                                rowBanco.abono = dtRowainsertar.cargo;
                            }

                            String serrorBanco = "";
                            rowBanco.cuentaID = int.Parse(this.ddlCuentaDestino.SelectedValue);
                            ListBox tempLB = new ListBox();
                            if (dbFunctions.insertMovementdeBanco(ref rowBanco, ref serrorBanco, this.UserID, rowBanco.cuentaID, false, -1, ref tempLB, -1, 0f, 0f, Utils.Now, -1, ""))
                            {
                                //if the mov destino were successfully added then add the relation with the mov origen
                                SqlConnection connOrigen = new SqlConnection(myConfig.ConnectionInfo);
                                SqlCommand    commOrigen = new SqlCommand();
                                commOrigen.CommandText = "INSERT INTO MOVIMIENTOORIGEN(movimientoID) VALUES(@movimientoID);select movimientoID = SCOPE_IDENTITY();";
                                try
                                {
                                    commOrigen.Connection = connOrigen;
                                    connOrigen.Open();
                                    commOrigen.Parameters.Add("movimientoID", SqlDbType.Int).Value = int.Parse(sNewMov);
                                    int movorigenid = int.Parse(commOrigen.ExecuteScalar().ToString());
                                    commOrigen.CommandText = "update movimientosCuentasBanco set movOrigenID = @movOrigenID where movbanID = @movbanID";
                                    commOrigen.Parameters.Clear();
                                    commOrigen.Parameters.Add("movOrigenID", SqlDbType.Int).Value = movorigenid;
                                    commOrigen.Parameters.Add("movbanID", SqlDbType.Int).Value    = rowBanco.movBanID;
                                    commOrigen.ExecuteNonQuery();
                                }
                                catch (System.Exception ex)
                                {
                                    Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, this.UserID, "Error en mov de origen :" + ex.Message, this.Request.Url.ToString());
                                }
                                finally
                                {
                                    connOrigen.Close();
                                }
                            }
                            //end insert the mov de banco destino
                        }
                    }


                    this.panelagregar.Visible = false;
                    this.panelMensaje.Visible = true;
                    this.lblMensajetitle.Text = myConfig.StrFromMessages("EXITO");
                    this.txtIDDetails.Text    = sNewMov;
                    //  this.DetailsView1.DataSource = tablaaux;
                    this.DetailsView1.DataBind();
                    this.imagenbien.Visible = true;
                    this.imagenmal.Visible  = false;
                    this.limpiacampos();
                    this.lblMensajeOperationresult.Text = string.Format(myConfig.StrFromMessages("MOVCAJAADDEDEXITO"), sNewMov);
                    this.lblMensajeException.Text       = ""; //BORRAMOS PORQUE NO HAY EXcEPTION
                    this.lblReminder.Visible            = true;
                    Logger.Instance.LogUserSessionRecord(Logger.typeModulo.MOVIMIENTOSDECAJACHICA, Logger.typeUserActions.INSERT, int.Parse(this.Session["USERID"].ToString()), "AGREGÓ EL MOVIMIENTO DE CAJA CHICA NÚMERO: " + dtRowainsertar.movimientoID.ToString());
                }
                else
                {
                    this.panelagregar.Visible           = false;
                    this.panelMensaje.Visible           = true;
                    this.lblMensajetitle.Text           = myConfig.StrFromMessages("FALLO");
                    this.lblMensajeOperationresult.Text = string.Format(myConfig.StrFromMessages("MOVCAJAADDEDFAILED"), dtRowainsertar.movimientoID.ToString());
                    this.lblMensajeException.Text       = ""; //BORRAMOS PORQUE NO HAY EXcEPTION
                    Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, int.Parse(this.Session["USERID"].ToString()), serror, this.Request.Url.ToString());
                }
            }
            catch (Exception ex)
            {
                Logger.Instance.LogMessage(Logger.typeLogMessage.CRITICAL, Logger.typeUserActions.INSERT, this.UserID, "ERROR AL INSERTAR MOVIMIENTO DE CAJA. EX : " + ex.Message, this.Request.Url.ToString());
            }
        }