/// <summary>
 /// Lists the port manning report asynchronous.
 /// </summary>
 /// <param name="filter">The filter.</param>
 /// <returns>port manning report list</returns>
 public async Task<ListResult<PortManningReport>> ListPortManningReportAsync(PortManningReportSearchParameter filter)
 {
     var task = await this.portManningClient.RetrievePortManningReportListAsync(
         shipId: filter.ShipId,
         assignedDate: filter.AssignedDate,
         departmentIds: filter.DepartmentIds,
         portId: filter.PortId,
         positionTypeId: filter.PositionTypeId,
         parts: filter.Parts ?? DefaultPartsValue,
         pageNumber: filter.PageNumber.RetrievePageNumber(),
         maxResults: filter.MaxResults.RetrieveMaxResults(),
         orderBy: filter.OrderBy);
     return !string.IsNullOrEmpty(task) ? JsonConvert.DeserializeObject<ListResult<PortManningReport>>(task) : default(ListResult<PortManningReport>);
 }
 /// <summary>
 /// Lists the asynchronous.
 /// </summary>
 /// <param name="filter">The filter.</param>
 /// <returns>
 /// Task containing port manning report and total results
 /// </returns>
 public async Task<ListResult<PortManningReport>> ListAsync(PortManningReportSearchParameter filter)
 {
     return await this.portManningReportData.ListAsync(filter);
 }
 /// <summary>
 /// Lists the asynchronous.
 /// </summary>
 /// <param name="operationResult">The operation result.</param>
 /// <param name="portManningReportSearchParameter">The port manning report search parameter.</param>
 /// <returns>the port manning repot list</returns>
 private async Task ListAsync(OperationResult<ListResultWithMetadata<PortManningReport>> operationResult, PortManningReportSearchParameter portManningReportSearchParameter)
 {
     var result = await this.portManningReportManager.ListAsync(portManningReportSearchParameter);
     operationResult.Content = new ListResultWithMetadata<PortManningReport>(result, portManningReportSearchParameter, this.Request.RequestUri);
 }