public Task AddMemberBuyStockAsync(string memberEmail, CountryKind country, string stockID, decimal buyPrice, decimal N, BuySellStrategyType strategy, DateTime buyDate) { IMemberBuyStock memberBuyStock = new MemberBuyStock(memberEmail, country, stockID, buyPrice, N, buyPrice - (2 * N), StockBuyState.Buy, strategy, buyDate); MemberBuyStockTable.Add(memberBuyStock); return(Task.CompletedTask); }
public Task UpdateMemberBuyStockAsync(string memberEmail, CountryKind country, string stockId, decimal stopPrice, StockBuyState newState) { IMemberBuyStock memberStock = MemberBuyStockTable.Find(a => string.Equals(a.MemberEmail, memberEmail, StringComparison.OrdinalIgnoreCase) && a.Country == country); if (memberStock != null && memberStock is MemberBuyStock mStock) { mStock.StopPrice = stopPrice; mStock.State = newState; } return(Task.CompletedTask); }
public Task SetMemberBuyStockBuyStateAsync(string memberEmail, CountryKind country, string stockID, StockBuyState buyState) { IMemberBuyStock stock = MemberBuyStockTable.FirstOrDefault(a => string.Equals(a.MemberEmail, memberEmail, StringComparison.OrdinalIgnoreCase) && a.Country == country && string.Equals(a.StockId, stockID, StringComparison.OrdinalIgnoreCase)); if (!(stock is MemberBuyStock target)) { return(Task.CompletedTask); } target.State = buyState; return(Task.CompletedTask); }
public Task DeleteMemberBuyStockAsync(string memberEmail, CountryKind country, string stockId) { IEnumerable <IMemberBuyStock> items = MemberBuyStockTable.Where(a => string.Equals(a.MemberEmail, memberEmail, StringComparison.OrdinalIgnoreCase) && a.Country == country && string.Equals(a.StockId, stockId, StringComparison.OrdinalIgnoreCase)); if (!items.Any()) { return(Task.CompletedTask); } foreach (IMemberBuyStock item in items) { MemberBuyStockTable.Remove(item); } return(Task.CompletedTask); }
public Task <IReadOnlyList <IMemberBuyStock> > GetMemberBuyStocksAsync(CountryKind country, StockBuyState state) { return(Task.FromResult <IReadOnlyList <IMemberBuyStock> >(MemberBuyStockTable.Where(a => a.Country == country && a.State == state).ToList())); }
public Task <IReadOnlyList <IMemberBuyStock> > GetMemberBuyStocksAsync(string memberEmail) { return(Task.FromResult <IReadOnlyList <IMemberBuyStock> >(MemberBuyStockTable.Where(a => string.Equals(a.MemberEmail, memberEmail, StringComparison.OrdinalIgnoreCase)).ToList())); }