Example #1
0
        public void TestRescheduleOUT()
        {
            const int            loanID  = 6; //4182; // 1718; // 4439; //3534;
            Loan                 loan    = new Loan();
            ReschedulingArgument reModel = new ReschedulingArgument();

            reModel.LoanType = loan.GetType()
                               .AssemblyQualifiedName;
            reModel.LoanID           = loanID;
            reModel.ReschedulingDate = DateTime.UtcNow.Date.AddDays(0);             //new DateTime(2015, 10, 02);
            //reModel.ReschedulingRepaymentIntervalType = RepaymentIntervalTypes.Month;
            reModel.SaveToDB           = false;
            reModel.RescheduleIn       = false;
            reModel.PaymentPerInterval = 180m;
            reModel.StopFutureInterest = false;
            var s1 = new RescheduleLoan <Loan>(loan, reModel);

            s1.Context.UserID = 357;             //25852;
            try {
                s1.Execute();
                this.m_oLog.Debug("RESULT FOR OUT" + s1.Result.ToString());
                // ReSharper disable once CatchAllClause
            } catch (Exception e) {
                Console.WriteLine(e);
            }
        }
Example #2
0
        public void TestRescheduleIN()
        {
            const int            loanID  = 11;
            Loan                 loan    = new Loan();
            ReschedulingArgument reModel = new ReschedulingArgument();

            reModel.LoanType = loan.GetType()
                               .AssemblyQualifiedName;
            reModel.LoanID           = loanID;
            reModel.ReschedulingDate = DateTime.UtcNow.Date.AddDays(5);
            //reModel.ReschedulingRepaymentIntervalType = RepaymentIntervalTypes.Month;
            reModel.RescheduleIn       = true;
            reModel.SaveToDB           = false;
            reModel.StopFutureInterest = true;
            try {
                var s = new RescheduleLoan <Loan>(loan, reModel);
                s.Context.UserID = 357;                 // 25852
                s.Execute();
                this.m_oLog.Debug("RESULT FOR IN" + s.Result.ToString());
                // ReSharper disable once CatchAllClause
            } catch (Exception e) {
                Console.WriteLine(e);
            }
        }
Example #3
0
        public void TestMultipleRescheduling()
        {
            /*var loans = new[] {
             *      18,19,20,22,29,30,31,32,33,34,36,37,38, 35, 4439, 3534, 1846, 2662,	1721,1758,1718,1764,1781,1795,1808,1810,1825,1831,1838,1841,1847,1856,1895,1903,1904,
             *      3456,3462,3476,3478,3509,3510,3513,3521,3533,3535,3538,3539,3547,3583,3593,3607,3651,3670,3700,3710,3711,3714,3754,3827,3860,3917,3946,4081,4139,4174,4183,4192,
             *      2990,2996,3003,3007,3032,3038,3083,3084,3094,3096,3113,3118,3141,3142,3166,3196,3208,3236,3275,3285,3302
             * };
             * // select top 10 *  from [dbo].[Loan] l left join [dbo].[LoanScheduleDeleted] d on l.Id=d.LoanId where d.Id IS NULL and l.Status <> 'PaidOff' and YEAR(l.Date) = 2015 and DateClosed is null
             * foreach (var loanID in loans) {
             *      try {
             *              ReschedulingArgument reModel = new ReschedulingArgument();
             *              Loan loan = new Loan();
             *              reModel.LoanType = loan.GetType().AssemblyQualifiedName;
             *              reModel.LoanID = loanID;
             *              reModel.RescheduleIn = false;
             *              reModel.SaveToDB = false;
             *              reModel.ReschedulingDate = DateTime.UtcNow;
             *              reModel.ReschedulingRepaymentIntervalType = RepaymentIntervalTypes.Month;
             *              if (reModel.RescheduleIn == false) {
             *                      reModel.PaymentPerInterval = 900m;
             *              }
             *              var s = new RescheduleLoan<Loan>(loan, reModel);
             *              s.Context.UserID = 25852;
             *              s.Execute();
             *              m_oLog.Debug(s.Result.ToString());
             *      } catch (Exception e) {
             *              Console.WriteLine(e);
             *      }
             * }*/

            Loan loan = new Loan();

            this.m_oDB.ForEachRowSafe((sr) => {
                try {
                    int loanid = sr["Id"];
                    // IN

                    /*  ReschedulingArgument reModel = new ReschedulingArgument();
                     * reModel.LoanID = loanid;
                     * reModel.LoanType = loan.GetType().AssemblyQualifiedName;
                     * reModel.RescheduleIn = true;
                     * reModel.SaveToDB = false;
                     * reModel.ReschedulingDate = DateTime.UtcNow.Date.AddDays(15);
                     * reModel.ReschedulingRepaymentIntervalType = RepaymentIntervalTypes.Month;
                     * var s = new RescheduleLoan<Loan>(loan, reModel);
                     * s.Context.UserID = 357; //25852;
                     * s.Execute();
                     * this.m_oLog.Debug(s.Result.ToString());
                     * this.m_oLog.Debug("IN_RESULT: {0}", s.Result.ToString());*/

                    // OUT
                    ReschedulingArgument reModel1 = new ReschedulingArgument();
                    Loan loan1        = new Loan();
                    reModel1.LoanID   = loanid;
                    reModel1.LoanType = loan1.GetType()
                                        .AssemblyQualifiedName;
                    reModel1.RescheduleIn     = false;
                    reModel1.SaveToDB         = false;
                    reModel1.ReschedulingDate = DateTime.UtcNow.Date.AddDays(44);
                    reModel1.ReschedulingRepaymentIntervalType = RepaymentIntervalTypes.Month;
                    reModel1.PaymentPerInterval = 90m;
                    reModel1.StopFutureInterest = true;
                    var s1            = new RescheduleLoan <Loan>(loan1, reModel1);
                    s1.Context.UserID = 357;                     //25852;
                    s1.Execute();
                    this.m_oLog.Debug("OUT_RESULT: {0}", s1.Result.ToString());
                } catch (Exception e) {
                    Console.WriteLine(e);
                }
            },
                                      "select top 100 l.Id from [dbo].[Loan] l left join [dbo].[LoanScheduleDeleted] d on l.Id=d.LoanId where d.Id IS NULL and l.Status <> 'PaidOff' and DateClosed is null", // order by l.Id desc",
                                                                                                                                                                                                              //	"select top 10 * from [dbo].[Loan] l left join [dbo].[LoanScheduleDeleted] d on l.Id=d.LoanId where d.Id IS NULL and l.Status <> 'PaidOff' and YEAR(l.Date) = 2015 and DateClosed is null order ",
                                      CommandSpecies.Text);                                                                                                                                                   //top 100
        }