public object ResolveParameterValue(Mail_Message mailMessage)
        {
            if (!Pattern.IsMatch(mailMessage.Subject))
                return null;

            return Convert.ToInt32(Pattern.Match(mailMessage.Subject).Value);
        }
        public object ResolveParameterValue(Mail_Message mailMessage)
        {
            if (!Pattern.IsMatch(mailMessage.Subject))
                return null;

            var match = Pattern.Match(mailMessage.Subject);
            return new DateTime(Convert.ToInt32(match.Groups["year"].Value), Convert.ToInt32(match.Groups["month"].Value), Convert.ToInt32(match.Groups["day"].Value));
        }
        public object ResolveParameterValue(Mail_Message mailMessage)
        {
            var messageText = new HtmlContentResolver().ResolveParameterValue(mailMessage) as string;

            if (!string.IsNullOrEmpty(messageText))
                messageText = Html2TextConverter.Convert(messageText);

            return messageText;
        }
        public object ResolveParameterValue(Mail_Message mailMessage)
        {
            if (!Pattern.IsMatch(mailMessage.Subject))
                return null;

            var tags = Pattern.Matches(mailMessage.Subject).Cast<Match>()
                              .SelectMany(x => x.Value.TrimStart('#').Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries))
                              .ToArray();

            return string.Join(",", tags);
        }
        public object ResolveParameterValue(Mail_Message mailMessage)
        {
            var subject = mailMessage.Subject;

            foreach (var pattern in _ignorePatterns)
            {
                subject = pattern.Replace(subject, "");
            }

            return Regex.Replace(subject, @"\s+", " ").Trim(' ');
        }
        public object ResolveParameterValue(Mail_Message mailMessage)
        {
            var messageText = !string.IsNullOrEmpty(mailMessage.BodyHtmlText)
                                  ? mailMessage.BodyHtmlText
                                  : Text2HtmlConverter.Convert(mailMessage.BodyText.Trim(' '));

            messageText = messageText.Replace(Environment.NewLine, "").Replace(@"\t", "");
            messageText = HtmlEntity.DeEntitize(messageText);
            messageText = HtmlSanitizer.Sanitize(messageText);

            return messageText.Trim("<br>").Trim("</br>").Trim(' ');
        }
        public object ResolveParameterValue(Mail_Message mailMessage)
        {
            if (!Pattern.IsMatch(mailMessage.Subject))
                return null;

            var users = new List<object>();
            foreach (Match match in Pattern.Matches(mailMessage.Subject))
            {
                var words = match.Value.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);
                Guid user;
                if (TryGetUser(words[0], words[1], out user))
                {
                    users.Add(user);
                }
            }

            return users;
        }
Esempio n. 8
0
        /// <summary>
        /// Parses mail message from the specified stream.
        /// </summary>
        /// <param name="stream">Stream from where to parse mail message. Parsing starts from current stream position.</param>
        /// <returns>Returns parsed mail message.</returns>
        /// <exception cref="ArgumentNullException">Is raised when <b>stream</b> is null.</exception>
        public new static Mail_Message ParseFromStream(Stream stream)
        {
            if (stream == null)
            {
                throw new ArgumentNullException("stream");
            }

            Mail_Message retVal = new Mail_Message();
            retVal.Parse(new SmartStream(stream, false), new MIME_h_ContentType("text/plain"));

            return retVal;
        }
        public object ResolveParameterValue(Mail_Message mailMessage)
        {
            var responsibles = new TaskResponsiblesResolver().ResolveParameterValue(mailMessage) as List<object>;

            return responsibles != null ? responsibles.FirstOrDefault() : null;
        }