예제 #1
0
        public RESTAPIIdeaInterchange(Idea idea)
        {
            IdeaUtils ideaUtils = new IdeaUtils();

            if (idea != null)
            {
                IdeaId          = idea.IdeaId;
                Username        = string.Concat(idea.User.FirstName, idea.User.LastName);
                Title           = idea.Title;
                Description     = idea.Description;
                Status          = ideaUtils.getStatus(idea);
                IsAttachment    = idea.IsAttachment;
                AttachmentCount = idea.AttachmentCount == null ? 0 : idea.AttachmentCount;
                CreatedDate     = idea.CreatedDate.ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'");
                ModifiedDate    = idea.ModifiedDate?.ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'");
                CategoryName    = idea.IdeaCategory.CategoriesName;
                BusinessImpact  = idea.BusinessImpact;
                ChallengeId     = idea.ChallengeId;
                Solution        = idea.Solution;
                GitRepo         = idea.GitRepo;
                Tag             = null;
                IsDraft         = idea.IsDraft;
                IsActive        = idea.IsActive;

                if (idea.IdeaChallenge != null)
                {
                    ChallengeName = idea.IdeaChallenge.ChallengeName;
                }

                var tags = idea.Ideatags.Where(x => x.IdeaId == idea.IdeaId).Select(x => x.Tags).DefaultIfEmpty().First();

                if (tags != null)
                {
                    Tag = tags;
                }


                TotalFollowers = Convert.ToInt32(idea.IdeaSubscribers.FirstOrDefault(x => x.IdeaId == idea.IdeaId)?.TotalFollowers);
                IsBookmarked   = idea.IdeaSubscribers.FirstOrDefault(x => x.IdeaId == idea.IdeaId)?.IsBookmarked == true ? true : false;
                CommentsCount  = idea.IdeaComments.Where(x => x.IdeaId == idea.IdeaId).Count();
                Rating         = Convert.ToInt32(idea.IdeaSubscribers.FirstOrDefault(x => x.IdeaId == idea.IdeaId)?.TotalRating);

                if (idea.IsAttachment == true)
                {
                    var ret = idea.IdeaAttachments;

                    if (ret != null)
                    {
                        bool IsValue = ret.Any(a => a.FolderName == (folderNames.DefaultImage.ToString()));
                        if (IsValue)
                        {
                            Image = IdeaUtils.getImagePath(idea);
                        }
                        else
                        {
                            Image = IdeaUtils.getDefaultImagePath();
                        }
                    }
                }
                else
                {
                    Image = IdeaUtils.getDefaultImagePath();
                }
            }
        }