/// <summary> /// Register the time for employee break. /// </summary> /// <param name="context">The request context.</param> /// <param name="jobId">The job identifier.</param> /// <returns>Returns the activity DateTimeOffset in channel local time zone.</returns> public static DateTimeOffset RegisterEmployeeBreak(RequestContext context, string jobId) { ThrowIf.Null(context, "context"); ThrowIf.NullOrWhiteSpace(jobId, "jobId"); var request = new RegisterEmployeeBreakRealtimeRequest( context.GetPrincipal().UserId, context.GetTerminal().TerminalId, jobId); return(context.Execute <SingleEntityDataServiceResponse <DateTimeOffset> >(request).Entity); }
/// <summary> /// Executes register employee break requests. /// </summary> /// <param name="request">The service request.</param> /// <returns>The activity response.</returns> private static SingleEntityDataServiceResponse <DateTimeOffset> RegisterEmployeeBreak(RegisterEmployeeBreakRealtimeRequest request) { var transactionService = new TransactionServiceClient(request.RequestContext); DateTimeOffset?currentActivityDateTimeOffset = transactionService.RegisterStartBreak(request.UserId, request.TerminalId, request.JobId); // Convert the UTC date time offset to channel date time offset if (currentActivityDateTimeOffset.HasValue) { currentActivityDateTimeOffset = request.RequestContext.ConvertDateTimeToChannelDate(currentActivityDateTimeOffset.Value); } return(new SingleEntityDataServiceResponse <DateTimeOffset>(currentActivityDateTimeOffset.GetValueOrDefault())); }