示例#1
0
        private static string CreatePostHtmlReplyForwardHeader(PostItem item, ForwardReplyHeaderOptions headerOptions, string fromLabel, string fromHtmlMarkup, CultureInfo culture, ExTimeZone timeZone)
        {
            StringBuilder stringBuilder = new StringBuilder(150);

            using (StringWriter stringWriter = new StringWriter(stringBuilder, culture))
            {
                ReplyForwardHeader.RenderDefaultUserFontMarkup(headerOptions, stringWriter);
            }
            stringBuilder.Append("<DIV id=divRplyFwdMsg>");
            stringBuilder.Append("<HR style=\"display:inline-block;width:98%\" tabindex=\"-1\">");
            stringBuilder.Append("<FONT FACE=\"Tahoma\" size=\"2\">");
            if (!string.IsNullOrEmpty(fromHtmlMarkup))
            {
                stringBuilder.Append("<B>");
                stringBuilder.Append(fromLabel);
                stringBuilder.Append("</B> ");
                stringBuilder.Append(fromHtmlMarkup);
                stringBuilder.Append("<BR>");
            }
            ExDateTime postedTime = item.PostedTime;

            stringBuilder.Append("<B>");
            stringBuilder.Append(ClientStrings.PostedOn.ToString(culture));
            stringBuilder.Append("</B> ");
            if (timeZone == null)
            {
                ExDateTime exDateTime = item.PostedTime;
                stringBuilder.AppendFormat(ClientStrings.SentTime.ToString(culture), exDateTime.ToString("D", culture), exDateTime.ToString("T", culture), exDateTime.TimeZone.LocalizableDisplayName.ToString(culture));
            }
            else
            {
                ExDateTime exDateTime = timeZone.ConvertDateTime(item.PostedTime);
                stringBuilder.AppendFormat(ClientStrings.SentTime.ToString(culture), exDateTime.ToString("D", culture), exDateTime.ToString("T", culture), timeZone.LocalizableDisplayName.ToString(culture));
            }
            stringBuilder.Append("<BR>");
            stringBuilder.Append("<B>");
            stringBuilder.Append(ClientStrings.PostedTo.ToString(culture));
            stringBuilder.Append("</B> ");
            string s = null;

            using (Folder folder = Folder.Bind(item.Session, item.ParentId))
            {
                s = folder.DisplayName;
            }
            ReplyForwardHeader.HtmlEncode(s, stringBuilder);
            stringBuilder.Append("<BR>");
            stringBuilder.Append("<B>");
            stringBuilder.Append(ClientStrings.Conversation.ToString(culture));
            stringBuilder.Append("</B> ");
            ReplyForwardHeader.HtmlEncode(item.ConversationTopic, stringBuilder);
            stringBuilder.Append("<BR>");
            stringBuilder.Append("</FONT><BR></DIV>");
            stringBuilder.Append("</DIV>");
            return(stringBuilder.ToString());
        }
