public static List <CRSData> getCrsLogMessage(string messageType, DateTime startTime, DateTime endTime, string CRSDBConnectionStr = null, bool isRetry = true, string TransactionDesc = null)
        {
            List <CRSData> dataList = new List <CRSData>();

            //Thread.Sleep(2000);
            if (null == CRSDBConnectionStr || CRSDBConnectionStr.Length == 0)
            {
                CRSDBConnectionStr = connectionString;
            }
            using (SqlConnection conn = new SqlConnection(CRSDBConnectionStr))
            {
                string CommandText = string.Format("select request.CRSLogNumber, request.CRSRequest , response.CRSResponse, request.DateAdded, request.OriginatingGUID, travelServer.Name, request.WebServerCluster from dtCRSLogRequest request "
                                                   + "join dtCRSLogResponse response on request.CRSLogNumber = response.CRSLogNumber "
                                                   + "join dmTravelServer travelServer on travelServer.TravelServer = request.TravelServer "
                                                   + "where request.TransactionType = '{0}' and request.DateAdded > '{1}' and request.DateAdded < '{2}' and CRSRequest is not null and CRSResponse is not null ", messageType, startTime.ToString(), endTime.ToString());
                if (null != TransactionDesc)
                {
                    CommandText += string.Format(" and TransactionDesc like '{0}%'", TransactionDesc);
                }

                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandTimeout = 0;
                conn.Open();
                cmd.CommandText    = CommandText;
                cmd.CommandTimeout = 0;

                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    CRSData data = new CRSData();
                    data.CRSLogNumber    = reader["CRSLogNumber"].ToString();
                    data.CRSRequest      = (byte[])reader["CRSRequest"];
                    data.CRSResponse     = (byte[])reader["CRSResponse"];
                    data.OriginatingGUID = reader["OriginatingGUID"].ToString();
                    data.dateAdded       = reader["DateAdded"].ToString();
                    data.TravelServer    = reader["Name"].ToString();
                    data.TPID            = int.Parse(reader["WebServerCluster"].ToString());
                    dataList.Add(data);
                }

                conn.Close();
            }

            if (!isRetry)
            {
                return(dataList);
            }
            else
            {
                var para     = new object[] { messageType, startTime, endTime, CRSDBConnectionStr, isRetry };
                var paraNext = new object[] { messageType
                                              , startTime.AddSeconds(-1 * RetryLogic.Instance.RetryIncrementSecondsGet())
                                              , endTime.AddSeconds(RetryLogic.Instance.RetryIncrementSecondsGet())
                                              , CRSDBConnectionStr, isRetry };
                return(RetryLogic.Instance.CheckRetry <List <CRSData> >(dataList, MethodBase.GetCurrentMethod(), para, paraNext));
            }
        }
 void LoadData()
 {
     try
     {
         crsData = crsdata.ReadObject <CRSData>();
     }
     catch
     {
         crsData = new CRSData();
     }
 }
        public static List <CRSData> GetCRSLogMessageWithTimeDuration(string messageType, DateTime startTime, DateTime endTime, int tuid, string description = null, bool isRetry = true)
        {
            List <CRSData> dataList = new List <CRSData>();

            //Thread.Sleep(2000);
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                //If there is description in the parameters, set it as the query condition
                string transactionDescQueryString = (null != description) ? string.Format("and TransactionDesc like '%{0}%'", description) : "";

                string CommandText = string.Format("select request.CRSRequest , response.CRSResponse,request.TransactionDesc, request.DateAdded, request.OriginatingGUID, request.CRSLogNumber,"
                                                   + " response.DateAdded as ResponseDateAdded  from dtCRSLogRequest request "
                                                   + "join dtCRSLogResponse response on request.CRSLogNumber = response.CRSLogNumber where request.TransactionType = '{0}'"
                                                   + "and request.DateAdded > '{1}' and request.DateAdded < '{2}' and request.TUID = {3} {4} and CRSRequest is not null  order by request.CRSLogNumber desc",
                                                   messageType, startTime.ToString(), endTime.ToString(), tuid, transactionDescQueryString);
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandTimeout = 0;
                conn.Open();
                cmd.CommandText    = CommandText;
                cmd.CommandTimeout = 0;

                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    CRSData data = new CRSData();
                    data.CRSRequest      = (byte[])reader["CRSRequest"];
                    data.CRSResponse     = (byte[])reader["CRSResponse"];
                    data.OriginatingGUID = reader["OriginatingGUID"].ToString();
                    data.dateAdded       = reader["DateAdded"].ToString();
                    data.TransactionDesc = reader["TransactionDesc"].ToString();
                    data.CRSLogNumber    = reader["CRSLogNumber"].ToString();
                    dataList.Add(data);
                }

                conn.Close();
            }

            if (!isRetry)
            {
                return(dataList);
            }
            else
            {
                var para     = new object[] { messageType, startTime, endTime, tuid, description, isRetry };
                var paraNext = new object[] { messageType
                                              , startTime.AddSeconds(-1 * RetryLogic.Instance.RetryIncrementSecondsGet())
                                              , endTime.AddSeconds(RetryLogic.Instance.RetryIncrementSecondsGet())
                                              , tuid, description, isRetry };
                return(RetryLogic.Instance.CheckRetry <List <CRSData> >(dataList, MethodBase.GetCurrentMethod(), para, paraNext));
            }
        }
        public static List <CRSData> getCrsLogMessage_OnlyRequest(string messageType, DateTime startTime, string tuid = null, bool autoAdjustTime = false, bool isRetry = true)
        {
            List <CRSData> dataList = new List <CRSData>();

            //Thread.Sleep(2000);
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                //Adjust the query start time based on the difference between system DateTime on the machine automation is running and DB server.
                if (autoAdjustTime)
                {
                    startTime = GetAdjustedQueryStartTime(startTime);
                }

                string equalTuidQueryString = (null != tuid) ? string.Format(" and TUID ={0}", tuid) : "";

                string CommandText = string.Format("select CRSRequest,OriginatingGUID, DateAdded,CRSLogNumber from dtCRSLogRequest where TransactionType = '{0}' and DateAdded > '{1}' {2}",
                                                   messageType, startTime, equalTuidQueryString);

                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandTimeout = 0;
                conn.Open();
                cmd.CommandText    = CommandText;
                cmd.CommandTimeout = 0;

                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    CRSData data = new CRSData();
                    data.CRSRequest        = (byte[])reader["CRSRequest"];
                    data.CRSResponse       = null;
                    data.OriginatingGUID   = reader["OriginatingGUID"].ToString();
                    data.dateAdded         = reader["DateAdded"].ToString();
                    data.CRSLogNumber      = reader["CRSLogNumber"].ToString();
                    data.ResponseDateAdded = null;
                    dataList.Add(data);
                }

                conn.Close();
            }

            if (!isRetry)
            {
                return(dataList);
            }
            else
            {
                var para     = new object[] { messageType, startTime, tuid, false, isRetry };
                var paraNext = new object[] { messageType, startTime.AddSeconds(-1 * RetryLogic.Instance.RetryIncrementSecondsGet()), tuid, false, isRetry };
                return(RetryLogic.Instance.CheckRetry <List <CRSData> >(dataList, MethodBase.GetCurrentMethod(), para, paraNext));
            }
        }
