public Result MakeDropOffDonation(DropOffDonation donation) { try { _dBContext.DropOffDonation.Add(donation); _dBContext.SaveChanges(); return(new Result(true)); } catch (Exception ex) { return(new Result(false, ex.Message)); } }
public Result MakeDropOffDonation(int userID, DateTime date, string currencyCode) { var cartItems = _donateAccessor.GetCartItems(userID, currencyCode).Payload; var total = cartItems.Sum(x => x.TotalAmount); var donationResult = _donateAccessor.MakeDonation(userID, total, "dropoff", currencyCode); if (!donationResult.IsSuccess) { return(new Result(false, donationResult.Message)); } var donation = donationResult.Payload; var dropOffDonation = new DropOffDonation { DonationID = donation.DonationID, DeliveryDate = date }; _donateAccessor.MakeDropOffDonation(dropOffDonation); var items = cartItems.Select(x => new DonationItem { DonationID = donation.DonationID, ItemID = x.ItemID, TotalAmount = x.TotalAmount, NumberOfItems = x.NumItems, CurrencyID = x.CurrencyID }).ToList(); var itemsResult = _donateAccessor.AddDonationItems(items); if (itemsResult.IsSuccess) { _donateAccessor.ClearUserCart(userID); } SendDropOffDonationConfirmationEmail(userID, items, date.ToLongDateString()); return(itemsResult); }