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 <ChangeRequestSearchResult> SearchAsync(string searchText, string filter = null, SearchOptions searchOptions = null) { var result = await _changeRequestSearchRepositoryService.SearchAsync(searchText, filter, searchOptions); ChangeRequestSearchResult changeRequestSearchResult = new ChangeRequestSearchResult() { Documents = result.Documents, Facets = result.Facets, TotalCount = result.TotalCount }; return(changeRequestSearchResult); }