Esempio n. 1
0
        public ActionResult ModalAction(FeatureParameters parameters)
        {
            ValidateFeatureParameters(parameters, FeatureParametersValidator.FeatureIdentifierWithAction);
            ValidateFeatureParameters(parameters, Enum.GetName(parameters.Action.GetType(), parameters.Action));

            return(RedirectToAction(Enum.GetName(parameters.Action.GetType(), parameters.Action), parameters.GetActionSpecificParameters()));
        }
        public bool IsDateContained(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(FeatureRegex.Date.IsMatch(item.Message));
        }
        public bool IsTextHighlighted(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(FeatureRegex.HighlightBBTag.IsMatch(item.Message));
        }
Esempio n. 4
0
        public async Task <ActionResult> ListFeatures(FeatureParameters parameters)
        {
            ValidateFeatureParameters(parameters, FeatureParametersValidator.NoValidation);

            var filter = new FeatureFilter()
            {
                FilterMessage = parameters.FilterMessage,
                CarLine       = parameters.CarLine,
                ModelYear     = parameters.ModelYear,
                Gateway       = parameters.Gateway,
                Action        = FeatureAction.Features
            };

            filter.InitialiseFromJson(parameters);

            var results = await FeatureViewModel.GetModel(DataContext, filter);

            var jQueryResult = new JQueryDataTableResultModel(results);

            foreach (var result in results.Features.CurrentPage)
            {
                jQueryResult.aaData.Add(result.ToJQueryDataTableResult());
            }

            return(Json(jQueryResult));
        }
        public bool IsEdited(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(item.Edited != null);
        }
        public int GetUserQuotesCount(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(FeatureRegex.QuoteExpression.Matches(item.Message).Count);
        }
        public bool IsSmileContained(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(smiles.Any(item.Message.Contains));
        }
        public int GetDistinctPunctuationsCount(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(item.Message.Where(char.IsPunctuation).Distinct().Count());
        }
        public int GetUpperLettersCount(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(item.Message.Count(char.IsUpper));
        }
        public bool IsFormWordsContained(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(IsWordsFromCollectionContained(item.Message, formWords));
        }
        public int GetNumbersCount(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(FeatureRegex.Numbers.Split(item.Message).Length - 1);
        }
        public int GetQuestionMarksFeature(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(item.Message.Split('?').Length - 1);
        }
        public int GetPostLengthFeature(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(item.Message.Length);
        }
        public int GetPoints(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(item.Points);
        }
        public int GetHtmlTagsCount(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(FeatureRegex.HtmlTags.Matches(item.Message).Count);
        }
        public int ThreadLength(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(buhonlineDataProvider.ReadTopicMessages(item.TopicID).Count());
        }
        public bool IsHelloContained(FeatureParameters parameters)
        {
            HashSet <string> helloWords = Preprocessing.HelloWords;
            int         messageId       = parameters.MessageId;
            yaf_Message item            = buhonlineDataProvider.ReadMessage(messageId);

            return(helloWords.Any(item.Message.ToLower().StartsWith));
        }
        public bool IsThankwordsContained(FeatureParameters parameters)
        {
            int              messageId  = parameters.MessageId;
            yaf_Message      item       = buhonlineDataProvider.ReadMessage(messageId);
            HashSet <string> thankwords = Preprocessing.ThankWords;

            return(FeatureRegex.Words.Split(item.Message.ToLower()).Any(thankwords.Contains));
        }
        public bool IsSameAuthorAsTopicStarter(FeatureParameters parameters)
        {
            int         messageId            = parameters.MessageId;
            yaf_Message item                 = buhonlineDataProvider.ReadMessage(messageId);
            int         topicStarterAuthorID = GetTopicStarter(item.TopicID).UserID;

            return(item.UserID == topicStarterAuthorID);
        }
        public double QuotientPostLengthToAvarageInTopic(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);
            IEnumerable <yaf_Message> messages = buhonlineDataProvider.ReadTopicMessages(item.TopicID);

            return(messages.Average(m => m.Message.Length));
        }
        public double TimeFromTopicStarter(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);
            yaf_Message ts        = buhonlineDataProvider.ReadTopicStarter(item.TopicID);

            return((item.Posted - ts.Posted).TotalMinutes);
        }
 public static FeatureFilter FromParameters(FeatureParameters parameters)
 {
     return(new FeatureFilter()
     {
         FeatureId = parameters.FeatureId,
         Action = parameters.Action
     });
 }
        public bool IsFormulaContained(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            string[] parts = item.Message.Split(new[] { ']', '?' });
            return(parts.Any(FeatureRegex.Formula.IsMatch));
        }
Esempio n. 24
0
        public async Task <ActionResult> ModalContent(FeatureParameters parameters)
        {
            ValidateFeatureParameters(parameters, FeatureParametersValidator.Action);

            var filter         = FeatureMappingFilter.FromParameters(parameters);
            var derivativeView = await GetModelFromParameters(parameters);

            return(PartialView(GetContentPartialViewName(parameters.Action), derivativeView));
        }
        public int GetAccentedWordsCount(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(GetTaggedWordsCount(item.Message, new List <string> {
                "b", "s", "color", "colour"
            }));
        }
        public int GetMessageCitedCount(FeatureParameters parameters)
        {
            int         messageId = parameters.MessageId;
            yaf_Message item      = buhonlineDataProvider.ReadMessage(messageId);

            return(Preprocessing.MessageCitedCounts.ContainsKey(item.MessageID)
                       ? Preprocessing.MessageCitedCounts[item.MessageID]
                       : 0);
        }
        public double GetStopWordsToAllWordsCount(FeatureParameters parameters)
        {
            int              messageId = parameters.MessageId;
            yaf_Message      item      = buhonlineDataProvider.ReadMessage(messageId);
            HashSet <string> stopwords = Preprocessing.StopWords;

            return((double)FeatureRegex.Words.Split(item.Message.ToLower()).Count(stopwords.Contains) /
                   GetWordsCount(parameters));
        }
Esempio n. 28
0
        private void ValidateFeatureParameters(FeatureParameters parameters, string ruleSetName)
        {
            var validator = new FeatureParametersValidator();
            var result    = validator.Validate(parameters, ruleSet: ruleSetName);

            if (!result.IsValid)
            {
                throw new ValidationException(result.Errors);
            }
        }
        public bool IsTopicStarterCited(FeatureParameters parameters)
        {
            int         messageId    = parameters.MessageId;
            yaf_Message item         = buhonlineDataProvider.ReadMessage(messageId);
            yaf_Message topicStarter = GetTopicStarter(item.TopicID);

            return
                (FeatureRegex.QuoteExpression.Matches(item.Message).Cast <Match>().Any(
                     m => m.Groups[1].Value.Trim().ToLower() == topicStarter.Message.Trim().ToLower()));
        }
Esempio n. 30
0
        public async Task <ActionResult> FeaturePage(FeatureParameters parameters)
        {
            var filter = new FeatureFilter()
            {
                PageIndex = PageIndex,
                PageSize  = PageSize
            };

            return(View(await FeatureViewModel.GetModel(DataContext, filter)));
        }