public GetTagListResponse GetAllTags(GetTagListRequest request) { Logger.Current.Verbose("Request to fetch all the tags."); GetTagListResponse response = new GetTagListResponse(); 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; } } } IEnumerable <Tag> tags = tagRepository.FindAll(request.Limit, request.PageNumber, request.Name, request.AccountId, request.SortField, request.SortDirection).ToList(); if (tags == null) { response.Exception = GetTagNotFoundException(); } else { response.TotalHits = (tags != null && tags.Any()) ? tags.FirstOrDefault().TotalTagCount : 0; response.Tags = Mapper.Map <IEnumerable <Tag>, IEnumerable <TagViewModel> >(tags); } return(response); }
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); }
public HttpResponseMessage GetTags() { GetTagListRequest request = new GetTagListRequest() { AccountId = this.AccountId }; return(Request.CreateResponse(HttpStatusCode.OK, workflowService.GetAllTags(request).Tags)); }