public HttpResponseMessage RefreshPolicies(int tillNumber, int saleNumber) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,PolicyController,RefreshPolicies,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}"); var accessToken = Request.GetFirstHeaderValueOrDefault <string>("authToken"); if (accessToken == null) { return(Request.CreateResponse( HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Resource.Error, MessageType = MessageType.OkOnly } })); } var userCode = TokenValidator.GetUserCode(accessToken); var policies = _policyManager.RefreshPolicies(userCode); if (policies == null) { return(Request.CreateResponse( HttpStatusCode.Unauthorized, new ErrorResponse { Error = new MessageStyle { Message = Resource.Error, MessageType = MessageType.OkOnly } })); } var error = new ErrorMessage(); var sale = CacheManager.GetCurrentSaleForTill(tillNumber, saleNumber); if (string.IsNullOrEmpty(error.MessageStyle.Message) && sale != null) { policies.EnableExactChange = _saleManager.EnableCashButton(sale, userCode); } var allPolicies = (object)policies; _performancelog.Debug($"End,PolicyController,RefreshPolicies,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, allPolicies)); }