示例#1
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());
        }
示例#2
0
        internal static string CreateTextReplyForwardHeader(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(100);

            stringBuilder.Append("\n\n");
            if (headerOptions.AutoAddSignature)
            {
                stringBuilder.Append("\n\n");
                stringBuilder.Append(headerOptions.SignatureText);
            }
            stringBuilder.Append("\n________________________________________\n");
            bool flag  = !string.IsNullOrEmpty(from);
            bool flag2 = !string.IsNullOrEmpty(sender);

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

            if (obj != null && obj is ExDateTime)
            {
                stringBuilder.Append(ClientStrings.SentColon.ToString(culture));
                stringBuilder.Append(" ");
                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("\n");
            }
            if (0 < toRecipients.Count)
            {
                stringBuilder.Append(toLabel);
                stringBuilder.Append(" ");
                int num = 0;
                foreach (IRecipientBase recipientBase in toRecipients)
                {
                    num++;
                    stringBuilder.Append(recipientBase.Participant.DisplayName);
                    if (num < toRecipients.Count)
                    {
                        stringBuilder.Append("; ");
                    }
                }
                stringBuilder.Append("\n");
            }
            if (0 < ccRecipients.Count)
            {
                stringBuilder.Append(ccLabel);
                stringBuilder.Append(" ");
                int num2 = 0;
                foreach (IRecipientBase recipientBase2 in ccRecipients)
                {
                    num2++;
                    stringBuilder.Append(recipientBase2.Participant.DisplayName);
                    if (num2 < ccRecipients.Count)
                    {
                        stringBuilder.Append("; ");
                    }
                }
                stringBuilder.Append("\n");
            }
            stringBuilder.Append(ClientStrings.SubjectColon.ToString(culture));
            stringBuilder.Append(" ");
            string text = item.TryGetProperty(ItemSchema.Subject) as string;

            if (text == null)
            {
                text = string.Empty;
            }
            stringBuilder.Append(text);
            stringBuilder.Append("\n");
            if (isMeetingItem)
            {
                stringBuilder.Append(ClientStrings.WhenPart.ToString(culture));
                stringBuilder.Append(" ");
                ReplyForwardHeader.HtmlEncode(ReplyForwardHeader.GenerateWhen(item), stringBuilder);
                stringBuilder.Append("\n");
                stringBuilder.Append(ClientStrings.WherePart.ToString(culture));
                stringBuilder.Append(" ");
                string text2 = item.TryGetProperty(CalendarItemBaseSchema.Location) as string;
                if (!string.IsNullOrEmpty(text2))
                {
                    ReplyForwardHeader.HtmlEncode(text2, stringBuilder);
                }
                stringBuilder.Append("\n");
            }
            return(stringBuilder.ToString());
        }