private void NextBtn_Click(object sender, RoutedEventArgs e) { string accountId = AccountIdTextBox.Text; if(String.IsNullOrEmpty(accountId)) { MessageBox.Show("Cannot use an empty account."); return; } using(var context = new DBContext()) { //check if this account exists, otherwise add it Account account; if(context.Accounts.Any(x => x.AccountId == accountId)) { account = context.Accounts.First(x => x.AccountId == accountId); } else { account = new Account { AccountId = accountId }; context.Accounts.Add(account); context.SaveChanges(); } //Now that we have the account, set it everywhere foreach(EquitySummary es in context.EquitySummaries) { es.Account = account; } foreach (DividendAccrual da in context.DividendAccruals) { da.Account = account; } foreach(Order o in context.Orders) { o.Account = account; } foreach(Execution ex in context.Executions) { ex.Account = account; } foreach(FXTransaction fxt in context.FXTransactions) { fxt.Account = account; } foreach(FXPosition fxp in context.FXPositions) { fxp.Account = account; } foreach(CashTransaction ct in context.CashTransactions) { ct.Account = account; } foreach (OpenPosition op in context.OpenPositions) { op.Account = account; } foreach(PriorPosition pp in context.PriorPositions) { pp.Account = account; } context.SaveChanges(); } _appliedChanges = true; MessageBox.Show("Success!"); Close(); }
public static void DoSeed() { var context = new DBContext(); var currencies = new List<Currency> { new Currency { Name = "USD" }, new Currency { Name = "CAD" }, new Currency { Name = "GBP" }, new Currency { Name = "EUR" }, new Currency { Name = "CHF" }, new Currency { Name = "JPY" }, new Currency { Name = "AUD" }, new Currency { Name = "SEK" }, new Currency { Name = "HKD" }, new Currency { Name = "NOK" }, new Currency { Name = "HUF" }, new Currency { Name = "SAR" }, new Currency { Name = "BGL" }, new Currency { Name = "TWD" }, new Currency { Name = "CZK" }, new Currency { Name = "DKK" }, new Currency { Name = "ILS" }, new Currency { Name = "ISK" }, new Currency { Name = "KRW" }, new Currency { Name = "PLN" }, new Currency { Name = "BRL" }, new Currency { Name = "ROL" }, new Currency { Name = "RUR" }, new Currency { Name = "HRK" }, new Currency { Name = "ALL" }, new Currency { Name = "THB" }, new Currency { Name = "TRY" }, new Currency { Name = "PKR" }, new Currency { Name = "IDR" }, new Currency { Name = "UAH" }, new Currency { Name = "BYB" }, new Currency { Name = "EEK" }, new Currency { Name = "LVL" }, new Currency { Name = "LTL" }, new Currency { Name = "IRR" }, new Currency { Name = "VND" }, new Currency { Name = "AMD" }, new Currency { Name = "AZM" }, new Currency { Name = "MKD" }, new Currency { Name = "ZAR" }, new Currency { Name = "GEL" }, new Currency { Name = "INR" }, new Currency { Name = "MYR" }, new Currency { Name = "KZT" }, new Currency { Name = "KGS" }, new Currency { Name = "KES" }, new Currency { Name = "UZS" }, new Currency { Name = "MNT" }, new Currency { Name = "SYP" }, new Currency { Name = "MVR" }, new Currency { Name = "IQD" }, new Currency { Name = "CNY" }, new Currency { Name = "MXN" }, new Currency { Name = "CSD" }, new Currency { Name = "BNd" }, new Currency { Name = "EGP" }, new Currency { Name = "LYD" }, new Currency { Name = "SGD" }, new Currency { Name = "GTQ" }, new Currency { Name = "DZD" }, new Currency { Name = "MOP" }, new Currency { Name = "NZD" }, new Currency { Name = "CRC" }, new Currency { Name = "MAD" }, new Currency { Name = "PAB" }, new Currency { Name = "TND" }, new Currency { Name = "DOP" }, new Currency { Name = "OMR" }, new Currency { Name = "JMD" }, new Currency { Name = "VEB" }, new Currency { Name = "YER" }, new Currency { Name = "COP" }, new Currency { Name = "BZD" }, new Currency { Name = "PEN" }, new Currency { Name = "JOD" }, new Currency { Name = "TTD" }, new Currency { Name = "ARS" }, new Currency { Name = "LBP" }, new Currency { Name = "ZWD" }, new Currency { Name = "KWD" }, new Currency { Name = "PHP" }, new Currency { Name = "CLP" }, new Currency { Name = "AED" }, new Currency { Name = "UYU" }, new Currency { Name = "BHD" }, new Currency { Name = "PYG" }, new Currency { Name = "QAR" }, new Currency { Name = "BOB" }, new Currency { Name = "HNL" }, new Currency { Name = "NIO" }, new Currency { Name = "ETB" }, new Currency { Name = "AFN" }, new Currency { Name = "BDT" }, new Currency { Name = "XOF" }, new Currency { Name = "RWF" }, new Currency { Name = "RUB" }, new Currency { Name = "NPR" }, new Currency { Name = "RSD" }, new Currency { Name = "LKR" }, new Currency { Name = "LAK" }, new Currency { Name = "KHR" }, new Currency { Name = "TMT" }, new Currency { Name = "BAM" }, new Currency { Name = "TJS" }, new Currency { Name = "CNH" } }; context.Currencies.AddRange(currencies); context.SaveChanges(); var tags = new List<Tag> { new Tag { Name = "Side: Long" }, new Tag { Name = "Side: Short" }, new Tag { Name = "Side: Long/Short" }, new Tag { Name = "Market: Developed" }, new Tag { Name = "Market: Emerging" }, new Tag { Name = "Length: Intraday" }, new Tag { Name = "Length: Overnight" }, new Tag { Name = "Length: Swing" }, new Tag { Name = "Length: Long Term" }, new Tag { Name = "Asset class: Equities" }, new Tag { Name = "Asset class: Futures" }, new Tag { Name = "Asset class: Options" }, new Tag { Name = "Asset class: Bonds" }, new Tag { Name = "Asset class: Other" } }; context.Tags.AddRange(tags); var preferredDatasources = new List<DatasourcePreference> { new DatasourcePreference { AssetClass = AssetClass.Bag, Datasource = "Interactive Brokers"}, new DatasourcePreference { AssetClass = AssetClass.Bill, Datasource = "Interactive Brokers"}, new DatasourcePreference { AssetClass = AssetClass.Bond, Datasource = "Interactive Brokers"}, new DatasourcePreference { AssetClass = AssetClass.Cash, Datasource = "Interactive Brokers"}, new DatasourcePreference { AssetClass = AssetClass.CFD, Datasource = "Interactive Brokers"}, new DatasourcePreference { AssetClass = AssetClass.Commodity, Datasource = "Interactive Brokers"}, new DatasourcePreference { AssetClass = AssetClass.Future, Datasource = "Interactive Brokers"}, new DatasourcePreference { AssetClass = AssetClass.FutureOption, Datasource = "Interactive Brokers"}, new DatasourcePreference { AssetClass = AssetClass.Index, Datasource = "Interactive Brokers"}, new DatasourcePreference { AssetClass = AssetClass.Option, Datasource = "Interactive Brokers"}, new DatasourcePreference { AssetClass = AssetClass.Stock, Datasource = "Yahoo"}, new DatasourcePreference { AssetClass = AssetClass.Warrant, Datasource = "Interactive Brokers"}, new DatasourcePreference { AssetClass = AssetClass.Undefined, Datasource = "Interactive Brokers"}, }; context.DatasourcePreferences.AddRange(preferredDatasources); context.SaveChanges(); context.Dispose(); }
private void ParseAccounts(XContainer xml, DBContext context) { IEnumerable<XElement> statements = xml.Descendants("FlexStatement"); foreach(XElement e in statements) { var accountId = e.Attribute("accountId").Value; if(!context.Accounts.Any(x => x.AccountId == accountId)) { context.Accounts.Add(new Account { AccountId = accountId}); } } context.SaveChanges(); }