コード例 #1
0
ファイル: TagService.cs プロジェクト: rtbhosale/SmartTouch
        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);
        }
コード例 #2
0
ファイル: TagService.cs プロジェクト: rtbhosale/SmartTouch
        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);
        }
コード例 #3
0
        public HttpResponseMessage GetTags()
        {
            GetTagListRequest request = new GetTagListRequest()
            {
                AccountId = this.AccountId
            };

            return(Request.CreateResponse(HttpStatusCode.OK, workflowService.GetAllTags(request).Tags));
        }