Exemplo n.º 1
0
        public void LoadData()
        {
            var items = Intent.GetParcelableArrayListExtra("InstalmentSummary");

            if (items != null)
            {
                items = items.Cast <InstalmentSummaryModel>().ToArray();

                instalmentList = new List <InstalmentSummaryModel>();

                foreach (InstalmentSummaryModel item in items)
                {
                    InstalmentSummaryModel instalment = new InstalmentSummaryModel();
                    instalment.PaymentDate = DateTime.Parse(item.PaymentDate).ToString("yyyy-MM-dd");
                    instalment.Amount      = item.Amount;
                    instalmentList.Add(instalment);
                }
            }
        }
        public void LoadData()
        {
            var items = Intent.GetParcelableArrayListExtra("InstalmentSummary");

            if (items != null)
            {
                items = items.Cast <InstalmentSummaryModel>().ToArray();

                instalmentList = new List <InstalmentSummaryModel>();

                foreach (InstalmentSummaryModel item in items)
                {
                    InstalmentSummaryModel instalment = new InstalmentSummaryModel();
                    instalment.PaymentDate = item.PaymentDate;
                    instalment.Amount      = item.Amount;
                    instalmentList.Add(instalment);
                }
            }

            instalmentSummaryAdapter = new InstalmentSummaryAdapter(this, this.instalmentList);
            this.instalmentSummaryListView.Adapter = instalmentSummaryAdapter;
        }
        public void DoSetup()
        {
            var firstAmount  = Decimal.Parse(this.et_FirstAmount.Text);
            var secondAmount = Decimal.Parse(this.et_SecondAmount.Text);

            instalmentSummaryList = new List <InstalmentSummaryModel>();

            TrackingHelper.SendTracking("Setup 3 part");

            if (Settings.MaxNoPay == 2)
            {
                if (Settings.TotalOutstanding != (firstAmount + secondAmount))
                {
                    this.RunOnUiThread(() =>
                    {
                        alert = new Alert(this, "Error", Resources.GetString(Resource.String.InstalmentAmountInvalid));
                        alert.Show();
                        this.bt_Continue.Enabled = true;
                    });
                }
                else
                {
                    SetPayment.Set("3part");
                    Settings.Frequency = 0;

                    if (DateTime.Parse(this.et_FirstDate.Text) > DateTime.Today)
                    {
                        Settings.IsFuturePayment = true;
                    }
                    else
                    {
                        Settings.IsFuturePayment = false;
                    }

                    var instalmentModel1 = new InstalmentSummaryModel(this.et_FirstDate.Text, double.Parse(this.et_FirstAmount.Text));
                    var instalmentModel2 = new InstalmentSummaryModel(this.et_SecondDate.Text, double.Parse(this.et_SecondAmount.Text));
                    instalmentSummaryList.Add(instalmentModel1);
                    instalmentSummaryList.Add(instalmentModel2);

                    Intent Intent = new Intent(this, typeof(InstalmentSummaryActivity));

                    Intent.PutParcelableArrayListExtra("InstalmentSummary", instalmentSummaryList.ToArray());

                    Intent.SetFlags(ActivityFlags.ClearTask | ActivityFlags.NewTask);

                    StartActivity(Intent);
                }
            }
            else
            {
                var thirdAmount = Decimal.Parse(this.et_ThirdAmount.Text);

                if (Settings.TotalOutstanding != (firstAmount + secondAmount + thirdAmount))
                {
                    this.RunOnUiThread(() =>
                    {
                        alert = new Alert(this, "Error", Resources.GetString(Resource.String.InstalmentAmountInvalid));
                        alert.Show();
                        this.bt_Continue.Enabled = true;
                    });
                }
                else
                {
                    SetPayment.Set("3part");
                    Settings.Frequency = 0;

                    if (DateTime.Parse(this.et_FirstDate.Text) > DateTime.Today)
                    {
                        Settings.IsFuturePayment = true;
                    }
                    else
                    {
                        Settings.IsFuturePayment = false;
                    }

                    var instalmentModel1 = new InstalmentSummaryModel(this.et_FirstDate.Text, double.Parse(this.et_FirstAmount.Text));
                    var instalmentModel2 = new InstalmentSummaryModel(this.et_SecondDate.Text, double.Parse(this.et_SecondDate.Text));
                    var instalmentModel3 = new InstalmentSummaryModel(this.et_ThirdDate.Text, double.Parse(this.et_ThirdAmount.Text));

                    instalmentSummaryList.Add(instalmentModel1);
                    instalmentSummaryList.Add(instalmentModel2);
                    instalmentSummaryList.Add(instalmentModel3);

                    Intent Intent = new Intent(this, typeof(InstalmentSummaryActivity));

                    Intent.PutParcelableArrayListExtra("InstalmentSummary", instalmentSummaryList.ToArray());

                    Intent.SetFlags(ActivityFlags.ClearTask | ActivityFlags.NewTask);

                    StartActivity(Intent);
                }
            }
        }
Exemplo n.º 4
0
        private void DoCalculation()
        {
            var amountText = this.et_FirstAmount.Text;

            if (amountText.Trim().Length > 0)
            {
                decimal amount        = Decimal.Parse(amountText);
                var     firstDateText = this.et_Date.Text;
                if (firstDateText.Trim().Length > 0)
                {
                    DateTime firstDate = DateTime.Parse(firstDateText);

                    decimal totalAmount = Settings.TotalOutstanding;

                    decimal paidAmount       = 0;
                    decimal instalmentAmount = amount < totalAmount ? amount : totalAmount;
                    if (firstDate > DateTime.Today)
                    {
                        Settings.IsFuturePayment = true;
                    }
                    else
                    {
                        Settings.IsFuturePayment = false;
                    }
                    Settings.Frequency = this.Frequency + 1;

                    instalmentSummaryList = new List <InstalmentSummaryModel>();

                    while (totalAmount > paidAmount && instalmentAmount > 0)
                    {
                        var instalmentModel1 = new InstalmentSummaryModel(firstDate.ToShortDateString(), Double.Parse(instalmentAmount.ToString()));
                        instalmentSummaryList.Add(instalmentModel1);

                        paidAmount = paidAmount + instalmentAmount;

                        if (paidAmount + amount <= totalAmount)
                        {
                            instalmentAmount = amount;
                        }
                        else
                        {
                            instalmentAmount = Math.Round(totalAmount - paidAmount, 2, MidpointRounding.ToEven);
                        }

                        if (Frequency == 0)
                        {
                            firstDate = firstDate.AddDays(7);
                        }
                        else
                        if (Frequency == 1)
                        {
                            firstDate = firstDate.AddDays(14);
                        }
                        else
                        if (Frequency == 2)
                        {
                            firstDate = firstDate.AddMonths(1);
                        }
                    }

                    if (instalmentSummaryList.Count > 0)
                    {
                        var lastInstalment = this.instalmentSummaryList[instalmentSummaryList.Count - 1].Amount;
                        if (lastInstalment < 10)
                        {
                            this.instalmentSummaryList.RemoveAt(this.instalmentSummaryList.Count - 1);
                            this.instalmentSummaryList[this.instalmentSummaryList.Count - 1].Amount = this.instalmentSummaryList[this.instalmentSummaryList.Count - 1].Amount + lastInstalment;
                        }

                        this.tv_NumberInstalment.Text = this.instalmentSummaryList.Count.ToString();
                        this.tv_LastDate.Text         = this.instalmentSummaryList[this.instalmentSummaryList.Count - 1].PaymentDate;
                    }
                }
            }
        }