Beispiel #1
0
        public override int GetHashCode()
        {
            var hashCode = 1633326048;

            hashCode = hashCode * -1521134295 + PortfolioID.GetHashCode();
            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Username);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Password);

            hashCode = hashCode * -1521134295 + WriteAuthority.GetHashCode();
            hashCode = hashCode * -1521134295 + EqualityComparer <Dictionary <string, Asset> > .Default.GetHashCode(Assets);

            return(hashCode);
        }
Beispiel #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()