コード例 #1
0
        public virtual ApiPostServerResponseModel MapServerRequestToResponse(
            int id,
            ApiPostServerRequestModel request)
        {
            var response = new ApiPostServerResponseModel();

            response.SetProperties(id,
                                   request.AcceptedAnswerId,
                                   request.AnswerCount,
                                   request.Body,
                                   request.ClosedDate,
                                   request.CommentCount,
                                   request.CommunityOwnedDate,
                                   request.CreationDate,
                                   request.FavoriteCount,
                                   request.LastActivityDate,
                                   request.LastEditDate,
                                   request.LastEditorDisplayName,
                                   request.LastEditorUserId,
                                   request.OwnerUserId,
                                   request.ParentId,
                                   request.PostTypeId,
                                   request.Score,
                                   request.Tag,
                                   request.Title,
                                   request.ViewCount);
            return(response);
        }
コード例 #2
0
        public virtual ApiTagServerResponseModel MapEntityToModel(
            Tag item)
        {
            var model = new ApiTagServerResponseModel();

            model.SetProperties(item.Id,
                                item.Count,
                                item.ExcerptPostId,
                                item.TagName,
                                item.WikiPostId);
            if (item.ExcerptPostIdNavigation != null)
            {
                var excerptPostIdModel = new ApiPostServerResponseModel();
                excerptPostIdModel.SetProperties(
                    item.ExcerptPostIdNavigation.Id,
                    item.ExcerptPostIdNavigation.AcceptedAnswerId,
                    item.ExcerptPostIdNavigation.AnswerCount,
                    item.ExcerptPostIdNavigation.Body,
                    item.ExcerptPostIdNavigation.ClosedDate,
                    item.ExcerptPostIdNavigation.CommentCount,
                    item.ExcerptPostIdNavigation.CommunityOwnedDate,
                    item.ExcerptPostIdNavigation.CreationDate,
                    item.ExcerptPostIdNavigation.FavoriteCount,
                    item.ExcerptPostIdNavigation.LastActivityDate,
                    item.ExcerptPostIdNavigation.LastEditDate,
                    item.ExcerptPostIdNavigation.LastEditorDisplayName,
                    item.ExcerptPostIdNavigation.LastEditorUserId,
                    item.ExcerptPostIdNavigation.OwnerUserId,
                    item.ExcerptPostIdNavigation.ParentId,
                    item.ExcerptPostIdNavigation.PostTypeId,
                    item.ExcerptPostIdNavigation.Score,
                    item.ExcerptPostIdNavigation.Tag,
                    item.ExcerptPostIdNavigation.Title,
                    item.ExcerptPostIdNavigation.ViewCount);

                model.SetExcerptPostIdNavigation(excerptPostIdModel);
            }

            if (item.WikiPostIdNavigation != null)
            {
                var wikiPostIdModel = new ApiPostServerResponseModel();
                wikiPostIdModel.SetProperties(
                    item.WikiPostIdNavigation.Id,
                    item.WikiPostIdNavigation.AcceptedAnswerId,
                    item.WikiPostIdNavigation.AnswerCount,
                    item.WikiPostIdNavigation.Body,
                    item.WikiPostIdNavigation.ClosedDate,
                    item.WikiPostIdNavigation.CommentCount,
                    item.WikiPostIdNavigation.CommunityOwnedDate,
                    item.WikiPostIdNavigation.CreationDate,
                    item.WikiPostIdNavigation.FavoriteCount,
                    item.WikiPostIdNavigation.LastActivityDate,
                    item.WikiPostIdNavigation.LastEditDate,
                    item.WikiPostIdNavigation.LastEditorDisplayName,
                    item.WikiPostIdNavigation.LastEditorUserId,
                    item.WikiPostIdNavigation.OwnerUserId,
                    item.WikiPostIdNavigation.ParentId,
                    item.WikiPostIdNavigation.PostTypeId,
                    item.WikiPostIdNavigation.Score,
                    item.WikiPostIdNavigation.Tag,
                    item.WikiPostIdNavigation.Title,
                    item.WikiPostIdNavigation.ViewCount);

                model.SetWikiPostIdNavigation(wikiPostIdModel);
            }

            return(model);
        }
