public void DonorDetailsTest(string notitles, string uselabelname) { using (var db = CMSDataContext.Create(Util.Host)) { db.SetSetting("NoTitlesOnStatements", notitles); db.SetSetting("UseLabelNameForDonorDetails", uselabelname); var bundleList = CreateTestContributionSet(db, Util.Now.Date); var exportPeople = new ExportPeople(db); DateTime startDate = Util.Now.AddDays(-180); DateTime endDate = Util.Now.AddDays(180); DataTable tableResult = exportPeople.DonorDetails(startDate, endDate, 0, 0, false, null, true, null, null); var dbContributionsQry = db.Contributions .Where(x => !ContributionTypeCode.ReturnedReversedTypes.Contains(x.ContributionTypeId) && !ContributionTypeCode.Pledge.Equals(x.ContributionTypeId)) .Where(x => x.ContributionDate >= startDate && x.ContributionDate < endDate) .Select(x => x); var tableResultTotals = tableResult.AsEnumerable().Sum(row => row.Field <decimal>("Amount")); var totalContributions = dbContributionsQry.Sum(x => x.ContributionAmount) ?? 0; totalContributions.ToDouble().ShouldBe(tableResultTotals.ToDouble()); foreach (var b in bundleList) { MockContributions.DeleteAllFromBundle(db, b); } db.DeleteSetting("NoTitlesOnStatements"); db.DeleteSetting("UseLabelNameForDonorDetails"); } }
public void DonorDetails_Should_Not_Bring_Reversed_or_Returned_contributions( int fundid, int campusid, bool pledges, bool?nontaxdeductible, bool includeUnclosed, int?tagid, string fundids) { using (var db = CMSDataContext.Create(Util.Host)) { var bundleList = CreateTestContributionSet(db, Util.Now.Date); var _exportPeople = new ExportPeople(); DateTime exportStartDt = new DateTime(Util.Now.Date.Year, 1, 1); DateTime exportEndDt = new DateTime(Util.Now.Date.Year, 12, 31); DataTable tableResult = _exportPeople.DonorDetails(exportStartDt, exportEndDt, fundid, campusid, pledges, nontaxdeductible, includeUnclosed, tagid, fundids); var dbContributionsQry = db.Contributions .Where(x => !ContributionTypeCode.ReturnedReversedTypes.Contains(x.ContributionTypeId) && !ContributionTypeCode.Pledge.Equals(x.ContributionTypeId)) .Where(x => ContributionStatusCode.Recorded.Equals(x.ContributionStatusId)) .Where(x => x.ContributionDate >= exportStartDt && x.ContributionDate < exportEndDt) .Select(x => x); dbContributionsQry = nontaxdeductible.HasValue ? (nontaxdeductible is true) ? dbContributionsQry = dbContributionsQry.Where(x => ContributionTypeCode.NonTaxDed.Equals(x.ContributionTypeId)).Select(x => x) : dbContributionsQry = dbContributionsQry.Where(x => !ContributionTypeCode.NonTaxDed.Equals(x.ContributionTypeId)).Select(x => x) : dbContributionsQry; if (includeUnclosed is false) { dbContributionsQry = from c in dbContributionsQry join bd in db.BundleDetails on c.ContributionId equals bd.ContributionId join bh in db.BundleHeaders on bd.BundleHeaderId equals bh.BundleHeaderId where bh.BundleStatusId == 0 select c; } var rc = tableResult.AsEnumerable().Where(row => ContributionTypeCode.ReturnedReversedTypes.Contains(row.Field <int>("ContributionTypeId"))); var tableResultTotals = tableResult.AsEnumerable().Sum(row => row.Field <decimal>("Amount")); var totalContributions = dbContributionsQry.Sum(x => x.ContributionAmount) ?? 0; totalContributions.ToDouble().ShouldBe(tableResultTotals.ToDouble()); rc.Count().ShouldBeLessThan(1); foreach (var b in bundleList) { MockContributions.DeleteAllFromBundle(db, b); } } }
public void ExportDonorDetails_Should_Bring_Pledges(int fundid, int campusid, bool?nontaxdeductible, bool includeUnclosed, int?tagid, string fundids) { using (var db = CMSDataContext.Create(Util.Host)) { var bundleList = CreateTestContributionSet(db, Util.Now.Date); var _exportPeople = new ExportPeople(db); DateTime exportStartDt = Util.Now.AddDays(-180); DateTime exportEndDt = Util.Now.AddDays(180); DataTable tableResult = _exportPeople.DonorDetails( exportStartDt, exportEndDt, fundid, campusid, true, (bool)nontaxdeductible, includeUnclosed, tagid, fundids, 2); try { var q = from c in tableResult.Select() where c.ItemArray[3].ToInt() > 0 select c; if (q.IsNotNull()) { var amountpledged = Double.Parse(q.Select(x => x.ItemArray[3]).SingleOrDefault().ToString()); amountpledged.ShouldBe(500.00); } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { foreach (var b in bundleList) { MockContributions.DeleteAllFromBundle(db, b); } } } }