Beispiel #1
0
        public int Pagares(int ReciboID, string prestamo, string pagare, double capital, double interes, double mora, string concepto, bool OtroIngreso)
        {
            int resultID = 0;

            if (OtroIngreso)
            {
                //interes only
                string sqlIns = "INSERT INTO recibos (HE_FECHA, CL_CODIGO, HE_MONTO,HE_DESC, HE_MORA, PRESTAMOID, HE_CONCEP) VALUES (@HE_FECHA, @CL_CODIGO, @HE_MONTO,@HE_DESC, @HE_MORA, @PRESTAMOID, @HE_CONCEP)";

                SqlCommand cmdIns = new SqlCommand(sqlIns);
                cmdIns.Parameters.AddWithValue("@HE_FECHA", hoyfecha);
                cmdIns.Parameters.AddWithValue("@CL_CODIGO", CODIGO);
                cmdIns.Parameters.AddWithValue("@HE_DESC", interes);
                cmdIns.Parameters.AddWithValue("@HE_MONTO", 0.00);
                cmdIns.Parameters.AddWithValue("@HE_MORA", mora);
                cmdIns.Parameters.AddWithValue("@PRESTAMOID", prestamo);
                cmdIns.Parameters.AddWithValue("@HE_CONCEP", concepto);
                resultID = dbc.query_insert(cmdIns);
                if (resultID > 0)
                {
                    //update the date of last payment, keep balance the same.
                    dbc.query_insert("UPDATE prestamos SET  CO_BALI=0, CO_FECPAG='" + hoyfecha + "' where PRESTAMOID=" + prestamo);
                    //set the date to next month
                    setCuotaDate(prestamo, pagare);
                }
            }
            else
            {
                if (ReciboID > 0)
                {
                    //update for Multiple Payments.
                    string     updaterecibo = "UPDATE recibos SET  HE_MONTO=HE_MONTO+@HE_MONTO, HE_DESC=HE_DESC+@HE_DESC, HE_MORA=HE_MORA+@HE_MORA  where RECIBOID=@RECIBOID";
                    SqlCommand cmdrecibo    = new SqlCommand(updaterecibo);
                    cmdrecibo.Parameters.AddWithValue("@HE_MONTO", capital);
                    cmdrecibo.Parameters.AddWithValue("@HE_DESC", interes);
                    cmdrecibo.Parameters.AddWithValue("@HE_MORA", mora);
                    cmdrecibo.Parameters.AddWithValue("@RECIBOID", ReciboID);
                    dbc.query_update(cmdrecibo);
                    resultID = ReciboID;
                }
                else
                {
                    string sqlIns = "INSERT INTO recibos (HE_FECHA, CL_CODIGO, HE_MONTO, HE_DESC, HE_MORA, PRESTAMOID, HE_CONCEP) VALUES (@HE_FECHA, @CL_CODIGO, @HE_MONTO, @HE_DESC, @HE_MORA, @PRESTAMOID, @HE_CONCEP)";

                    SqlCommand cmdIns = new SqlCommand(sqlIns);
                    cmdIns.Parameters.AddWithValue("@HE_FECHA", hoyfecha);
                    cmdIns.Parameters.AddWithValue("@CL_CODIGO", CODIGO);
                    cmdIns.Parameters.AddWithValue("@HE_MONTO", capital);
                    cmdIns.Parameters.AddWithValue("@HE_DESC", interes);
                    cmdIns.Parameters.AddWithValue("@HE_MORA", mora);
                    cmdIns.Parameters.AddWithValue("@PRESTAMOID", prestamo);
                    cmdIns.Parameters.AddWithValue("@HE_CONCEP", concepto);
                    resultID = dbc.query_insert(cmdIns);
                }
                string updatepsql = "UPDATE prestamos set CO_CAPI=CO_CAPI-@CO_CAPI, CO_ACTUAL=CO_ACTUAL-@CO_ACTUAL, CO_FECPAG=@CO_FECPAG, CO_CAVEN=CO_CAVEN-@CO_CAVEN,CO_BALI=CO_BALI-@CO_BALI ,CO_MORA=CO_MORA-@CO_MORA where PRESTAMOID=@PRESTAMOID";

                SqlCommand cmdprestamo = new SqlCommand(updatepsql);
                cmdprestamo.Parameters.AddWithValue("@CO_CAPI", capital);
                cmdprestamo.Parameters.AddWithValue("@CO_ACTUAL", capital);
                cmdprestamo.Parameters.AddWithValue("@CO_FECPAG", hoyfecha);
                cmdprestamo.Parameters.AddWithValue("@CO_CAVEN", capital);
                cmdprestamo.Parameters.AddWithValue("@CO_BALI", interes);
                cmdprestamo.Parameters.AddWithValue("@PRESTAMOID", prestamo);
                cmdprestamo.Parameters.AddWithValue("@CO_MORA", mora);
                dbc.query_update(cmdprestamo);


                //insert capital payment
                string     sqlInspay  = "INSERT INTO historia ( CL_CODIGO, PRESTAMOID, HI_FECHA,HI_FECFIN, HI_TIPO, HI_DOCUM, HI_FACAFEC, HI_MONTO, HI_TIPPAG) VALUES ( @CL_CODIGO, @PRESTAMOID, @HI_FECHA, @HI_FECFIN, @HI_TIPO, @HI_DOCUM, @HI_FACAFEC, @HI_MONTO, @HI_TIPPAG)";
                SqlCommand cmdInspayc = new SqlCommand(sqlInspay);
                cmdInspayc.Parameters.AddWithValue("@CL_CODIGO", CODIGO);
                cmdInspayc.Parameters.AddWithValue("@PRESTAMOID", prestamo);
                cmdInspayc.Parameters.AddWithValue("@HI_FECHA", hoyfecha);
                cmdInspayc.Parameters.AddWithValue("@HI_FECFIN", hoyfecha);
                cmdInspayc.Parameters.AddWithValue("@HI_TIPO", "R");
                cmdInspayc.Parameters.AddWithValue("@HI_DOCUM", resultID);
                cmdInspayc.Parameters.AddWithValue("@HI_FACAFEC", pagare);
                cmdInspayc.Parameters.AddWithValue("@HI_MONTO", capital);
                cmdInspayc.Parameters.AddWithValue("@HI_TIPPAG", "C");
                int cID = dbc.query_insert(cmdInspayc);
                //update intres
                SqlCommand cmdInspayi = new SqlCommand(sqlInspay);
                cmdInspayi.Parameters.AddWithValue("@HI_MONTO", interes);
                cmdInspayi.Parameters.AddWithValue("@HI_TIPPAG", "I");
                cmdInspayi.Parameters.AddWithValue("@CL_CODIGO", CODIGO);
                cmdInspayi.Parameters.AddWithValue("@PRESTAMOID", prestamo);
                cmdInspayi.Parameters.AddWithValue("@HI_FECHA", hoyfecha);
                cmdInspayi.Parameters.AddWithValue("@HI_FECFIN", hoyfecha);
                cmdInspayi.Parameters.AddWithValue("@HI_TIPO", "R");
                cmdInspayi.Parameters.AddWithValue("@HI_DOCUM", resultID);
                cmdInspayi.Parameters.AddWithValue("@HI_FACAFEC", pagare);
                int iID = dbc.query_insert(cmdInspayi);
                //update Mora
                SqlCommand cmdInspaym = new SqlCommand(sqlInspay);
                cmdInspaym.Parameters.AddWithValue("@HI_MONTO", mora);
                cmdInspaym.Parameters.AddWithValue("@HI_TIPPAG", "M");
                cmdInspaym.Parameters.AddWithValue("@CL_CODIGO", CODIGO);
                cmdInspaym.Parameters.AddWithValue("@PRESTAMOID", prestamo);
                cmdInspaym.Parameters.AddWithValue("@HI_FECHA", hoyfecha);
                cmdInspaym.Parameters.AddWithValue("@HI_FECFIN", hoyfecha);
                cmdInspaym.Parameters.AddWithValue("@HI_TIPO", "R");
                cmdInspaym.Parameters.AddWithValue("@HI_DOCUM", resultID);
                cmdInspaym.Parameters.AddWithValue("@HI_FACAFEC", pagare);
                int mID = dbc.query_insert(cmdInspaym);

                string cuotastr = "UPDATE historia set HI_BALCAP=HI_BALCAP-@HI_BALCAP, HI_BALINT=HI_BALINT-@HI_BALINT, HI_MORA=HI_MORA-@HI_MORA, HI_FECFIN=@HI_FECFIN , HI_FECPAG=@HI_FECPAG where PRESTAMOID=@PRESTAMOID and HI_DOCUM=@HI_DOCUM";
                //update factura
                SqlCommand cmdfactura = new SqlCommand(cuotastr);
                cmdfactura.Parameters.AddWithValue("@HI_BALCAP", capital);
                cmdfactura.Parameters.AddWithValue("@HI_BALINT", interes);
                cmdfactura.Parameters.AddWithValue("@HI_MORA", mora);
                cmdfactura.Parameters.AddWithValue("@HI_FECFIN", hoyfecha);
                cmdfactura.Parameters.AddWithValue("@HI_FECPAG", hoyfecha);
                cmdfactura.Parameters.AddWithValue("@PRESTAMOID", prestamo);
                cmdfactura.Parameters.AddWithValue("@HI_DOCUM", pagare);
                dbc.query_update(cmdfactura);

                string     clientestr = "UPDATE clientes set CL_ACTUAL=CL_ACTUAL-@CL_ACTUAL, CL_CAPITAL=CL_CAPITAL-@CL_CAPITAL,CL_INTERES=CL_INTERES-@CL_INTERES  where CL_CODIGO=@CL_CODIGO";
                SqlCommand cmdcliente = new SqlCommand(clientestr);
                cmdcliente.Parameters.AddWithValue("@CL_ACTUAL", capital);
                cmdcliente.Parameters.AddWithValue("@CL_CAPITAL", capital);
                cmdcliente.Parameters.AddWithValue("@CL_INTERES", interes);
                cmdcliente.Parameters.AddWithValue("@CL_CODIGO", CODIGO);
                dbc.query_update(cmdcliente);
            }

            return(resultID);
        }