コード例 #3
0
        public virtual ApiVoteServerResponseModel MapEntityToModel(
            Vote item)
        {
            var model = new ApiVoteServerResponseModel();

            model.SetProperties(item.Id,
                                item.BountyAmount,
                                item.CreationDate,
                                item.PostId,
                                item.UserId,
                                item.VoteTypeId);
            if (item.PostIdNavigation != null)
            {
                var postIdModel = new ApiPostServerResponseModel();
                postIdModel.SetProperties(
                    item.PostIdNavigation.Id,
                    item.PostIdNavigation.AcceptedAnswerId,
                    item.PostIdNavigation.AnswerCount,
                    item.PostIdNavigation.Body,
                    item.PostIdNavigation.ClosedDate,
                    item.PostIdNavigation.CommentCount,
                    item.PostIdNavigation.CommunityOwnedDate,
                    item.PostIdNavigation.CreationDate,
                    item.PostIdNavigation.FavoriteCount,
                    item.PostIdNavigation.LastActivityDate,
                    item.PostIdNavigation.LastEditDate,
                    item.PostIdNavigation.LastEditorDisplayName,
                    item.PostIdNavigation.LastEditorUserId,
                    item.PostIdNavigation.OwnerUserId,
                    item.PostIdNavigation.ParentId,
                    item.PostIdNavigation.PostTypeId,
                    item.PostIdNavigation.Score,
                    item.PostIdNavigation.Tag,
                    item.PostIdNavigation.Title,
                    item.PostIdNavigation.ViewCount);

                model.SetPostIdNavigation(postIdModel);
            }

            if (item.UserIdNavigation != null)
            {
                var userIdModel = new ApiUserServerResponseModel();
                userIdModel.SetProperties(
                    item.UserIdNavigation.Id,
                    item.UserIdNavigation.AboutMe,
                    item.UserIdNavigation.AccountId,
                    item.UserIdNavigation.Age,
                    item.UserIdNavigation.CreationDate,
                    item.UserIdNavigation.DisplayName,
                    item.UserIdNavigation.DownVote,
                    item.UserIdNavigation.EmailHash,
                    item.UserIdNavigation.LastAccessDate,
                    item.UserIdNavigation.Location,
                    item.UserIdNavigation.Reputation,
                    item.UserIdNavigation.UpVote,
                    item.UserIdNavigation.View,
                    item.UserIdNavigation.WebsiteUrl);

                model.SetUserIdNavigation(userIdModel);
            }

            if (item.VoteTypeIdNavigation != null)
            {
                var voteTypeIdModel = new ApiVoteTypeServerResponseModel();
                voteTypeIdModel.SetProperties(
                    item.VoteTypeIdNavigation.Id,
                    item.VoteTypeIdNavigation.Name);

                model.SetVoteTypeIdNavigation(voteTypeIdModel);
            }

            return(model);
        }
コード例 #4
0
        public virtual ApiPostLinkServerResponseModel MapEntityToModel(
            PostLink item)
        {
            var model = new ApiPostLinkServerResponseModel();

            model.SetProperties(item.Id,
                                item.CreationDate,
                                item.LinkTypeId,
                                item.PostId,
                                item.RelatedPostId);
            if (item.LinkTypeIdNavigation != null)
            {
                var linkTypeIdModel = new ApiLinkTypeServerResponseModel();
                linkTypeIdModel.SetProperties(
                    item.LinkTypeIdNavigation.Id,
                    item.LinkTypeIdNavigation.RwType);

                model.SetLinkTypeIdNavigation(linkTypeIdModel);
            }

            if (item.PostIdNavigation != null)
            {
                var postIdModel = new ApiPostServerResponseModel();
                postIdModel.SetProperties(
                    item.PostIdNavigation.Id,
                    item.PostIdNavigation.AcceptedAnswerId,
                    item.PostIdNavigation.AnswerCount,
                    item.PostIdNavigation.Body,
                    item.PostIdNavigation.ClosedDate,
                    item.PostIdNavigation.CommentCount,
                    item.PostIdNavigation.CommunityOwnedDate,
                    item.PostIdNavigation.CreationDate,
                    item.PostIdNavigation.FavoriteCount,
                    item.PostIdNavigation.LastActivityDate,
                    item.PostIdNavigation.LastEditDate,
                    item.PostIdNavigation.LastEditorDisplayName,
                    item.PostIdNavigation.LastEditorUserId,
                    item.PostIdNavigation.OwnerUserId,
                    item.PostIdNavigation.ParentId,
                    item.PostIdNavigation.PostTypeId,
                    item.PostIdNavigation.Score,
                    item.PostIdNavigation.Tag,
                    item.PostIdNavigation.Title,
                    item.PostIdNavigation.ViewCount);

                model.SetPostIdNavigation(postIdModel);
            }

            if (item.RelatedPostIdNavigation != null)
            {
                var relatedPostIdModel = new ApiPostServerResponseModel();
                relatedPostIdModel.SetProperties(
                    item.RelatedPostIdNavigation.Id,
                    item.RelatedPostIdNavigation.AcceptedAnswerId,
                    item.RelatedPostIdNavigation.AnswerCount,
                    item.RelatedPostIdNavigation.Body,
                    item.RelatedPostIdNavigation.ClosedDate,
                    item.RelatedPostIdNavigation.CommentCount,
                    item.RelatedPostIdNavigation.CommunityOwnedDate,
                    item.RelatedPostIdNavigation.CreationDate,
                    item.RelatedPostIdNavigation.FavoriteCount,
                    item.RelatedPostIdNavigation.LastActivityDate,
                    item.RelatedPostIdNavigation.LastEditDate,
                    item.RelatedPostIdNavigation.LastEditorDisplayName,
                    item.RelatedPostIdNavigation.LastEditorUserId,
                    item.RelatedPostIdNavigation.OwnerUserId,
                    item.RelatedPostIdNavigation.ParentId,
                    item.RelatedPostIdNavigation.PostTypeId,
                    item.RelatedPostIdNavigation.Score,
                    item.RelatedPostIdNavigation.Tag,
                    item.RelatedPostIdNavigation.Title,
                    item.RelatedPostIdNavigation.ViewCount);

                model.SetRelatedPostIdNavigation(relatedPostIdModel);
            }

            return(model);
        }