public LoginViewModel(IDataService data)
 {
     this.data        = data;
     this.locator     = (ViewModelLocator)App.Current.Resources["Locator"];
     confirmedCounter = -1;
     data.AddNewFundInformationAvailableCallback(OnNewFundDepotAvailable);
     SubmitCommand = new RelayCommand(Submit, () => !FundID.Equals(string.Empty) && !submitted);
     FundID        = string.Empty;
     Exchanges     = new ObservableCollection <string>(data.LoadExchangeInformation());
     Registrations = new ObservableCollection <RegistrationInfo>(Exchanges.Select(x => new RegistrationInfo {
         ExchangeName = x, Budget = 0, Register = false
     }));
     ButtonText = "Submit";
     submitted  = false;
 }
Exemple #2
0
        } //dg_Match_UserAddedRow()

        private void CreateOrder(int inRow)
        {
            // TODO (1) CreateOrder() - Quick Cheat for now - assumes 1 row in dg_Match
            // Local Variables
            String myTable   = "Orders";
            String myColumns = "";
            String Ticker    = "";
            String Exch      = "";
            String YellowKey = "";
            int    myRows;
            int    FundID;
            int    PortfolioID;

            FundID      = SystemLibrary.ToInt32(dg_Match["FundID", inRow].Value);
            PortfolioID = SystemLibrary.ToInt32(dg_Match["PortfolioID", inRow].Value);

            SendToBloomberg.EMSTickerSplit(Order.BBG_Ticker, ref Ticker, ref Exch, ref YellowKey);

            // -- Place the Order
            DataTable dt_load = SystemLibrary.SQLBulk_GetDefinition(myColumns, myTable);
            DataRow   drSQL   = dt_load.NewRow();

            drSQL["OrderRefID"]    = Order.OrderRefID;
            drSQL["EMSX_Sequence"] = Order.OrderRefID;
            drSQL["EffectiveDate"] = Order.TradeDate;
            drSQL["BBG_Ticker"]    = Order.BBG_Ticker;
            drSQL["Exchange"]      = Exch.ToUpper();
            drSQL["Crncy"]         = Order.crncy;
            drSQL["Quantity"]      = Order.Qty_Fill;
            drSQL["Side"]          = SendToBloomberg.GetSide(Ticker, YellowKey, Order.Country, 0, Order.Qty_Fill).ToUpper();
            drSQL["OrderType"]     = "";
            // drSQL["Limit"] = dr["Limit"];
            drSQL["TimeinForce"]     = "";
            drSQL["UserName"]        = SystemInformation.UserName;
            drSQL["UpdateDate"]      = SystemLibrary.f_Now();
            drSQL["ProcessedEOD"]    = "N";
            drSQL["ManualOrder"]     = "N";
            drSQL["Order_Completed"] = "N";
            drSQL["CreatedDate"]     = SystemLibrary.f_Now();
            dt_load.Rows.Add(drSQL);
            myRows = SystemLibrary.SQLBulkUpdate(dt_load, myColumns, myTable);
            // Process the Splits
            SystemLibrary.SQLExecute("Exec sp_OrderSplits '" + drSQL["OrderRefID"].ToString() + "', " + FundID.ToString() + ", " + PortfolioID.ToString() + ", " + Order.Round_Lot_Size.ToString());
            // Reprocess the Fill, so get the Fill_Allocations
            SystemLibrary.SQLExecute("Exec sp_ReprocessFillbyRef '" + drSQL["OrderRefID"].ToString() + "' ");

            SystemLibrary.SQLExecute("Exec sp_Update_Positions 'Y' ");
            if (ParentForm1 != null)
            {
                ParentForm1.LoadPortfolio(true);
            }
        } //CreateOrder()