示例#1
0
        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");
            }
        }
示例#2
0
        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);
                }
            }
        }
示例#3
0
        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);
                    }
                }
            }
        }