Example #1
0
 public void DeleteCheck()
 {
     QuickPM.Check c = new QuickPM.Check();
     c.Number = "1";
     c.TenantId = tenantId;
     c.Save();
     List<QuickPM.Check> checks = QuickPM.Database.GetChecks(tenantId, c.Number);
     Assert.AreEqual(1, checks.Count);
     c.Delete();
     checks = QuickPM.Database.GetChecks(tenantId, c.Number);
     Assert.AreEqual(0, checks.Count);
 }
Example #2
0
 public void AppliedRents()
 {
     decimal checkAmount = 100m;
     QuickPM.ARRecord arRecord = new QuickPM.ARRecord("1-1", 2008, 1);
     QuickPM.Check check = new QuickPM.Check();
     check.TenantId = tenantId;
     check.ARRecordDate = new DateTime(arRecord.Year, arRecord.Month, 1);
     check.ReceivedDate = DateTime.Today;
     check.Amount = checkAmount;
     check.CheckDate = DateTime.Today;
     check.AutoApply(new QuickPM.Period(arRecord.Year, arRecord.Month));
     Dictionary<string, decimal> appliedRents = arRecord.AppliedRents();
     Assert.AreEqual(checkAmount, appliedRents[(new QuickPM.Tenant(tenantId)).RentTypes[0]]);
 }
Example #3
0
 public void AutoAppyCheck()
 {
     decimal checkAmount = 100m;
     QuickPM.Period p = new QuickPM.Period(2008, 1);
     string checkNumber = "2";
     QuickPM.Check c = new QuickPM.Check();
     c.TenantId = tenantId;
     c.Number = checkNumber;
     c.Amount = checkAmount;
     c.ARRecordDate = new DateTime(p.Year, p.Month, 1);
     c.AutoApply(p);
     Assert.AreEqual(1, c.AppliedTo.Count);
     Assert.AreEqual(checkAmount, c.AppliedTo[0].Amount);
     Assert.AreEqual(0, c.AppliedTo[0].RentTypeIndex);
     Assert.AreEqual(c.ARRecordDate, c.AppliedTo[0].Date);
     c.Delete();
 }
Example #4
0
    protected QuickPM.MonetaryTransaction GetMonetaryTransaction()
    {
        QuickPM.MonetaryTransaction mt;
        if (Request["Type"] == null)
        {
            return null;
        }
        if (Request["Type"].ToLower() == "check")
        {
            mt = new QuickPM.Check(long.Parse(Request["CheckId"]));
        }
        else if (Request["Type"].ToLower() == "nsf")
        {
            mt = new QuickPM.NSFCheck(long.Parse(Request["CheckId"]));
        }
        else
        {
            throw new Exception("Unknown transaction type:" + Request["Type"]);
        }

        return mt;
    }
Example #5
0
    protected void ButtonImport_Click(object sender, EventArgs e)
    {
        string[] checkData = TextBoxChecks.Text.Split(new char[] { '\n' });
        Dictionary<string, int> columnNames = new Dictionary<string,int>();
        columnNames.Add("TenantNumber", 0);
        columnNames.Add("TenantName", 1);
        columnNames.Add("CheckDate", 2);
        columnNames.Add("ReceivedDate", 3);
        columnNames.Add("CheckNumber", 4);
        columnNames.Add("CheckAmount", 5);
        List<string> skippedLines = new List<string>();
        List<List<string>> importedChecks = new List<List<string>>();
        foreach (string line in checkData)
        {
            string[] columns = line.Split(new char[] { '\t' });
            string tenantNumber = columns[columnNames["TenantNumber"]];
            if (!QuickPM.Util.TryFormatTenantId(tenantNumber, out tenantNumber))
            {
                skippedLines.Add(line);
            }
            string checkDate = columns[columnNames["CheckDate"]];
            string receivedDate = columns[columnNames["ReceivedDate"]];
            string checkNumber = columns[columnNames["CheckNumber"]];
            string checkAmount = columns[columnNames["CheckAmount"]];
            QuickPM.Period period1 = new QuickPM.Period(DateTime.Now.Year, DateTime.Now.Month);
            QuickPM.Period period2 = period1.SubtractMonth();
            List<QuickPM.Check> checks1 = QuickPM.Database.GetChecks(tenantNumber, period1);
            List<QuickPM.Check> checks2 = QuickPM.Database.GetChecks(tenantNumber, period2);
            checks1.AddRange(checks2);
            bool skip = false;
            foreach (QuickPM.Check check in checks1)
            {
                if (check.Number.Trim() == checkNumber.Trim() && check.CheckDate == DateTime.Parse(checkDate))
                {
                    skip = true;
                    break;
                }
            }

            List<string> checkInfo = new List<string>();
            checkInfo.Add(checkNumber.Trim());
            if (skip)
            {
                checkInfo.Add("Yes");
            }
            else
            {
                checkInfo.Add("No");
            }

            if (skip)
            {

                importedChecks.Add(checkInfo);
                continue;
            }

            QuickPM.Check c = new QuickPM.Check();
            c.TenantId = tenantNumber;
            c.Number = checkNumber.Trim();
            c.CheckDate = DateTime.Parse(checkDate);
            c.ReceivedDate = DateTime.Parse(receivedDate);
            c.Amount = Decimal.Parse(checkAmount, System.Globalization.NumberStyles.Any);
            c.ARRecordDate = new DateTime(period1.Year, period1.Month, 1);
            c.AutoApply(period1);
            c.Save();
            importedChecks.Add(checkInfo);
        }
        Session["ImportedChecks"] = importedChecks;
        Session.Add("SkippedLines", skippedLines);
    }
Example #6
0
        public void TestAddCheck()
        {
            decimal checkAmount = 100m;
            string checkNumber = "1";
            QuickPM.Tenant t = new QuickPM.Tenant(tenantId);
            QuickPM.Period p = new QuickPM.Period(2008, 1);
            QuickPM.Util.AddARRecord(tenantId, p.Year, p.Month);
            QuickPM.Check c = new QuickPM.Check();
            c.TenantId = tenantId;
            c.Amount = checkAmount;
            c.ARRecordDate = new DateTime(p.Year, p.Month, 1);
            c.ReceivedDate = c.ARRecordDate.AddDays(1);
            c.CheckDate = c.ReceivedDate.AddDays(1);
            c.Number = checkNumber;
            c.Save();

            c = new QuickPM.Check(c.Id);

            Assert.AreEqual(checkAmount, c.Amount);
            Assert.AreEqual(checkNumber, c.Number);
            Assert.AreEqual(new DateTime(p.Year, p.Month, 1), c.ARRecordDate);
            Assert.AreEqual((new DateTime(p.Year,p.Month, 1)).AddDays(1), c.ReceivedDate);
            Assert.AreEqual((new DateTime(p.Year, p.Month, 1)).AddDays(2), c.CheckDate);
            Assert.AreEqual(tenantId, c.TenantId);
            c.Delete();
        }
Example #7
0
 public void MoneyInMoneyOut()
 {
     QuickPM.Check c = new QuickPM.Check();
     Assert.AreEqual(true, c.MoneyIn());
     Assert.AreEqual(false, c.MoneyOut());
 }