/// <summary> /// Method to update till information /// </summary> /// <param name="tillNumber">Till number</param> /// <param name="shiftNumber">Shift number</param> /// <param name="shiftDate">Shift date</param> /// <param name="userName">User name</param> /// <param name="posId">Pos Id</param> /// <param name="errorMessage">Error</param> private void UpdateTillInformation(int tillNumber, int?shiftNumber, string shiftDate, string userName, int posId, out ErrorMessage errorMessage) { var dateStart = DateTime.Now; Performancelog.Debug($"Start,TillManager,UpdateTillInformation,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}"); errorMessage = new ErrorMessage(); if (!string.IsNullOrEmpty(GetIpAddress(posId))) { var useShift = _policyManager.USE_SHIFTS; var till = _tillService.GetTill(tillNumber); var shift = new ShiftStore(); if (!useShift) { shiftNumber = null; } else { if (shiftNumber.HasValue) { shift = _shiftService.GetShiftByShiftNumber(shiftNumber.Value); if (shift == null && shiftNumber.Value != 0) { errorMessage = new ErrorMessage { MessageStyle = new MessageStyle { Message = "Shift does not exists" }, StatusCode = HttpStatusCode.NotFound, ShutDownPos = true }; return; } } else { errorMessage = new ErrorMessage { MessageStyle = new MessageStyle { Message = "Please select a shift" }, StatusCode = HttpStatusCode.NotFound, ShutDownPos = true }; return; } } // Nicolette added to record date, time, active=true in // Tills table if USE_SHIFTS=No and TILL_FLOAT=No if (till != null) { DateTime date; DateTime.TryParse(shiftDate, out date); if (!till.Active) { till.Date_Open = DateAndTime.Today; till.Time_Open = DateAndTime.TimeOfDay; } till.Active = true; till.Processing = true; till.POSId = posId; till.UserLoggedOn = userName; if (useShift) { till.Shift = (short)shiftNumber.Value; till.ShiftDate = date; } else { till.Shift = 0; } _tillService.UpdateTill(till); } else { errorMessage = new ErrorMessage { MessageStyle = new MessageStyle { Message = "Till does not exists" }, StatusCode = HttpStatusCode.NotFound, ShutDownPos = true }; return; } if (useShift && shift != null) { if (shift.ShiftNumber == 0) { return; } shift.Active = 1; _shiftService.UpdateShift(shift); } } else { //"Security Alert. Check your POS IP Address!"; var offSet = _policyManager.LoadStoreInfo().OffSet; errorMessage.MessageStyle = _resourceManager.CreateMessage(offSet, 0, 8198, null, MessageType.OkOnly); errorMessage.StatusCode = HttpStatusCode.Unauthorized; errorMessage.ShutDownPos = true; } Performancelog.Debug($"End,TillManager,UpdateTillInformation,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); }