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