public string UpdateStockInfo(string cusip) { string ticker = ""; if (Stocks.ContainsKey(cusip)) { StockViewObject s = null; Stocks.TryGetValue(cusip, out s); if (s != null) { ticker = s.Ticker; } } return(ticker); }
private void UpdateStockInfo(RealTimePositionObject r) { if (Stocks.ContainsKey(r.Cusip)) { StockViewObject s = null; Stocks.TryGetValue(r.Cusip, out s); if (s != null) { r.Ticker = s.Ticker; r.Company = s.Name; } else { r.Ticker = "zzzzUNKNOWN"; } } }
private void LoadMorningPositions() { //changed this since nthBizday takes holidays into account, but positions table doesnt DateTime dtcDate = Utils.GetNthBusinessDay(ProcessDate, -1); DateTime g1Date = DateTime.Today; // Utils.GetLastWeekDay(ProcessDate); StartingPositionParam g1p = new StartingPositionParam(); g1p.FileDate_Date.AddParamValue(g1Date); g1p.ClearingNo.AddParamValue(Settings.Account); //load all the morning positions //g1pFact.LoadMinimal(G1BodPositions, g1p); g1pFact.Load(G1BodPositions, g1p); //make sure there are some positions if (G1BodPositions.Count < 50) { // throw new Exception("Problem loading G1 positions. Only found " + G1BodPositions.Count); } //get the non NPB data List <StartingPositionObject> tmp = G1BodPositions.FindAll(p => p.TradeCategory != "NPB"); foreach (StartingPositionObject g in tmp) { if (G1NonNpbPositions.ContainsKey(g.Cusip)) { G1NonNpbPositions[g.Cusip].Add(g); } else { List <StartingPositionObject> t = new List <StartingPositionObject>(); t.Add(g); G1NonNpbPositions.Add(g.Cusip, t); } } //get the NPB data G1NpbPositions = G1BodPositions.FindAll(p => p.TradeCategory == "NPB"); //Group NPB Data together by cusip G1NpbPositions = GroupNpb(G1NpbPositions); //load the DTC starting position DtcPositionViewParam dp = new DtcPositionViewParam(); dp.DateofData_Date.AddParamValue(dtcDate); dp.ParticipantID.AddParamValue(Settings.Account.ToInt()); dvFact.Load(DtcBodPositions, dp); //make sure there are some positions if (DtcBodPositions.Count < 1) { // throw new Exception("Problem loading DTC positions. Only found " + DtcBodPositions.Count); } //load occ positions PositionParam occp = new PositionParam(); occp.ActivityDate_Date.AddParamValue(dtcDate); pf.Load(OccBodPositions, occp); //now load all the starting positions from G1 foreach (List <StartingPositionObject> g1 in G1NonNpbPositions.Values) { foreach (StartingPositionObject g in g1) { if (!string.IsNullOrEmpty(g.Cusip) && !DtcBodPositions.ContainsKey(g.Cusip.ToUpper())) { //no dtc position for cusip, add it DtcBodPositions.Add(g.Cusip, new DtcPositionViewObject(dtcDate, g.Cusip, 0, 0, 0, 0, Settings.Account.ToInt(), dtcDate, g.Ticker)); } } } // ------------------------------Alandias------------------------------ //If account is 269, it accounts for overnight deliveries for our 269 account //if (Settings.Account == "269") { List <tblDTFPARTObject> DTFPO = new List <tblDTFPARTObject>(); tblDTFPARTFactory DTFPFact = new tblDTFPARTFactory(); tblDTFPARTParam DTFParam = new tblDTFPARTParam(); DTFParam.DateofData.AddParamValue(DateTime.Today); DTFParam.TransOrigSource.AddParamValue("CFSD", "!="); //Alandias 20130301 //DTFParam.ParticipantNum.AddParamValue("0269"); DTFParam.ParticipantNum.AddParamValue(Settings.Account.PadLeft(4, '0')); DTFParam.SubFunction.AddParamValue("DTFPDQ"); DTFParam.StatusCode.AddParamValue("m"); DTFPFact.Load(DTFPO, DTFParam); List <tblDTFPARTObject> ItemsInDTFPOButNotInDtcBodPositions = new List <tblDTFPARTObject>(); foreach (tblDTFPARTObject t in DTFPO) { if (DtcBodPositions.ContainsKey(t.CUSIP.ToUpper()) || DtcBodPositions.ContainsKey(t.CUSIP)) { switch (t.TransTypeNew.Trim()) { case "026": //026 is deliver DtcBodPositions[t.CUSIP.ToUpper()].UnPledgedQuantity -= Convert.ToInt32(t.ShareQuantity); break; case "027": //027 is receive DtcBodPositions[t.CUSIP.ToUpper()].UnPledgedQuantity += Convert.ToInt32(t.ShareQuantity); break; } } else { ItemsInDTFPOButNotInDtcBodPositions.Add(t); } } foreach (tblDTFPARTObject t in ItemsInDTFPOButNotInDtcBodPositions) { string tempticker = ""; if (Stocks.ContainsKey(t.CUSIP.ToUpper())) { StockViewObject s = null; Stocks.TryGetValue(t.CUSIP.ToUpper(), out s); if (s != null) { tempticker = s.Ticker; } else { tempticker = "zzzzUNKNOWN"; } } Int32 qty = 0; switch (t.TransTypeNew.Trim()) { case "026": //026 is deliver qty -= Convert.ToInt32(t.ShareQuantity); break; case "027": //027 is receive qty += Convert.ToInt32(t.ShareQuantity); break; } if (!DtcBodPositions.ContainsKey(t.CUSIP.ToUpper())) { DtcBodPositions.Add(t.CUSIP.ToUpper(), new DtcPositionViewObject(dtcDate, t.CUSIP.ToUpper(), 0, 0, 0, qty, Settings.Account.ToInt(), dtcDate, tempticker)); } else { DtcBodPositions[t.CUSIP.ToUpper()].UnPledgedQuantity += qty; } Int32 t1 = DtcBodPositions[t.CUSIP.ToUpper()].UnPledgedQuantity; } foreach (var temp in DtcBodPositions) { temp.Value.ShareQuantity = temp.Value.UnPledgedQuantity; } } // -----------END-------------------Alandias--------------------------- a = "1"; }