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); }
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); }
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); }
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); }