public CustomerMarketPlaceRepository(ISession session) : base(session)
 {
     m_oRetryer = new SqlRetryer(
         3,
         500,
         new SafeILog(LogManager.GetLogger(typeof(CustomerMarketPlaceRepository)))
         );
 }
		public Customer Get(int clientId) {
			var m_oRetryer = new SqlRetryer(sleepBeforeRetryMilliseconds: 500);

			// var customer = m_oRetryer.Retry(() => Session.Get<Customer>(clientId));
			var customer = m_oRetryer.Retry(
				() => Session.QueryOver<Customer>().Where(c => c.Id == clientId).SingleOrDefault<Customer>()
			);

			if (customer == null)
				throw new InvalidCustomerException(clientId);

			return customer;
		} // Get
Exemple #3
0
        }         // GetSessionID

        public static int GetBrowserVersionID(this Controller oController, string sUserAgent, AConnection oDB, ASafeLog oLog)
        {
            int nBrowserVersionID = 0;

            var oRetryer = new SqlRetryer(log: oLog);

            oRetryer.Retry(() => {
                nBrowserVersionID = oDB.ExecuteScalar <int>(
                    "UiEventBrowserVersion",
                    CommandSpecies.StoredProcedure,
                    new QueryParameter("@Version", sUserAgent)
                    );
            }, "saving browser version");

            return(nBrowserVersionID);
        }         // GetBrowserVersionID
Exemple #4
0
        private static void TestRetryerWithArguments(AConnection oDB, ASafeLog log)
        {
            var oRetryer = new SqlRetryer(nRetryCount: 8, nSleepBeforeRetryMilliseconds: 1000, oLog: log)
            {
                LogVerbosityLevel = oDB.LogVerbosityLevel
            };

            ms_nActionTestCounter = 0;

            Action oAction = () => ActionTest(28, "some string", oDB, log);

            oRetryer.Retry(oAction, "just a test action for 8 retries");

            var oTwoRetryer = new SqlRetryer(nRetryCount: 2, nSleepBeforeRetryMilliseconds: 1000, oLog: log)
            {
                LogVerbosityLevel = oDB.LogVerbosityLevel
            };

            ms_nActionTestCounter = 0;

            oTwoRetryer.Retry(oAction, "just a test action for 2 retries");
        }
Exemple #5
0
        }         // ShiftLocation

        public ConsumerService()
        {
            m_oRetryer      = new SqlRetryer(log: new SafeILog(Log));
            interactiveMode = CurrentValues.Instance.ExperianInteractiveMode;
        }         // constructor
        public bool Save(AConnection oDB, int nBrowserVersionID, string sRemoteIP, string sSessionCookie)
        {
            long nRefNum;

            if (!long.TryParse(eventID, out nRefNum))
            {
                log.Error("Failed to save UI event: cannot parse eventID as long in {0}.", this);
                return(false);
            }             // if

            DateTime oTime;

            bool validDate = DateTime.TryParseExact(
                eventTime,
                "yyyyMMddHHmmss",
                CultureInfo.InvariantCulture,
                DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal,
                out oTime
                );

            if (!validDate)
            {
                log.Error("Failed to save UI event: cannot parse event time in {0}.", this);
                return(false);
            }             // if failed to parse time

            string sResult = null;

            var oRetryer = new SqlRetryer(log: log);

            string evtArgs = string.IsNullOrWhiteSpace(eventArgs) ? null : eventArgs;

            if ((evtArgs != null) && (evtArgs.Length > MaxAllowedLength))
            {
                string id = Guid.NewGuid().ToString("N").ToLowerInvariant();

                evtArgs = string.Format(
                    "Trimmed to {0} chars, trim id is '{1}': {2}",
                    MaxAllowedLength,
                    id,
                    evtArgs.Substring(0, MaxAllowedLength)
                    );

                log.Debug(
                    "Event arguments are too long, trimmed to {0} chars, trim id is '{1}', untrimmed value is: {2}",
                    MaxAllowedLength,
                    id,
                    eventArgs
                    );
            }             // if

            oRetryer.Retry(() => {
                sResult = oDB.ExecuteScalar <string>(
                    "UiEventSave",
                    CommandSpecies.StoredProcedure,
                    new QueryParameter("@ActionName", actionName),
                    new QueryParameter("@UserName", userName),
                    new QueryParameter("@ControlName", controlName),
                    new QueryParameter("@EventArgs", evtArgs),
                    new QueryParameter("@BrowserVersionID", nBrowserVersionID),
                    new QueryParameter("@HtmlID", htmlID),
                    new QueryParameter("@RefNum", nRefNum),
                    new QueryParameter("@RemoteIP", sRemoteIP),
                    new QueryParameter("@SessionCookie", sSessionCookie),
                    new QueryParameter("@EventTime", oTime)
                    );
            }, "saving UI event");

            if (string.IsNullOrWhiteSpace(sResult))
            {
                return(true);
            }

            log.Warn("Failed to save UI event: {0}", sResult);

            return(false);
        }         // Save
Exemple #7
0
 public ExperianBankCacheRepository(ISession session) : base(session)
 {
     m_oRetryer = new SqlRetryer(log: new SafeILog(Log));
 }         // constructor