public DbOperationStatus InsertStock(Stock stock)
        {
            var opStatus = new DbOperationStatus
            {
                OperationSuccessStatus = false,
                AffectedIndices        = new List <int>()
            };

            try
            {
                DataContext.Set <Stock>().Add(stock);
                opStatus.OperationSuccessStatus = DataContext.SaveChanges() > 0;
                if (opStatus.OperationSuccessStatus)
                {
                    opStatus.AffectedIndices.Add(stock.Id);
                }
            }
            catch (Exception ex)
            {
                opStatus = DbOperationStatus.CreateFromException("Error inserting " + stock.GetType(), ex);
            }
            return(opStatus);
        }
        public DbOperationStatus InsertPurchaseTransaction(PurchaseTransaction purchaseTransaction)
        {
            var opStatus = new DbOperationStatus
            {
                OperationSuccessStatus = false,
                AffectedIndices        = new List <int>()
            };

            try
            {
                DataContext.Set <PurchaseTransaction>().Add(purchaseTransaction);
                opStatus.OperationSuccessStatus = DataContext.SaveChanges() > 0;
                if (opStatus.OperationSuccessStatus)
                {
                    opStatus.AffectedIndices.Add(purchaseTransaction.Id);
                }
            }
            catch (Exception ex)
            {
                opStatus = DbOperationStatus.CreateFromException("Error inserting " + purchaseTransaction.GetType(), ex);
            }
            return(opStatus);
        }
        public DbOperationStatus InsertMutualFund(MutualFund mutualFund)
        {
            var opStatus = new DbOperationStatus
            {
                OperationSuccessStatus = false,
                AffectedIndices        = new List <int>()
            };

            try
            {
                DataContext.Set <MutualFund>().Add(mutualFund);
                opStatus.OperationSuccessStatus = DataContext.SaveChanges() > 0;
                if (opStatus.OperationSuccessStatus)
                {
                    opStatus.AffectedIndices.Add(mutualFund.Id);
                }
            }
            catch (Exception ex)
            {
                opStatus = DbOperationStatus.CreateFromException("Error inserting " + mutualFund.GetType(), ex);
            }
            return(opStatus);
        }
        public DbOperationStatus InsertBrokerageAccount(BrokerageAccount brokerageAccount)
        {
            var opStatus = new DbOperationStatus
            {
                OperationSuccessStatus = false,
                AffectedIndices        = new List <int>()
            };

            try
            {
                DataContext.Set <BrokerageAccount>().Add(brokerageAccount);
                opStatus.OperationSuccessStatus = DataContext.SaveChanges() > 0;
                if (opStatus.OperationSuccessStatus)
                {
                    opStatus.AffectedIndices.Add(brokerageAccount.Id);
                }
            }
            catch (Exception ex)
            {
                opStatus = DbOperationStatus.CreateFromException("Error inserting " + brokerageAccount.GetType(), ex);
            }
            return(opStatus);
        }