示例#1
0
        private void FillSchPayments(IdealContext db, string accountId)
#endif
        {
            var query = from pay in db.SCHEDULED_PAYMENT_TBL
                        where pay.ACC_ID == accountId
                        orderby pay.SCHPAY_DATE
                        select pay;

            if (!query.Any())
            {
                return;
            }
            listSchPayments = new List <SCHEDULED_PAYMENT_TBL>();
            SchPayments     = new ObservableCollection <ScheduledPaymentModel>();
            foreach (var r in query)
            {
                listSchPayments.Add(r);
                SchPayments.Add(new ScheduledPaymentModel()
                {
                    ACC_ID        = r.ACC_ID,
                    SCHPAY_DATE   = String.Format("{0:ddd MMM dd, yyyy}", r.SCHPAY_DATE),
                    SCHPAY_AMOUNT = r.SCHPAY_AMOUNT
                });
            }
            RaisePropertyChanged("SchPayments");
        }
示例#2
0
        /// <summary>
        /// Constructor
        /// </summary>
        public AccountDetailsViewModel()
        {
#if USE_SAMPLE_DB
            using (var db = new SampleModel())
#else
            using (var db = new IdealContext())
#endif
            {
                try
                {
                    db.Database.Connection.Open();
                    FillAccounts(db);
                    selectedItemAccountID = AccountIDs.ElementAt(0);
                    FillPayments(db, selectedItemAccountID);
                    FillSchPayments(db, selectedItemAccountID);
                    FillDetails(selectedItemAccountID);
                    FillStatusValues(selectedItemAccountID);
                    FillTotalProgress(selectedItemAccountID);
                    FillTotalLag(selectedItemAccountID);
                    FillTotals(selectedItemAccountID);
                    FillPaymentComparationSeries(selectedItemAccountID);
                }
                catch (System.Data.SqlClient.SqlException e)
                {
                    MessageBox.Show(e.Message, "Database connection error",
                                    MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
示例#3
0
        public void FillPayments(IdealContext db, string accountId)
#endif
        {
            var query = from pay in db.PAYMENT_TBL
                        where pay.ACC_ID == accountId
                        orderby pay.PAY_DATE
                        select pay;

            if (!query.Any())
            {
                return;
            }
            listPayments = new List <PAYMENT_TBL>();
            Payments     = new ObservableCollection <PaymentModel>();
            foreach (var r in query)
            {
                listPayments.Add(r);
                Payments.Add(new PaymentModel()
                {
                    ACC_ID     = r.ACC_ID,
                    PAY_DATE   = String.Format("{0:ddd MMM dd, yyyy}", r.PAY_DATE),
                    PAY_AMOUNT = r.PAY_AMOUNT,
                    PAY_VISITS = r.PAY_VISITS
                });
            }
            RaisePropertyChanged("Payments");
        }
        public void FillPaymentLists(IdealContext db)
#endif
        {
            var accounts      = new List <String>();
            var queryAccounts = from a in db.ACCOUNT_CLIENT_SCHEDULED_PAYMENTS_VIEW
                                select a.ACC_ID;

            foreach (var a in queryAccounts)
            {
                accounts.Add(a);
            }

            // Get Scheduled Payments table
            listScheduledPay = new List <SCHEDULED_PAYMENT_TBL>();
            var queryScheduledPay = from p in db.SCHEDULED_PAYMENT_TBL
                                    select p;

            foreach (var p in queryScheduledPay)
            {
                //if (accounts.Any(p.ACC_ID.Contains))
                listScheduledPay.Add(p);
            }

            // Get Payments table
            listPayments = new List <PAYMENT_TBL>();
            var queryPayments = from p in db.PAYMENT_TBL
                                select p;

            foreach (var p in queryPayments)
            {
                listPayments.Add(p);
            }
        }
        private void FillTotals(IdealContext db)
#endif
        {
            Totals = new ObservableCollection <Model>();
            var result = from r in db.TOTAL_INVESTED_VS_RECOVERED_VS_SCHEDULED_VIEW
                         select r;

            foreach (var t in result)
            {
                string description = null;
                if (t.DESCRIPTION.Contains("Scheduled"))
                {
                    description = "Expected";
                }
                else if (t.DESCRIPTION.Contains("ITEM"))
                {
                    description = "Invested";
                }
                else
                {
                    description = "Collected";
                }

                Totals.Add(new Model()
                {
                    Item = description, Units = (int)t.VALUE
                });
            }
        }
        /// <summary>
        /// Constructor.
        /// </summary>
        public RunningAccountsViewModel()
        {
#if USE_SAMPLE_DB
            using (var db = new SampleModel())
#else
            using (var db = new IdealContext())
#endif
            {
                try
                {
                    db.Database.Connection.Open();
                    FillAccountSeries(db);
                    util.FillPaymentLists(db);
                    FillMonthSeries();
                    FillWeekSeries();
                    FillTotalProgress();
                    FillTotalLag(db);
                    FillStatusValues();
                    FillTotals(db);
                }
                catch (System.Data.SqlClient.SqlException e)
                {
                    MessageBox.Show(e.Message, "Database connection error",
                                    MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
        private void FillTotalLag(IdealContext db)
#endif
        {
            TotalLag = new ObservableCollection <Model>();
            TotalLag.Add(new Model()
            {
                Item  = "Expected",
                Units = (Accounts.Sum(x => x.ScheduledPayments) - Accounts.Sum(x => x.Payments) > 0) ?
                        (int)(Accounts.Sum(x => x.ScheduledPayments) - Accounts.Sum(x => x.Payments)) : 0
            });
            TotalLag.Add(new Model()
            {
                Item  = "Collected",
                Units = (int)Accounts.Sum(x => x.Payments)
            });
        }
示例#8
0
        private void FillAccounts(IdealContext db)
#endif
        {
            var query = from account in db.ACCOUNT_CLIENT_SCHEDULED_PAYMENTS_VIEW
                        orderby account.ACC_ID
                        select account;

            if (!query.Any())
            {
                return;
            }
            Accounts   = new ObservableCollection <ACCOUNT_CLIENT_SCHEDULED_PAYMENTS_VIEW>();
            AccountIDs = new ObservableCollection <string>();
            foreach (var r in query)
            {
                Accounts.Add(r);
                AccountIDs.Add(r.ACC_ID);
            }
        }
        private void FillAccountSeries(IdealContext db)
#endif
        {
            var query = from a in db.ACCOUNT_CLIENT_SCHEDULED_PAYMENTS_VIEW
                        orderby a.ACC_ID
                        select new { a.ACC_ID, a.NAME, a.ITEM_NAME, a.PAYMD_ID, a.ACC_DATE, a.ACC_PRICE,
                                     a.ACC_HITCH, a.CALCULATED_CURRENT_BALANCE, a.ITEM_BUY_PRICE, a.PAYMENTS,
                                     a.SUM_SCHEDULED_PAYMENTS, a.DIFF_SCHEDULED };

            if (!query.Any())
            {
                return; // No results
            }
            Accounts         = new ObservableCollection <AccountModel>();
            CostComparations = new ObservableCollection <CostComparationModel>();
            foreach (var acc in query)
            {
                Accounts.Add( //Create the list of accounts
                    new AccountModel()
                {
                    AccountID         = acc.ACC_ID,
                    ClientName        = acc.NAME,
                    Item              = acc.ITEM_NAME,
                    PaymentID         = acc.PAYMD_ID,
                    Date              = acc.ACC_DATE.ToString("MMM dd yyyy"),
                    AccountPrice      = (double)acc.ACC_PRICE,
                    Hitch             = (double)acc.ACC_HITCH,
                    Balance           = (double)acc.CALCULATED_CURRENT_BALANCE,
                    ItemPrice         = (double)acc.ITEM_BUY_PRICE,
                    Payments          = (double)acc.PAYMENTS,
                    ScheduledPayments = (double)acc.SUM_SCHEDULED_PAYMENTS,
                    DiffScheduled     = (double)acc.DIFF_SCHEDULED
                });
                CostComparations.Add(  // Create a list of CostComparations
                    new CostComparationModel()
                {
                    AccountID = acc.ACC_ID,
                    ItemPrice = (double)acc.ITEM_BUY_PRICE,
                    Collected = (double)acc.PAYMENTS,
                    Expected  = (double)acc.SUM_SCHEDULED_PAYMENTS
                });
            }
        }