public async Task InsertSampleData()
        {
            await Task.Run(async() =>
            {
                _Context.Database.ExecuteSqlCommand(@"
                    CREATE PROCEDURE dbo.DeleteSecuritiesAndExchanges

                    AS
	                    BEGIN
	 
	                            BEGIN TRANSACTION
		                    BEGIN TRY
			                    DELETE FROM Position;   
			                    DELETE FROM Stock;
			                    DELETE FROM MutualFund;
			                    DELETE FROM Exchange; 
			                    DELETE FROM MarketIndex;
			                    COMMIT TRANSACTION
			                    SELECT 0				
		                    END TRY
		                    BEGIN CATCH
			                    ROLLBACK TRANSACTION
			                    SELECT -1		
		                    END CATCH
	
	                    END
                    ");

                _Context.Database.ExecuteSqlCommand(@"
                    CREATE PROCEDURE dbo.DeleteAccounts

                    AS
	                    BEGIN

		                    BEGIN TRANSACTION
			                    BEGIN TRY
				                    DELETE FROM [Order];                                              
				                    DELETE FROM BrokerageAccount;
				                    DELETE FROM Customer;					
				                    COMMIT TRANSACTION
				                    SELECT 0				
			                    END TRY
			                    BEGIN CATCH
				                    ROLLBACK TRANSACTION
				                    SELECT -1		
			                    END CATCH
	                    END	
	                "    );

                await _SecurityRepository.InsertSecurityDataAsync();
                await _MarketsAndNewsRepository.InsertMarketDataAsync();
                await _AccountRepository.CreateCustomerAsync();
                await _AccountRepository.CreateAccountPositionsAsync();
            });
        }
Esempio n. 2
0
        public async Task InsertSampleData()
        {
            await Task.Run(async() =>
            {
                /*
                 * Removing so the app works with Sqlite
                 *
                 * var deleteSecuritiesExchanges = @"
                 *  CREATE PROCEDURE dbo.DeleteSecuritiesAndExchanges
                 *
                 *  AS
                 *          BEGIN
                 *
                 *                          BEGIN TRANSACTION
                 *                  BEGIN TRY
                 *                          DELETE FROM Positions;
                 *                          DELETE FROM Stocks;
                 *                          DELETE FROM MutualFunds;
                 *                          DELETE FROM Exchanges;
                 *                          DELETE FROM MarketIndexes;
                 *                          COMMIT TRANSACTION
                 *                          SELECT 0
                 *                  END TRY
                 *                  BEGIN CATCH
                 *                          ROLLBACK TRANSACTION
                 *                          SELECT -1
                 *                  END CATCH
                 *
                 *          END
                 *  ";
                 *
                 * var deleteAccounts = @"
                 *  CREATE PROCEDURE dbo.DeleteAccounts
                 *
                 *  AS
                 *          BEGIN
                 *
                 *                  BEGIN TRANSACTION
                 *                          BEGIN TRY
                 *                                  DELETE FROM Orders;
                 *                                  DELETE FROM BrokerageAccounts;
                 *                                  DELETE FROM Customers;
                 *                                  COMMIT TRANSACTION
                 *                                  SELECT 0
                 *                          END TRY
                 *                          BEGIN CATCH
                 *                                  ROLLBACK TRANSACTION
                 *                                  SELECT -1
                 *                          END CATCH
                 *          END
                 *      ";
                 */

                using (var connection = _Context.Database.GetDbConnection())
                {
                    connection.Open();

                    /*
                     * using (var command = connection.CreateCommand())
                     * {
                     *  command.CommandText = deleteSecuritiesExchanges;
                     *  command.ExecuteNonQuery();
                     *
                     *  command.CommandText = deleteAccounts;
                     *  command.ExecuteNonQuery();
                     * }
                     */

                    await _SecurityRepository.InsertSecurityDataAsync();
                    await _MarketsAndNewsRepository.InsertMarketDataAsync();
                    await _AccountRepository.CreateCustomerAsync();
                    await _AccountRepository.CreateAccountPositionsAsync();
                }
            });
        }
        public async Task InsertSampleData()
        {
            await Task.Run(async() =>
            {
                var deleteSecuritiesExchanges = @"
                    CREATE PROCEDURE dbo.DeleteSecuritiesAndExchanges

                    AS
	                    BEGIN
	 
	                            BEGIN TRANSACTION
		                    BEGIN TRY
			                    DELETE FROM Positions;   
			                    DELETE FROM Stocks;
			                    DELETE FROM MutualFunds;
			                    DELETE FROM Exchanges; 
			                    DELETE FROM MarketIndexes;
			                    COMMIT TRANSACTION
			                    SELECT 0				
		                    END TRY
		                    BEGIN CATCH
			                    ROLLBACK TRANSACTION
			                    SELECT -1		
		                    END CATCH
	
	                    END
                    ";

                var deleteAccounts = @"
                    CREATE PROCEDURE dbo.DeleteAccounts

                    AS
	                    BEGIN

		                    BEGIN TRANSACTION
			                    BEGIN TRY
				                    DELETE FROM Orders;                                              
				                    DELETE FROM BrokerageAccounts;
				                    DELETE FROM Customers;					
				                    COMMIT TRANSACTION
				                    SELECT 0				
			                    END TRY
			                    BEGIN CATCH
				                    ROLLBACK TRANSACTION
				                    SELECT -1		
			                    END CATCH
	                    END	
	                "    ;

                using (var connection = _Context.Database.GetDbConnection())
                {
                    connection.Open();

                    using (var command = connection.CreateCommand())
                    {
                        command.CommandText = deleteSecuritiesExchanges;
                        command.ExecuteNonQuery();

                        command.CommandText = deleteAccounts;
                        command.ExecuteNonQuery();
                    }

                    await _SecurityRepository.InsertSecurityDataAsync();
                    await _MarketsAndNewsRepository.InsertMarketDataAsync();
                    await _AccountRepository.CreateCustomerAsync();
                    await _AccountRepository.CreateAccountPositionsAsync();
                }
            });
        }