示例#1
0
        public void Delete(DateTime dateTime, Guid accountId, params Type[] types)
        {
            foreach (var type in types)
            {
                SQLiteCommand cmd = null;

                if (type == typeof(Commodity))
                {
                    continue;
                }
                else if (type == typeof(User))
                {
                    continue;
                }
                else if (type == typeof(Account))
                {
                    continue;
                }
                else if (type == typeof(ClosedTradeDetail))
                {
                    string sql = "DELETE FROM ClosedTradeDetail WHERE AccountId=@AccountId AND ActualDate>=@Date";
                    cmd = new SQLiteCommand(sql);
                    ClosedTradeDetails.RemoveAll(m => m.AccountId == accountId && m.ActualDate >= dateTime.Date);
                }
                else if (type == typeof(CommoditySummarization))
                {
                    string sql = "DELETE FROM CommoditySummarization WHERE AccountId=@AccountId AND Date>=@Date";
                    cmd = new SQLiteCommand(sql);
                    CommoditySummarizations.RemoveAll(m => m.AccountId == accountId && m.Date >= dateTime.Date);
                }
                else if (type == typeof(FundStatus))
                {
                    string sql = "DELETE FROM FundStatus WHERE AccountId=@AccountId AND Date>=@Date";
                    cmd = new SQLiteCommand(sql);
                    FundStatus.RemoveAll(m => m.AccountId == accountId && m.Date >= dateTime.Date);
                }
                else if (type == typeof(Parameter))
                {
                    continue;
                }
                else if (type == typeof(PositionDetail))
                {
                    string sql = "DELETE FROM PositionDetail WHERE AccountId=@AccountId AND DateForPosition>=@Date";
                    cmd = new SQLiteCommand(sql);
                    PositionDetails.RemoveAll(m => m.AccountId == accountId && m.DateForPosition >= dateTime.Date);
                }
                else if (type == typeof(Position))
                {
                    string sql = "DELETE FROM Position WHERE AccountId=@AccountId AND Date>=@Date";
                    cmd = new SQLiteCommand(sql);
                    Positions.RemoveAll(m => m.AccountId == accountId && m.Date >= dateTime.Date);
                }
                else if (type == typeof(Remittance))
                {
                    string sql = "DELETE FROM Remittance WHERE AccountId=@AccountId AND Date>=@Date";
                    cmd = new SQLiteCommand(sql);
                    Remittances.RemoveAll(m => m.AccountId == accountId && m.Date >= dateTime.Date);
                }
                else if (type == typeof(Stock))
                {
                    string sql = "DELETE FROM Stock WHERE AccountId=@AccountId AND Date>=@Date";
                    cmd = new SQLiteCommand(sql);
                    Stocks.RemoveAll(m => m.AccountId == accountId && m.Date >= dateTime.Date);
                }
                else if (type == typeof(TradeDetail))
                {
                    string sql = "DELETE FROM TradeDetail WHERE AccountId=@AccountId AND ActualTime>=@Date";
                    cmd = new SQLiteCommand(sql);
                    TradeDetails.RemoveAll(m => m.AccountId == accountId && m.ActualTime >= dateTime.Date);
                }
                else if (type == typeof(Trade))
                {
                    string sql = "DELETE FROM Trade WHERE AccountId=@AccountId AND Date>=@Date";
                    cmd = new SQLiteCommand(sql);
                    Trades.RemoveAll(m => m.AccountId == accountId && m.Date >= dateTime.Date);
                }
                else
                {
                    continue;
                }
                cmd.Parameters.AddWithValue("@AccountId", accountId.ToString());
                cmd.Parameters.AddWithValue("@Date", dateTime.Date);
                cmds.Add(cmd);
            }
        }