Ejemplo n.º 1
0
            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);
                    }
                }
            }
Ejemplo n.º 2
0
            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);
                    }
                }
            }