public static void CloseShiftAsync(Shift shift, Request request) { Task.Run <bool>(() => { InvokeExtensionMethodRealtimeRequest extensionRequest = new InvokeExtensionMethodRealtimeRequest( "RemoveOpenedShift", shift.StoreRecordId, shift.TerminalId, shift.ShiftId); InvokeExtensionMethodRealtimeResponse RTSResponse = request.RequestContext.Execute <InvokeExtensionMethodRealtimeResponse>(extensionRequest); ReadOnlyCollection <object> results = RTSResponse.Result; bool success = Convert.ToBoolean(results[0]); return(success); }); Task.Run(() => { using (var databaseContext = new DatabaseContext(request)) { ParameterSet parameters = new ParameterSet(); parameters["@CHANNEL"] = shift.StoreRecordId; parameters["@TERMINALID"] = shift.TerminalId; parameters["@SHIFTID"] = shift.ShiftId; databaseContext.ExecuteStoredProcedureNonQuery("[ext].[DeleteClosedShift]", parameters); } }).Wait(); }
public static void ChangeShiftStatusAsync(Shift shift, Request request) { Task.Run <bool>(() => { InvokeExtensionMethodRealtimeRequest extensionRequest = new InvokeExtensionMethodRealtimeRequest( "ChangeShiftStatus", shift.StoreRecordId, shift.TerminalId, shift.ShiftId, Convert.ToInt32(shift.Status), shift.CurrentTerminalId, shift.CurrentStaffId); InvokeExtensionMethodRealtimeResponse RTSResponse = request.RequestContext.Execute <InvokeExtensionMethodRealtimeResponse>(extensionRequest); ReadOnlyCollection <object> results = RTSResponse.Result; bool success = Convert.ToBoolean(results[0]); return(success); }); Task.Run(() => { using (var databaseContext = new DatabaseContext(request)) { ParameterSet parameters = new ParameterSet(); parameters["@CHANNEL"] = shift.StoreRecordId; parameters["@TERMINALID"] = shift.TerminalId; parameters["@SHIFTID"] = shift.ShiftId; parameters["@STATUS"] = shift.Status; parameters["@STATUSDATETIMEUTC"] = shift.StatusDateTime; parameters["@CURRENTSTAFFID"] = shift.CurrentStaffId; parameters["@CURRENTTERMINALID"] = shift.CurrentTerminalId; databaseContext.ExecuteStoredProcedureNonQuery("[ext].[ChangeShiftStaus]", parameters); } }).Wait(); }
public static async Task <bool> CreateShiftRTSAsync(CreateShiftRequest request, CreateShiftResponse response) { Func <bool> function = new Func <bool>(() => { string inventLocationDataAreaId = request.RequestContext.GetChannelConfiguration().InventLocationDataAreaId; InvokeExtensionMethodRealtimeRequest extensionRequest = new InvokeExtensionMethodRealtimeRequest( "CreateNewShift", response.Shift.StoreRecordId, response.Shift.TerminalId, response.Shift.StoreId, response.Shift.ShiftId, response.Shift.StaffId, response.Shift.CurrentStaffId, Convert.ToInt32(response.Shift.Status), response.Shift.CurrentTerminalId, response.Shift.IsShared, response.Shift.CashDrawer, inventLocationDataAreaId); InvokeExtensionMethodRealtimeResponse RTSResponse = request.RequestContext.Execute <InvokeExtensionMethodRealtimeResponse>(extensionRequest); ReadOnlyCollection <object> results = RTSResponse.Result; bool success = Convert.ToBoolean(results[0]); return(success); }); return(await Task.Run <bool>(function)); }
public static void CloseShift(ChangeShiftStatusRequest request, ChangeShiftStatusResponse response) { ThrowIf.Null(request, "CreateShiftRequest"); ThrowIf.Null(response, "CreateShiftResponse"); InvokeExtensionMethodRealtimeRequest extensionRequest = new InvokeExtensionMethodRealtimeRequest( "RemoveOpenedShift", response.Shift.StoreRecordId, response.Shift.TerminalId, response.Shift.ShiftId); InvokeExtensionMethodRealtimeResponse RTSResponse = request.RequestContext.Execute <InvokeExtensionMethodRealtimeResponse>(extensionRequest); ReadOnlyCollection <object> results = RTSResponse.Result; bool success = Convert.ToBoolean(results[0]); if (!success) { using (var databaseContext = new DatabaseContext(request)) { ParameterSet parameters = new ParameterSet(); parameters["@CHANNEL"] = response.Shift.StoreRecordId; parameters["@TERMINALID"] = response.Shift.TerminalId; parameters["@SHIFTID"] = response.Shift.ShiftId; databaseContext.ExecuteStoredProcedureNonQuery("[ext].[DeleteClosedShift]", parameters); } } }
public static void CreateShiftAsync(CreateShiftRequest request, CreateShiftResponse response) { ThrowIf.Null(request, "CreateShiftRequest"); ThrowIf.Null(response, "CreateShiftResponse"); string inventLocationDataAreaId = request.RequestContext.GetChannelConfiguration().InventLocationDataAreaId; Task.Run <bool>(() => { InvokeExtensionMethodRealtimeRequest extensionRequest = new InvokeExtensionMethodRealtimeRequest( "CreateNewShift", response.Shift.StoreRecordId, response.Shift.TerminalId, response.Shift.StoreId, response.Shift.ShiftId, response.Shift.StaffId, response.Shift.CurrentStaffId, Convert.ToInt32(response.Shift.Status), response.Shift.CurrentTerminalId, response.Shift.IsShared, response.Shift.CashDrawer, inventLocationDataAreaId); InvokeExtensionMethodRealtimeResponse RTSResponse = request.RequestContext.Execute <InvokeExtensionMethodRealtimeResponse>(extensionRequest); ReadOnlyCollection <object> results = RTSResponse.Result; bool success = Convert.ToBoolean(results[0]); return(success); }); Task.Run(() => { using (var databaseContext = new DatabaseContext(request)) { ParameterSet parameters = new ParameterSet(); parameters["@CHANNEL"] = response.Shift.StoreRecordId; parameters["@TERMINALID"] = response.Shift.TerminalId; parameters["@STOREID"] = response.Shift.StoreId; parameters["@SHIFTID"] = response.Shift.ShiftId; parameters["@STAFFID"] = response.Shift.StaffId; parameters["@CURRENTSTAFFID"] = response.Shift.CurrentStaffId; parameters["@STATUS"] = response.Shift.Status; parameters["@CURRENTTERMINALID"] = response.Shift.CurrentTerminalId; parameters["@ISSHARED"] = response.Shift.IsShared; parameters["@STARTDATETIMEUTC"] = DateTimeOffsetDataHelper.GetDbNullableDateTime(response.Shift.StartDateTime); parameters["@STATUSDATETIMEUTC"] = DateTimeOffsetDataHelper.GetDbNullableDateTime(response.Shift.StatusDateTime); parameters["@DATAAREAID"] = inventLocationDataAreaId; parameters["@CASHDRAWER"] = response.Shift.CashDrawer; databaseContext.ExecuteStoredProcedureNonQuery("[ext].[CreateNewShift]", parameters); } }).Wait(); }
public void OnExecuting(Request request) { if (request is SaveCartVersionedDataRequest) { SaveCartVersionedDataRequest saveCartVersionedDataRequest = request as SaveCartVersionedDataRequest; DeviceConfiguration deviceConfiguration = request.RequestContext.GetDeviceConfiguration(); if (request.RequestContext.GetDeviceConfiguration().EnableAxCustomerSearch == true && !string.IsNullOrEmpty(saveCartVersionedDataRequest.SalesTransaction.CustomerId) && string.IsNullOrEmpty(saveCartVersionedDataRequest.SalesTransaction.LoyaltyCardId)) { InvokeExtensionMethodRealtimeRequest extensionRequest = new InvokeExtensionMethodRealtimeRequest("GetCustomerLoyaltyCard", saveCartVersionedDataRequest.SalesTransaction.CustomerId, request.RequestContext.GetChannelConfiguration().InventLocationDataAreaId); InvokeExtensionMethodRealtimeResponse extensionResponse = request.RequestContext.Execute <InvokeExtensionMethodRealtimeResponse>(extensionRequest); ReadOnlyCollection <object> results = extensionResponse.Result; string loyalyCardNumber = (string)results[0]; saveCartVersionedDataRequest.SalesTransaction.LoyaltyCardId = loyalyCardNumber; } } }
public static void ChangeShiftStatus(ChangeShiftStatusRequest request, ChangeShiftStatusResponse response) { ThrowIf.Null(request, "CreateShiftRequest"); ThrowIf.Null(response, "CreateShiftResponse"); InvokeExtensionMethodRealtimeRequest extensionRequest = new InvokeExtensionMethodRealtimeRequest( "ChangeShiftStatus", response.Shift.StoreRecordId, response.Shift.TerminalId, response.Shift.ShiftId, Convert.ToInt32(response.Shift.Status), response.Shift.CurrentTerminalId, response.Shift.CurrentStaffId); InvokeExtensionMethodRealtimeResponse RTSResponse = request.RequestContext.Execute <InvokeExtensionMethodRealtimeResponse>(extensionRequest); ReadOnlyCollection <object> results = RTSResponse.Result; bool success = Convert.ToBoolean(results[0]); if (!success) { using (var databaseContext = new DatabaseContext(request)) { ParameterSet parameters = new ParameterSet(); parameters["@CHANNEL"] = response.Shift.StoreRecordId; parameters["@TERMINALID"] = response.Shift.TerminalId; parameters["@SHIFTID"] = response.Shift.ShiftId; parameters["@STATUS"] = response.Shift.Status; parameters["@STATUSDATETIMEUTC"] = response.Shift.StatusDateTime; parameters["@CURRENTSTAFFID"] = response.Shift.CurrentStaffId; parameters["@CURRENTTERMINALID"] = response.Shift.CurrentTerminalId; databaseContext.ExecuteStoredProcedureNonQuery("[ext].[ChangeShiftStaus]", parameters); } } }