/// <summary>
            /// Delete the shift from shift staging table.
            /// </summary>
            /// <param name="request">The request.</param>
            /// <returns>A null response.</returns>
            private NullResponse DeleteShiftStagingTable(DeleteShiftDataRequest request)
            {
                ThrowIf.Null(request, "request");
                ThrowIf.Null(request.Shift, "request.Shift");

                Shift shift = request.Shift;

                ParameterSet parameters = new ParameterSet();

                parameters[DatabaseAccessor.ChannelIdVariableName] = request.RequestContext.GetPrincipal().ChannelId;
                parameters[TerminalIdVariableName] = shift.TerminalId;
                parameters[ShiftIdVariableName]    = shift.ShiftId;
                parameters[RowVersionViarableName] = shift.RowVersion;

                int errorCode;

                using (var sqlServerDatabaseContext = new SqlServerDatabaseContext(request))
                {
                    errorCode = sqlServerDatabaseContext.ExecuteStoredProcedureNonQuery(DeleteShiftStagingSprocName, parameters);
                }

                if (errorCode != (int)DatabaseErrorCodes.Success)
                {
                    throw new StorageException(
                              StorageErrors.Microsoft_Dynamics_Commerce_Runtime_CriticalStorageError,
                              errorCode,
                              string.Format("Unable to execute the stored procedure {0}.", DeleteShiftStagingSprocName));
                }

                return(new NullResponse());
            }
            private NullResponse DeleteShiftStagingTable(DeleteShiftDataRequest request)
            {
                var databaseAccessor = new ShiftsSqliteDatabaseAccessor(request.RequestContext);

                databaseAccessor.DeleteShiftStaging(request.Shift);

                return(new NullResponse());
            }