コード例 #1
0
        public Result <int> AddToCart(int userID, int itemID, decimal totalAmount, int?numItems, string currencyCode)
        {
            var item = new DonateCartItem
            {
                UserID      = userID,
                ItemID      = itemID,
                TotalAmount = totalAmount,
                NumItems    = numItems
            };

            return(_donateAccessor.AddToCart(item, currencyCode));
        }
コード例 #2
0
        public Result <int> AddToCart(DonateCartItem item, string currencyCode)
        {
            try
            {
                var currency     = (from x in _dBContext.Currency where x.Code == currencyCode select x).First();
                var existingItem = (from x in _dBContext.DonateCartItem where x.UserID == item.UserID && x.ItemID == item.ItemID select x).FirstOrDefault();
                if (existingItem != null)
                {
                    if (existingItem.CurrencyID == currency.CurrencyID)
                    {
                        existingItem.TotalAmount += item.TotalAmount;
                    }
                    else
                    {
                        var amount = CalcPrice(currency, currencyCode, item.TotalAmount);
                        existingItem.TotalAmount += amount;
                    }

                    if (existingItem.NumItems != null)
                    {
                        existingItem.NumItems += item.NumItems;
                    }

                    _dBContext.DonateCartItem.Update(existingItem);
                    _dBContext.SaveChanges();
                    return(new Result <int>(0));
                }
                else
                {
                    item.CurrencyID = currency.CurrencyID;
                    _dBContext.DonateCartItem.Add(item);
                    _dBContext.SaveChanges();
                    return(new Result <int>(1));
                }
            }
            catch (Exception ex)
            {
                return(new Result <int>(false, ex.Message));
            }
        }