public GetTagListResponse GetAllTagsByContacts(GetTagListRequest request) { Logger.Current.Verbose("Request to fetch all the tags."); GetTagListResponse response = new GetTagListResponse(); int TotalHits = default(int); if (request.SortField != null) { var maps = SmartTouch.CRM.ApplicationServices.ObjectMappers.MapperConfigurationProvider.Instance.FindTypeMapFor <TagViewModel, Tag>(); foreach (var propertyMap in maps.GetPropertyMaps()) { if (request.SortField.Equals(propertyMap.SourceMember.Name)) { request.SortField = propertyMap.DestinationProperty.MemberInfo.Name; break; } } } bool isAccountAdmin = CheckingDataSharing(request.RoleId, request.AccountId, request.IsSTadmin); IEnumerable <Tag> tags = tagRepository.AllTagsByContacts(request.Name, request.Limit, request.PageNumber, request.AccountId, isAccountAdmin, request.RequestedBy.Value, out TotalHits, request.AccountId, request.SortField, request.SortDirection); if (tags == null) { response.Exception = GetTagNotFoundException(); } else { IEnumerable <TagViewModel> list = Mapper.Map <IEnumerable <Tag>, IEnumerable <TagViewModel> >(tags); response.Tags = list; response.TotalHits = TotalHits; } return(response); }