/// <summary>
        /// Movements the summary report print.
        /// </summary>
        /// <returns>The Task</returns>
        public async Task<ActionResult> MovementSummaryReportPrint()
        {
            var reportPresenter = new ReportPresenter();

            var searchFilter = new SearchFilters();
            searchFilter = SessionData.Instance.MovementSummarySearchParameter;
            searchFilter.PageSize = 0;
            searchFilter.PageNumber = 1;
            var movementSummary = await this.reportManager.RetrieveMovementSummaryReportAsync(searchFilter);

            if (movementSummary != null && movementSummary.Items.Count > 0)
            {
                reportPresenter.AssignMovementSummarySearchResult(movementSummary);
            }

            return this.View(MovementSummaryReportPrintView, reportPresenter);
        }
        public async Task<ActionResult> MovementSummaryReport(ReportPresenter reportPresenter)
        {
            if (reportPresenter != null && reportPresenter.Filters != null)
            {
                var shipTime = BaseController.GenerateLocalDateTime(DateTime.UtcNow);
                reportPresenter.Filters.ShipTime = shipTime.ToString(this.ApplicationSettings.ShipDateTimeFormat, CultureInfo.InvariantCulture);

                var movementSummary = await this.reportManager.RetrieveMovementSummaryReportAsync(reportPresenter.Filters);
                if (movementSummary.Items.Count > 0)
                {
                    reportPresenter.AssignMovementSummarySearchResult(movementSummary);
                    reportPresenter.NoRecordFound = movementSummary.Items.Count <= 0;
                    reportPresenter.TotalRecordCount = movementSummary.Items.Count;
                }

                reportPresenter.NoRecordFound = movementSummary.Items.Count <= 0;
                SessionData.Instance.AssignMovementSummaryData(reportPresenter.Filters);
            }

            return this.PartialView(MovementSummaryPartialView, reportPresenter);
        }