Exemplo n.º 1
0
        public ViewResult Search()
        {
            ChangeRequestSearchViewModel vm       = new ChangeRequestSearchViewModel();
            ChangeRequestSearchCriteria  criteria = new ChangeRequestSearchCriteria();

            vm.Criteria       = criteria;
            vm.ChangeRequests = new List <ChangeRequest>();
            return(View(vm));
        }
Exemplo n.º 2
0
        public ChangeRequestSearchViewModel Map(ChangeRequestSearchResult source)
        {
            var changeRequestSearchViewModel = new ChangeRequestSearchViewModel()
            {
                Facets = new ChangeRequestSearchFacets()
                {
                    ChangeTypes = source.Facets.Any(cr => cr.Name.Equals("changeType")) ?
                                  source.Facets.First(cr => cr.Name.Equals("changeType"))
                                  .Value.Select(item => ((SimpleValue)item).Value.ToString()).OrderBy(item => item)
                                  .ToArray() : default(string[]),
                    ChangeEntities = source.Facets.Any(cr => cr.Name.Equals("entity")) ?
                                     source.Facets.First(cr => cr.Name.Equals("entity"))
                                     .Value.Select(item => ((SimpleValue)item).Value.ToString()).OrderBy(item => item)
                                     .ToArray() : default(string[]),
                    Statuses = source.Facets.Any(cr => cr.Name.Equals("statusText")) ?
                               source.Facets.First(cr => cr.Name.Equals("statusText"))
                               .Value.Select(item => ((SimpleValue)item).Value.ToString()).OrderBy(item => item)
                               .ToArray() : default(string[]),
                    RequestsBy = source.Facets.Any(cr => cr.Name.Equals("requestedBy")) ?
                                 source.Facets.First(cr => cr.Name.Equals("requestedBy"))
                                 .Value.Select(item => ((SimpleValue)item).Value.ToString()).OrderBy(item => item)
                                 .ToArray() : default(string[]),
                    Assignees = source.Facets.Any(cr => cr.Name.Equals("assignee")) ?
                                source.Facets.First(cr => cr.Name.Equals("assignee"))
                                .Value.Select(item => ((SimpleValue)item).Value.ToString()).OrderBy(item => item)
                                .ToArray() : default(string[])
                },
                Result = new ChangeRequestSearchResultViewModel()
                {
                    ChangeRequests = source.Documents.Any() ?
                                     source.Documents.Select(item => new ChangeRequestStagingViewModel()
                    {
                        Id                  = Convert.ToInt64(item.ChangeRequestId),
                        Assignee            = item.Assignee,
                        ChangeRequestTypeId = item.ChangeRequestTypeId,
                        ChangeType          = item.ChangeType + " " + item.Entity,
                        Status              = (ChangeRequestStatus)(item.Status ?? 0),
                        StatusText          = item.StatusText,
                        RequestedBy         = item.RequestedBy,
                        Likes               = item.Likes,
                        CreatedDateTime     = item.SubmittedDate,
                        UpdatedDateTime     = item.UpdatedDate,
                        Entity              = item.Entity,
                        CommentExists       = item.CommentExists,
                        ChangeContent       = item.ChangeContent
                    }).ToList() : null,
                }
            };

            return(changeRequestSearchViewModel);
        }
        public async Task <ChangeRequestSearchViewModel> RefreshFacets(ChangeRequestSearchInputModel changeRequestSearchInputModel)
        {
            var changeRequestSearchViewModel = new ChangeRequestSearchViewModel()
            {
                Facets = new ChangeRequestSearchFacets()
                {
                    Statuses       = await RefreshStatusFacet(changeRequestSearchInputModel),
                    ChangeTypes    = await RefreshTypeFacet(changeRequestSearchInputModel),
                    ChangeEntities = await RefreshEntityFacet(changeRequestSearchInputModel),
                    RequestsBy     = await RefreshRequestByFacet(changeRequestSearchInputModel),
                    Assignees      = await RefreshAssigneeFacet(changeRequestSearchInputModel)
                }
            };

            return(changeRequestSearchViewModel);
        }
        public async Task <ChangeRequestSearchViewModel> Search(ChangeRequestSearchInputModel changeRequestSearchInputModel)
        {
            var applyFilter = new ChangeRequestSearchFilters()
            {
                Statuses          = changeRequestSearchInputModel.Statuses,
                ChangeTypes       = changeRequestSearchInputModel.ChangeTypes,
                ChangeEntities    = changeRequestSearchInputModel.ChangeEntities,
                RequestsBy        = changeRequestSearchInputModel.RequestsBy,
                Assignees         = changeRequestSearchInputModel.Assignees,
                SubmittedDateFrom = !String.IsNullOrWhiteSpace(changeRequestSearchInputModel.SubmittedDateFrom)? Convert.ToDateTime(changeRequestSearchInputModel.SubmittedDateFrom): (DateTime?)null,
                SubmittedDateTo   = !String.IsNullOrWhiteSpace(changeRequestSearchInputModel.SubmittedDateTo)? Convert.ToDateTime(changeRequestSearchInputModel.SubmittedDateTo): (DateTime?)null
            };

            var result = await _changeRequestSearchService.SearchAsync("", applyFilter.ToAzureSearchFilter(), new SearchOptions()
            {
                FacetsToInclude = new List <string>()
                {
                    "changeType",
                    "entity",
                    "statusText",
                    "requestedBy",
                    "assignee"
                },
                RecordCount = 1000,
                OrderBy     = new List <string>()
                {
                    "updatedDate desc",
                    "submittedDate desc",
                }
            });

            //return _changeRequestSearchViewModelMapper.Map(result);
            ChangeRequestSearchViewModel mappedResult = _changeRequestSearchViewModelMapper.Map(result);

            mappedResult.CanBulkSubmit = CurrentUser.Roles.Contains(CustomRoles.Admin) ||
                                         CurrentUser.Roles.Contains(CustomRoles.Researcher);
            mappedResult.IsAdmin = CurrentUser.Roles.Contains(CustomRoles.Admin);
            return(mappedResult);
        }
Exemplo n.º 5
0
 public IActionResult SearchSubmit(ChangeRequestSearchViewModel vm)
 {
     vm.ChangeRequests = _changeRequestRepository.SearchChangeRequests(vm.Criteria);
     return(View("Search", vm));
 }