示例#2
0
        internal static string CreateHtmlReplyForwardHeader(Item item, ForwardReplyHeaderOptions headerOptions, string fromLabel, string from, string sender, string toLabel, string ccLabel, IList <IRecipientBase> toRecipients, IList <IRecipientBase> ccRecipients, bool isMeetingItem, CultureInfo culture, ExTimeZone timeZone)
        {
            StringBuilder stringBuilder = new StringBuilder(150);

            using (StringWriter stringWriter = new StringWriter(stringBuilder, culture))
            {
                ReplyForwardHeader.RenderDefaultUserFontMarkup(headerOptions, stringWriter);
            }
            stringBuilder.Append("<HR style=\"display:inline-block;width:98%\" tabindex=\"-1\">");
            stringBuilder.Append("<FONT FACE=\"Tahoma\" size=\"2\">");
            bool flag  = !string.IsNullOrEmpty(from);
            bool flag2 = !string.IsNullOrEmpty(sender);

            if (flag2 || flag)
            {
                stringBuilder.Append("<B>");
                stringBuilder.Append(fromLabel);
                stringBuilder.Append("</B> ");
                if (flag2 && string.Compare(sender, from, StringComparison.Ordinal) != 0)
                {
                    ReplyForwardHeader.HtmlEncode(sender, stringBuilder);
                    if (flag)
                    {
                        stringBuilder.Append(string.Format(culture, ClientStrings.OnBehalfOf.ToString(culture), new object[]
                        {
                            string.Empty,
                            string.Empty
                        }));
                    }
                }
                if (flag)
                {
                    ReplyForwardHeader.HtmlEncode(from, stringBuilder);
                }
                stringBuilder.Append("<BR>");
            }
            object obj = item.TryGetProperty(ItemSchema.SentTime);

            if (obj != null && obj is ExDateTime)
            {
                stringBuilder.Append("<B>");
                stringBuilder.Append(ClientStrings.SentColon.ToString(culture));
                stringBuilder.Append("</B> ");
                ExDateTime exDateTime = (ExDateTime)obj;
                if (timeZone != null)
                {
                    exDateTime = timeZone.ConvertDateTime(exDateTime);
                    stringBuilder.AppendFormat(ClientStrings.SentTime.ToString(culture), exDateTime.ToString("D", culture), exDateTime.ToString("T", culture), timeZone.LocalizableDisplayName.ToString(culture));
                }
                else
                {
                    stringBuilder.AppendFormat(ClientStrings.SentTime.ToString(culture), exDateTime.ToString("D", culture), exDateTime.ToString("T", culture), exDateTime.TimeZone.LocalizableDisplayName.ToString(culture));
                }
                stringBuilder.Append("<BR>");
            }
            if (0 < toRecipients.Count)
            {
                stringBuilder.Append("<B>");
                stringBuilder.Append(toLabel);
                stringBuilder.Append("</B> ");
                int num = 0;
                foreach (IRecipientBase recipientBase in toRecipients)
                {
                    num++;
                    ReplyForwardHeader.HtmlEncode(recipientBase.Participant.DisplayName, stringBuilder);
                    if (num < toRecipients.Count)
                    {
                        stringBuilder.Append("; ");
                    }
                }
                stringBuilder.Append("<BR>");
            }
            if (0 < ccRecipients.Count)
            {
                stringBuilder.Append("<B>");
                stringBuilder.Append(ccLabel);
                stringBuilder.Append("</B> ");
                int num2 = 0;
                foreach (IRecipientBase recipientBase2 in ccRecipients)
                {
                    num2++;
                    ReplyForwardHeader.HtmlEncode(recipientBase2.Participant.DisplayName, stringBuilder);
                    if (num2 < ccRecipients.Count)
                    {
                        stringBuilder.Append("; ");
                    }
                }
                stringBuilder.Append("<BR>");
            }
            stringBuilder.Append("<B>");
            stringBuilder.Append(ClientStrings.SubjectColon.ToString(culture));
            stringBuilder.Append("</B> ");
            string text = item.TryGetProperty(ItemSchema.Subject) as string;

            if (text == null)
            {
                text = string.Empty;
            }
            ReplyForwardHeader.HtmlEncode(text, stringBuilder);
            stringBuilder.Append("<BR>");
            if (isMeetingItem)
            {
                stringBuilder.Append("<B>");
                stringBuilder.Append(ClientStrings.WhenPart.ToString(culture));
                stringBuilder.Append("</B> ");
                ReplyForwardHeader.HtmlEncode(ReplyForwardHeader.GenerateWhen(item), stringBuilder);
                stringBuilder.Append("<BR><B>");
                stringBuilder.Append(ClientStrings.WherePart.ToString(culture));
                stringBuilder.Append("</B> ");
                string text2 = item.TryGetProperty(CalendarItemBaseSchema.Location) as string;
                if (!string.IsNullOrEmpty(text2))
                {
                    ReplyForwardHeader.HtmlEncode(text2, stringBuilder);
                }
                stringBuilder.Append("<BR>");
            }
            stringBuilder.Append("</FONT><BR></DIV>");
            return(stringBuilder.ToString());
        }