public static async void CreateShiftV2(CreateShiftRequest request, CreateShiftResponse response) { ThrowIf.Null(request, "CreateShiftRequest"); ThrowIf.Null(response, "CreateShiftResponse"); string inventLocationDataAreaId = request.RequestContext.GetChannelConfiguration().InventLocationDataAreaId; CreateShiftRTSAsync(request, response); 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); } }
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(); }
private void CreateShift(CreateShiftRequest request, CreateShiftResponse response) { UnclosedShiftDataServiceAsync.CreateShiftAsync(request, response); }
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)); }