private static int?Import(CsvReader csv, DateTime date, int?fundid)
        {
            BundleHeader bundleHeader = null;
            var          fid          = fundid ?? Contribution.FirstFundId(DbUtil.Db);

            csv.Read();
            csv.ReadHeader();
            while (csv.Read())
            {
                var userId      = csv["userID"];
                var transDate   = csv["transDate"].ToDate();
                var settleDate  = csv["settleDate"].ToDate() ?? DateTime.Today;
                var amountpaid  = csv["amountpaid"];
                var nameonCard  = csv["nameonCard"];
                var paymentType = csv["paymentType"];
                var transType   = csv["transType"];

                if (bundleHeader == null)
                {
                    bundleHeader = Contribution.GetBundleHeader(DbUtil.Db, date, DateTime.Now);
                }

                var bd = Contribution.AddContributionDetail(DbUtil.Db, transDate ?? settleDate, fid, amountpaid, paymentType, null, userId);
                bd.Contribution.ContributionDesc = nameonCard;
                if (transType != "SALE")
                {
                    bd.Contribution.ContributionDesc += $" ({transType})";
                }

                bundleHeader.BundleDetails.Add(bd);
            }

            Contribution.FinishBundle(DbUtil.Db, bundleHeader);
            return(bundleHeader?.BundleHeaderId);
        }