public OrderSessionInfo ProcesssarOrderSession(string fileName) { try { OrderSessionInfo ret = new OrderSessionInfo(); SqlDataAdapter lAdapter; AbrirConexao(_strConnectionStringDefault); DataSet lDataSet = new DataSet(); _sqlCommand = new SqlCommand("prc_fix_ordersession_consultar", _sqlConn); _sqlCommand.CommandType = System.Data.CommandType.StoredProcedure; _sqlCommand.Parameters.Add(new SqlParameter("@FileName", fileName)); lAdapter = new SqlDataAdapter(_sqlCommand); lAdapter.Fill(lDataSet); foreach (DataRow lRow in lDataSet.Tables[0].Rows) { ret.Id = lRow["Id_session"].DBToInt32(); ret.FileName = lRow["FileName"].DBToString(); } FecharConexao(); return(ret); } catch (Exception ex) { FecharConexao(); logger.Error("ProcesssarOrderSession(): " + ex.Message, ex); return(null); } }
public static Dictionary <string, OrderSessionInfo> LoadOrderSessions() { Stream stream = null; Dictionary <string, OrderSessionInfo> lista = new Dictionary <string, OrderSessionInfo>(); try { logger.Info("Restaurando tabela ordem x sessoes "); string path = ConfigurationManager.AppSettings["OrderSessionsFile"].ToString(); stream = File.Open(path, FileMode.Open); BinaryFormatter bformatter = new BinaryFormatter(); long qtdeitens = (long)bformatter.Deserialize(stream); logger.Info("Restaurando " + qtdeitens + " itens"); for (int i = 0; i < qtdeitens; i++) { OrderSessionInfo info = new OrderSessionInfo(); info.ClOrderID = (string)bformatter.Deserialize(stream); info.OrdStatus = (OrdemStatusEnum)bformatter.Deserialize(stream); info.SenderCompID = (string)bformatter.Deserialize(stream); info.TargetCompID = (string)bformatter.Deserialize(stream); string beginstr = (string)bformatter.Deserialize(stream); info.SessionID = new QuickFix.SessionID(beginstr, info.SenderCompID, info.TargetCompID); lista.Add(info.ClOrderID, info); } stream.Close(); stream = null; logger.Info("Itens restaurados"); } catch (Exception ex) { logger.Error("LoadOrderSessions: " + ex.Message, ex); } finally { if (stream != null) { stream.Close(); } } return(lista); }