Beispiel #5
0
            /// <summary>
            /// Project given vector from this CRS to the given one
            /// </summary>
            public Vector3D Project(Vector3D v, CRSData to)
            {
                v = new Vector3D(v.X, v.Y);

                if (IsCustom || to.IsCustom)
                {
                    var custom = (CustomCRSInfo == null) ? to.CustomCRSInfo : CustomCRSInfo;
                    return(custom.CustomProject(v, this, to));
                }
                else
                {
                    var xy = new double[] { v.X, v.Y };
                    var z  = new double[] { v.Z };
                    Reproject.ReprojectPoints(xy, z, ProjectionInfo, to.ProjectionInfo, 0, 1);
                    return(new Vector3D(xy[0], xy[1], z[0]));
                }
            }
        /*
         * equalGUID: if we want to query CRSLog which has the same OriginatingGUID as antoher CRSLog message, set this value
         * notEqualGUID: if we want to query CRSLog which has the different OriginatingGUID as antoher CRSLog message, set this value
         * OriginatingGUID: this value will be logged the same for the same action, e.g - if we do a CarBS search, CSSR, CCSR and all the VAQs will have the same OriginatingGUID
         * Note: Different actions will have different OriginatingGUID, e.g - if one TC do a search then GetDetails, all the search messages will have one OriginatingGUID, all GetDetails messages will have another OriginatingGUID
         */
        public static List <CRSData> getCrsLogMessage(string messageType, DateTime startTime, int tuid, string description = null, bool autoAdjustTime = false,
                                                      string equalGUID = null, string notEqualGUID = null, bool responseNeedNotNull = true, bool isRetry = true, string requestServerName = null)
        {
            List <CRSData> dataList = new List <CRSData>();

            //Thread.Sleep(2000);
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                //Adjust the query start time based on the difference between system DateTime on the machine automation is running and DB server.
                if (autoAdjustTime)
                {
                    startTime = GetAdjustedQueryStartTime(startTime);
                }

                //If there is description in the parameters, set it as the query condition
                string transactionDescQueryString = (null != description) ? string.Format("and TransactionDesc like '%{0}%'", description) : "";

                //If OriginatingGUID is not null, set it as query condition
                string equalGUIDQueryString    = (null != equalGUID) ? string.Format("and request.OriginatingGUID = '{0}'", equalGUID) : "";
                string notEqualGUIDQueryString = (null != notEqualGUID) ? string.Format("and request.OriginatingGUID <> '{0}'", notEqualGUID) : "";

                //Response not null
                string responseNotNullQueryString = responseNeedNotNull ? "and CRSResponse is not null" : "";

                //Request server name
                string reqServerNQueryString = string.IsNullOrEmpty(requestServerName) ? "" : string.Format("and RequestServerName ='{0}'", requestServerName);

                string CommandText = string.Format("select request.CRSRequest , response.CRSResponse, request.DateAdded, request.OriginatingGUID, request.CRSLogNumber, response.DateAdded as ResponseDateAdded  from dtCRSLogRequest request "
                                                   + "join dtCRSLogResponse response on request.CRSLogNumber = response.CRSLogNumber where request.TransactionType = '{0}'"
                                                   + "and request.DateAdded > '{1}' and request.TUID = {2} {3} {4} {5} {6} and CRSRequest is not null {7} order by request.CRSLogNumber desc",
                                                   messageType, startTime.ToString(), tuid, transactionDescQueryString, equalGUIDQueryString, notEqualGUIDQueryString, reqServerNQueryString, responseNotNullQueryString);
                Console.WriteLine("CommandText: " + CommandText);

                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandTimeout = 0;
                conn.Open();
                cmd.CommandText    = CommandText;
                cmd.CommandTimeout = 0;

                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    CRSData data = new CRSData();
                    data.CRSRequest        = (byte[])reader["CRSRequest"];
                    data.CRSResponse       = (null == reader["CRSResponse"] || reader["CRSResponse"].ToString().Length == 0) ? null : (byte[])reader["CRSResponse"];
                    data.OriginatingGUID   = reader["OriginatingGUID"].ToString();
                    data.dateAdded         = reader["DateAdded"].ToString();
                    data.CRSLogNumber      = reader["CRSLogNumber"].ToString();
                    data.ResponseDateAdded = reader["ResponseDateAdded"].ToString();
                    dataList.Add(data);
                }

                conn.Close();
            }

            if (!isRetry)
            {
                return(dataList);
            }
            else
            {
                var      para     = new object[] { messageType, startTime, tuid, description, false, equalGUID, notEqualGUID, responseNeedNotNull, isRetry, requestServerName };
                object[] paraNext = new object[] { messageType, startTime.AddSeconds(-1 * RetryLogic.Instance.RetryIncrementSecondsGet()), tuid, description, false, equalGUID, notEqualGUID, responseNeedNotNull, isRetry, requestServerName };
                return(RetryLogic.Instance.CheckRetry <List <CRSData> >(dataList, MethodBase.GetCurrentMethod(), para, paraNext));
            }
        }
Beispiel #7
0
 /// <summary>
 /// Project this vector from the given CRS to the other one
 /// </summary>
 public static Vector3D Project(this Vector3D v, CRSData from, CRSData to)
 {
     return(from.Project(v, to));
 }