Ejemplo n.º 1
0
        public async Task RetrieveVisitorListAsync()
        {
            var searchFilter = new VisitorSearchParameters
            {
                VisitorIds = VisitorIds,
                Parts = Parts,
                MaxResults = MaxResults
            };

            this.SetupData();
            var result = await this.manager.ListAsync(searchFilter);
            Assert.AreEqual(this.visitorList.Items.Count, result.Items.Count);
            Assert.IsTrue(result.Items.Equals(this.visitorList.Items));
            Assert.IsNotNull(result.Items.FirstOrDefault(visitorItem => this.visitorList.Items.Any(item => visitorItem.VisitorId.Equals(item.VisitorId, StringComparison.OrdinalIgnoreCase))));
        }
Ejemplo n.º 2
0
        public async Task RetrieveVisitorListAsync()
        {
            var searchFilter = new VisitorSearchParameters
            {
                VisitorIds = VisitorIds,
                Birthdate = "2015-07-10 12:12",
                Citizenship = "ds",
                VisitPurposeId = "w",
                VisitorTypeId = "3",
                DocumentNumber = "4",
                DocumentTypeId = "f",
                Emails = "*****@*****.**",
                EndDate = "2015-07-10 12:12",
                LastNameContains = "sffs",
                ModifiedParts = "visitor",
                OrderBy = "VisitorTypeId",
                PageNumber = 2,
                PassportNumber = "2",
                ShipTime = "2015-07-10 12:12",
                StartDate = "2015-07-10 12:12",
                Parts = Parts,
                MaxResults = MaxResults
            };

            this.SetupData();
            var result = await this.visitorData.ListAsync(searchFilter);
            var searchQueryString = searchFilter.ToQueryString();
            Assert.IsNotNull(result);
            Assert.IsTrue(searchQueryString.Contains("VisitorTypeId"));
            Assert.IsNotNull(result);
        }
 public async Task RetrieveVisitorListAsyncTest()
 {
     try
     {
         this.SetupGetRequests();
         VisitorSearchParameters objParam = new VisitorSearchParameters();
         objParam.MaxResults = 50;
         objParam.PageNumber = 1;
         this.visitorManager.Setup(mokeItem => mokeItem.ListAsync(It.IsNotNull<VisitorSearchParameters>())).Returns(Task.FromResult(new ListResult<Visitor>()));
         var response = await this.visitorController.Get(objParam);
         var result = await response.ExecuteAsync(new CancellationToken(false));
         Assert.IsTrue(result.IsSuccessStatusCode);
         Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
     }
     finally
     {
         this.Dispose();
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Retrieves the visitors.
        /// </summary>
        /// <param name="filter">The filter.</param>
        /// <returns>
        /// Visitor task
        /// </returns>
        public async Task<ListResult<Visitor>> ListAsync(VisitorSearchParameters filter)
        {
            DepthResolver.Initialize<VisitorDepths>();
            var result = new ListResult<Visitor>();

            var visitorSearch = new VisitorListRequestSearchParameters
            {
                PageNumber = filter.PageNumber.RetrievePageNumber(),
                MaxResults = filter.MaxResults.RetrieveMaxResults(),
                LastNameContains = filter.LastNameContains,
                VisitorIds = filter.VisitorIds,
                StartDate = string.IsNullOrEmpty(filter.StartDate) ? null : Convert.ToDateTime(filter.StartDate, CultureInfo.InvariantCulture).ToString("yyyy-MM-ddTHH:mm:ss"),
                EndDate = string.IsNullOrEmpty(filter.EndDate) ? null : Convert.ToDateTime(filter.EndDate, CultureInfo.InvariantCulture).ToString("yyyy-MM-ddTHH:mm:ss"),
                OrderBy = filter.OrderBy,
                Depths = (VisitorDepths)DepthResolver.Resolve(filter.ModifiedParts, VisitorDepths.Visitor),
                Citizenship = filter.Citizenship,
                Birthdate = filter.Birthdate,
                VisitorTypeId = filter.VisitorTypeId,
                VisitPurposeId = filter.VisitPurposeId,
                DocumentNumber = filter.DocumentNumber,
                DocumentTypeId = filter.DocumentTypeId,
                ModifiedParts = filter.ModifiedParts,
                ShipTime = filter.ShipTime
            };

            ListResult<Entities.PersonStatus> visitorStatusDetails = null;

            if (!string.IsNullOrEmpty(filter.Status))
            {
                visitorSearch.PageNumber = 1;
                visitorSearch.MaxResults = int.MaxValue;
                visitorStatusDetails = await this.personStatusRepository.ListPersonStatus(PersonTypeId, StatusTypeId, filter.Status, null, visitorSearch.ShipTime, this.applicationSettings.ShipId, null, visitorSearch.PageNumber, visitorSearch.MaxResults);

                if (visitorStatusDetails.Items.Count == 0)
                {
                    return result;
                }

                var visitorStatusList = visitorStatusDetails.Items.Where(v => v.StatusChangedDate.Date == Convert.ToDateTime(visitorSearch.ShipTime).Date).ToList();

                if (visitorStatusList != null && visitorStatusList.Count > 0)
                {
                    visitorSearch.VisitorIds = visitorStatusList.RetrieveIds(a => a.PersonId);
                }
                else
                {
                    return result;
                }
            }

            var visitorData = !string.IsNullOrEmpty(visitorSearch.ShipTime) ? await this.visitorRepository.RetrieveVisitors(visitorSearch.VisitorIds, visitorSearch.LastNameContains, visitorSearch.Citizenship, visitorSearch.Birthdate, null, visitorSearch.DocumentTypeId, visitorSearch.DocumentNumber, visitorSearch.VisitorTypeId, visitorSearch.VisitPurposeId, visitorSearch.ShipTime, visitorSearch.PageNumber, visitorSearch.MaxResults, visitorSearch.Depths, visitorSearch.OrderBy) : await this.visitorRepository.RetrieveVisitorListAsync(visitorSearch.VisitorIds, visitorSearch.LastNameContains, visitorSearch.Citizenship, visitorSearch.DocumentTypeId, visitorSearch.DocumentNumber, string.IsNullOrEmpty(visitorSearch.Birthdate) ? default(DateTime?) : Convert.ToDateTime(visitorSearch.Birthdate, CultureInfo.InvariantCulture), visitorSearch.StartDate, visitorSearch.EndDate, null, visitorSearch.VisitorTypeId, visitorSearch.VisitPurposeId, visitorSearch.PageNumber, visitorSearch.MaxResults, visitorSearch.ModifiedParts, visitorSearch.OrderBy);

            if (visitorData != null)
            {
                if (visitorData.Items.Count > 0 && !string.IsNullOrEmpty(visitorSearch.ShipTime))
                {
                    var personIds = visitorData.Items.RetrieveIds(a => a.VisitorId) + CommaSeparator;

                    var onboardVisitorDetailsTask = visitorStatusDetails ?? await this.personStatusRepository.ListPersonStatus(PersonTypeId, StatusTypeId, null, personIds, visitorSearch.ShipTime, this.applicationSettings.ShipId, null, 1, int.MaxValue);

                    if (onboardVisitorDetailsTask != null && onboardVisitorDetailsTask.Items != null && onboardVisitorDetailsTask.Items.Count > 0)
                    {
                        foreach (var onboardVisitor in onboardVisitorDetailsTask.Items)
                        {
                            foreach (var visitor in visitorData.Items)
                            {
                                if (visitor.VisitorId == onboardVisitor.PersonId)
                                {
                                    if (onboardVisitor.Status.Equals("true", StringComparison.OrdinalIgnoreCase))
                                    {
                                        foreach (var visit in visitor.Visits)
                                        {
                                            visit.LastOnboardDate = onboardVisitor.StatusChangedDate;
                                        }
                                    }
                                    else
                                    {
                                        foreach (var visit in visitor.Visits)
                                        {
                                            visit.LastOffBoardDate = onboardVisitor.StatusChangedDate;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                var visitors = new VisitorCollection();

                foreach (Entities.Visitor visitor in visitorData.Items)
                {
                    visitors.Add(MapVisitorData(visitor));
                }

                result.AssignItems(visitors);
                result.TotalResults = visitorStatusDetails != null ? visitorData.Items.Count : visitorData.TotalResults;
            }

            return result;
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Retrieves the visitors.
 /// </summary>
 /// <param name="filter">The filter.</param>
 /// <returns>
 /// visitor task
 /// </returns>
 public async Task<ListResult<Visitor>> ListAsync(VisitorSearchParameters filter)
 {
     return await this.visitorData.ListAsync(filter);
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Retrieves the visitors.
 /// </summary>
 /// <param name="operationResult">The operation result.</param>
 /// <param name="filter">The filter.</param>
 /// <returns>
 /// The Task
 /// </returns>
 private async Task GetAsync(OperationResult<ListResultWithMetadata<Visitor>> operationResult, VisitorSearchParameters filter)
 {
     var visitors = await this.visitorManager.ListAsync(filter);
     operationResult.Content = new ListResultWithMetadata<Visitor>(visitors, filter, this.Request.RequestUri);
 }