Esempio n. 1
0
        public static Domain.Models.Submission Map(this Data.Models.Submission submission)
        {
            Domain.Models.Submission result = null;
            if (submission != null)
            {
                result = new Domain.Models.Submission()
                {
                    ID       = submission.ID,
                    UserName = (submission.IsAnonymized ? submission.ID.ToString() : submission.UserName),

                    Title   = submission.Title,
                    Url     = submission.Url,
                    Content = (submission.Type == 1 ? submission.Content : (string)null),

                    //Support For Backwards compat, if FormattedContent is empty, do it here.
                    FormattedContent = (submission.Type == 1 && String.IsNullOrEmpty(submission.FormattedContent) ? Formatting.FormatMessage(submission.Content, true) : submission.FormattedContent),

                    LastEditDate = submission.LastEditDate,
                    ThumbnailUrl = VoatPathHelper.ThumbnailPath(submission.Thumbnail, true, true),
                    CommentCount = CommentCounter.CommentCount(submission.ID),
                    CreationDate = submission.CreationDate,
                    UpCount      = (int)submission.UpCount,
                    Views        = (int)submission.Views,
                    DownCount    = (int)submission.DownCount,
                    Type         = submission.Type == 1 ? SubmissionType.Text : SubmissionType.Link,
                    Subverse     = submission.Subverse,
                    IsAnonymized = submission.IsAnonymized,
                    IsDeleted    = submission.IsDeleted,
                    Rank         = submission.Rank,
                    RelativeRank = submission.RelativeRank
                };
            }
            return(result);
        }
Esempio n. 2
0
        //private static Domain.Models.Submission submission;

        public override void ClassInitialize()
        {
            string owner = "UnitTestUser04";

            submission = TestHelper.ContentCreation.CreateSubmission(owner, new Domain.Models.UserSubmission()
            {
                Title = GetMethodName(), Content = GetMethodName(true), Subverse = SUBVERSES.Unit
            });
            Assert.IsNotNull(submission, "Couldn't create test submission");
            Assert.AreNotEqual(0, submission.ID, "Doesn't appear we have a valid submission id");
        }
        protected override RuleOutcome EvaluateRule(VoatRuleContext context)
        {
            Domain.Models.Submission submission = context.PropertyBag.Submission;

            if (submission.ArchiveDate != null)
            {
                return(CreateOutcome(RuleResult.Denied, "Archived Submissions do not allow voting"));
            }
            if (submission.IsDeleted)
            {
                return(CreateOutcome(RuleResult.Denied, "Deleted Submissions do not allow voting"));
            }
            return(base.EvaluateRule(context));
        }
Esempio n. 4
0
        public static void HydrateUserData(IPrincipal user, Domain.Models.Submission submission)
        {
            if (submission != null)
            {
                if (user.Identity.IsAuthenticated)
                {
                    using (var repo = new Repository())
                    {
                        var vote = repo.UserVoteStatus(user.Identity.Name, ContentType.Submission, submission.ID);
                        submission.Vote = vote;

                        //submission.IsSaved = false;
                        //submission.IsSaved = UserHelper.IsSaved(user, ContentType.Comment, comment.ID);
                    }
                }
                else
                {
                    submission.Vote = null;
                }
            }
        }
Esempio n. 5
0
        public static Domain.Models.Submission Map(this Data.Models.Submission submission)
        {
            Domain.Models.Submission result = null;
            if (submission != null)
            {
                result = new Domain.Models.Submission();


                result.ID       = submission.ID;
                result.UserName = (submission.IsAnonymized ? submission.ID.ToString() : submission.UserName);

                result.Title   = submission.Title;
                result.Url     = submission.Url;
                result.Content = (submission.Type == 1 ? submission.Content : (string)null);

                //Support For Backwards compat, if FormattedContent is empty, do it here.
                result.FormattedContent = (submission.Type == 1 && String.IsNullOrEmpty(submission.FormattedContent) ? Formatting.FormatMessage(submission.Content, true) : submission.FormattedContent);

                result.LastEditDate = submission.LastEditDate;
                result.ThumbnailUrl = FileManager.Instance.Uri(new FileKey(submission.Thumbnail, FileType.Thumbnail));
                //result.ThumbnailUrl = VoatUrlFormatter.ThumbnailPath(submission.Thumbnail, true, true);
                result.CommentCount = CommentCounter.CommentCount(submission.ID);
                result.CreationDate = submission.CreationDate;
                result.UpCount      = (int)submission.UpCount;
                result.Views        = (int)submission.Views;
                result.DownCount    = (int)submission.DownCount;
                result.Type         = submission.Type == 1 ? SubmissionType.Text : SubmissionType.Link;
                result.Subverse     = submission.Subverse;
                result.IsAnonymized = submission.IsAnonymized;
                result.IsAdult      = submission.IsAdult;
                result.IsDeleted    = submission.IsDeleted;
                result.Rank         = submission.Rank;
                result.RelativeRank = submission.RelativeRank;
                result.ArchiveDate  = submission.ArchiveDate;
                result.Domain       = submission.DomainReversed.ReverseSplit();

                //add flair if present
                if (!String.IsNullOrEmpty(submission.FlairLabel))
                {
                    result.Attributes.Add(new ContentAttribute()
                    {
                        ID = -1, Type = AttributeType.Flair, Name = submission.FlairLabel, CssClass = submission.FlairCss
                    });
                }
                if (result.IsAdult)
                {
                    result.Attributes.Add(new ContentAttribute()
                    {
                        ID = -1, Type = AttributeType.Data, Name = "NSFW", CssClass = "linkflairlabel"
                    });
                }
                if (result.ArchiveDate.HasValue)
                {
                    result.Attributes.Add(new ContentAttribute()
                    {
                        ID = -1, Type = AttributeType.Data, Name = "Archived", CssClass = "linkflairlabel"
                    });
                }
            }
            return(result);
        }