Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 2
0
        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);
        }