Example #1
0
        public Fundraiser Create(string name, Guid campaignId, FundraiserType type, string creatorUserId, JObject extendedData = null)
        {
            var fundraiser = new Fundraiser {
                Name = name, CampaignId = campaignId, FundraiserType = type, CreatorUserId = creatorUserId, DateCreated = DateTime.Now, DateLastUpdated = DateTime.Now
            };

            if (extendedData != null)
            {
                fundraiser.ExtendedData = extendedData;
            }
            _context.Fundraisers.Add(fundraiser);
            _context.SaveChanges();
            return(fundraiser);
        }
Example #2
0
        public Donation Create(Campaign campaign, Fundraiser fundraiser, DonationStatus status, double amount, string currencyCode,
                               double amountInDefaultCurrency, string donorUserId, string donorDisplayName = null, string referenceNumber = null)
        {
            if (fundraiser != null && fundraiser.CampaignId != campaign.Id) // validate campaign
            {
                throw new InvalidOperationException("fundraiser campaign id does not match");
            }

            var donation = new Donation
            {
                Campaign                = campaign,
                Fundraiser              = fundraiser,
                Status                  = status,
                Amount                  = amount,
                CurrencyCode            = currencyCode,
                AmountInDefaultCurrency = amountInDefaultCurrency,
                DonorUserId             = donorUserId,
                DonorDisplayName        = donorDisplayName,
                ReferenceNumber         = referenceNumber,
                DateCreated             = DateTime.Now,
                DateLastUpdated         = DateTime.Now
            };

            if (currencyCode == campaign.DefaultCurrencyCode && amount != amountInDefaultCurrency)
            {
                throw new InvalidOperationException("invalid amount (does not match amount in default currency)");
            }

            _context.Donations.Add(donation);
            _context.SaveChanges();
            return(donation);
        }
Example #3
0
        public Campaign Create(string name, string defaultCurrencyCode, JObject extendedData, DateTime?endDate)
        {
            var campaign = new Campaign {
                Name = name, DefaultCurrencyCode = defaultCurrencyCode, DateCreated = DateTime.Now, DateLastUpdated = DateTime.Now
            };

            if (extendedData != null)
            {
                campaign.ExtendedData = extendedData;
            }
            if (endDate.HasValue)
            {
                campaign.EndDate = endDate.Value;
            }
            _context.Campaigns.Add(campaign);
            _context.SaveChanges();
            return(campaign);
        }
Example #4
0
        public Currency Create(string code, string symbol, string name)
        {
            var currency = new Currency()
            {
                Code = code, Symbol = symbol, Name = name
            };

            _context.Currencies.Add(currency);
            _context.SaveChanges();
            return(currency);
        }