Ejemplo n.º 1
0
 private static DsnFlags GetDsnFlags(string itemClass)
 {
     foreach (KeyValuePair <string, DsnFlags> keyValuePair in ReportMessage.DsnClassToDsnFlag)
     {
         if (ObjectClass.IsReport(itemClass, keyValuePair.Key))
         {
             return(keyValuePair.Value);
         }
     }
     return(DsnFlags.None);
 }
Ejemplo n.º 2
0
 public static bool TryGetSubjectPrefix(string itemClass, out LocalizedString subjectPrefix)
 {
     foreach (KeyValuePair <string, SystemMessages.IDs> keyValuePair in DsnMdnUtil.reportClassOrSuffixToSubjectPrefix)
     {
         if (ObjectClass.IsReport(itemClass, keyValuePair.Key))
         {
             subjectPrefix = SystemMessages.GetLocalizedString(keyValuePair.Value);
             return(true);
         }
     }
     subjectPrefix = LocalizedString.Empty;
     return(false);
 }
Ejemplo n.º 3
0
        private static LocalizedString GenerateOldFashionedReportBody(MessageItem message, out CultureInfo culture)
        {
            message.Load(ReportMessageSchema.Instance.AutoloadProperties);
            ExDateTime?  valueAsNullable = message.GetValueAsNullable <ExDateTime>(InternalSchema.ReportTime);
            ExTimeZone   exTimeZone      = ExTimeZone.CurrentTimeZone;
            StoreSession session         = message.Session;

            if (session != null)
            {
                exTimeZone = session.ExTimeZone;
            }
            byte[]     valueOrDefault = message.GetValueOrDefault <byte[]>(InternalSchema.TimeZoneDefinitionStart);
            ExTimeZone exTimeZone2;

            if (valueOrDefault != null && O12TimeZoneFormatter.TryParseTruncatedTimeZoneBlob(valueOrDefault, out exTimeZone2))
            {
                exTimeZone = (TimeZoneHelper.PromoteCustomizedTimeZone(exTimeZone2) ?? exTimeZone2);
            }
            culture = ReportMessage.GetMdnCulture(message.CoreItem);
            LocalizedString originalMessageInfo = ReportMessage.GetOriginalMessageInfo(message, exTimeZone, culture);
            LocalizedString result;

            if (ObjectClass.IsReport(message.ClassName, "IPNRN"))
            {
                if (valueAsNullable != null)
                {
                    result = ClientStrings.MdnRead(originalMessageInfo, exTimeZone.ConvertDateTime(valueAsNullable.Value), new LocalizedString(exTimeZone.LocalizableDisplayName.ToString(culture)));
                }
                else
                {
                    result = ClientStrings.MdnReadNoTime(originalMessageInfo);
                }
            }
            else
            {
                if (!ObjectClass.IsReport(message.ClassName, "IPNNRN"))
                {
                    ExTraceGlobals.StorageTracer.TraceDebug((long)message.GetHashCode(), ServerStrings.UnsupportedReportType(message.ClassName));
                    return(new LocalizedString(ServerStrings.UnsupportedReportType(message.ClassName)));
                }
                if (valueAsNullable != null)
                {
                    result = ClientStrings.MdnNotRead(originalMessageInfo, exTimeZone.ConvertDateTime(valueAsNullable.Value), new LocalizedString(exTimeZone.LocalizableDisplayName.ToString(culture)));
                }
                else
                {
                    result = ClientStrings.MdnNotReadNoTime(originalMessageInfo);
                }
            }
            return(result);
        }
Ejemplo n.º 4
0
 private static OutlookModule GetModuleForObjectClass(string objectClass)
 {
     if (objectClass == null)
     {
         return(OutlookModule.None);
     }
     if (ObjectClass.IsCalendarFolder(objectClass) || ObjectClass.IsCalendarItem(objectClass))
     {
         return(OutlookModule.Calendar);
     }
     if (ObjectClass.IsContactsFolder(objectClass) || ObjectClass.IsContact(objectClass) || ObjectClass.IsDistributionList(objectClass))
     {
         return(OutlookModule.Contacts);
     }
     if (ObjectClass.IsJournalFolder(objectClass) || ObjectClass.IsJournalItem(objectClass))
     {
         return(OutlookModule.Journal);
     }
     if (ObjectClass.IsNotesFolder(objectClass) || ObjectClass.IsNotesItem(objectClass))
     {
         return(OutlookModule.Notes);
     }
     if (ObjectClass.IsTaskFolder(objectClass) || ObjectClass.IsTask(objectClass))
     {
         return(OutlookModule.Tasks);
     }
     if (ObjectClass.IsMessageFolder(objectClass) || ObjectClass.IsMessage(objectClass, false) || ObjectClass.IsMeetingMessage(objectClass) || ObjectClass.IsTaskRequest(objectClass) || ObjectClass.IsReport(objectClass))
     {
         return(OutlookModule.Mail);
     }
     return(OutlookModule.None);
 }
Ejemplo n.º 5
0
 public static bool IsMdn(string itemClass)
 {
     return(ObjectClass.IsReport(itemClass, "IPNRN") || ObjectClass.IsReport(itemClass, "IPNNRN"));
 }
Ejemplo n.º 6
0
 public static bool IsDsnNegative(string itemClass)
 {
     return(ObjectClass.IsReport(itemClass, "NDR"));
 }
Ejemplo n.º 7
0
 public static StoreObjectType GetObjectType(string itemClass)
 {
     if (ObjectClass.IsOfClass(itemClass, "IPM.Note.Rules.OofTemplate.Microsoft", false))
     {
         return(StoreObjectType.OofMessage);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Note.Rules.ExternalOofTemplate.Microsoft", false))
     {
         return(StoreObjectType.ExternalOofMessage);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Note.Reminder"))
     {
         return(StoreObjectType.ReminderMessage);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Note"))
     {
         return(StoreObjectType.Message);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Post"))
     {
         return(StoreObjectType.Post);
     }
     if (ObjectClass.IsReport(itemClass))
     {
         return(StoreObjectType.Report);
     }
     if (ObjectClass.IsCalendarItem(itemClass))
     {
         return(StoreObjectType.CalendarItem);
     }
     if (ObjectClass.IsCalendarItemSeries(itemClass))
     {
         return(StoreObjectType.CalendarItemSeries);
     }
     if (ObjectClass.IsMeetingRequestSeries(itemClass))
     {
         return(StoreObjectType.MeetingRequestSeries);
     }
     if (ObjectClass.IsMeetingRequest(itemClass))
     {
         return(StoreObjectType.MeetingRequest);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.MeetingMessageSeries.Resp"))
     {
         return(StoreObjectType.MeetingResponseSeries);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Schedule.Meeting.Resp"))
     {
         return(StoreObjectType.MeetingResponse);
     }
     if (ObjectClass.IsMeetingCancellationSeries(itemClass))
     {
         return(StoreObjectType.MeetingCancellationSeries);
     }
     if (ObjectClass.IsMeetingCancellation(itemClass))
     {
         return(StoreObjectType.MeetingCancellation);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Schedule.Meeting.Notification.Forward"))
     {
         return(StoreObjectType.MeetingForwardNotification);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.MeetingMessageSeries.Notification.Forward"))
     {
         return(StoreObjectType.MeetingForwardNotificationSeries);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Notification.Meeting"))
     {
         return(StoreObjectType.MeetingForwardNotification);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Schedule.Inquiry"))
     {
         return(StoreObjectType.MeetingInquiryMessage);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Contact.Place"))
     {
         return(StoreObjectType.Place);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Contact"))
     {
         return(StoreObjectType.Contact);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.UserPhoto.Preview"))
     {
         return(StoreObjectType.UserPhotoPreview);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.UserPhoto"))
     {
         return(StoreObjectType.UserPhoto);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.DistList"))
     {
         return(StoreObjectType.DistributionList);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Task"))
     {
         return(StoreObjectType.Task);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.TaskRequest"))
     {
         return(StoreObjectType.TaskRequest);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.ConversationAction"))
     {
         return(StoreObjectType.ConversationActionItem);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Note.rpmsg.Microsoft.Voicemail.UM.CA"))
     {
         return(StoreObjectType.Message);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Note.rpmsg.Microsoft.Voicemail.UM"))
     {
         return(StoreObjectType.Message);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.Sharing", false))
     {
         return(StoreObjectType.SharingMessage);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.GroupMailbox.JoinRequest"))
     {
         return(StoreObjectType.GroupMailboxRequestMessage);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.MailboxAssociation.Group"))
     {
         return(StoreObjectType.MailboxAssociationGroup);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.MailboxAssociation.User"))
     {
         return(StoreObjectType.MailboxAssociationUser);
     }
     if (ObjectClass.IsOfClass(itemClass, "IPM.HierarchySync.Metadata"))
     {
         return(StoreObjectType.HierarchySyncMetadata);
     }
     if (ObjectClass.IsSubscriptionDataItem(itemClass))
     {
         return(StoreObjectType.PushNotificationSubscription);
     }
     if (ObjectClass.IsOutlookServiceSubscriptionDataItem(itemClass))
     {
         return(StoreObjectType.OutlookServiceSubscription);
     }
     if (ObjectClass.IsConfigurationItem(itemClass))
     {
         return(StoreObjectType.Configuration);
     }
     if (ObjectClass.IsParkedMeetingMessage(itemClass))
     {
         return(StoreObjectType.ParkedMeetingMessage);
     }
     if (ObjectClass.IsGenericMessage(itemClass))
     {
         return(StoreObjectType.Message);
     }
     if (ObjectClass.IsCalendarFolder(itemClass))
     {
         return(StoreObjectType.CalendarFolder);
     }
     if (ObjectClass.IsContactsFolder(itemClass))
     {
         return(StoreObjectType.ContactsFolder);
     }
     if (ObjectClass.IsTaskFolder(itemClass))
     {
         return(StoreObjectType.TasksFolder);
     }
     if (ObjectClass.IsNotesFolder(itemClass))
     {
         return(StoreObjectType.NotesFolder);
     }
     if (ObjectClass.IsJournalFolder(itemClass))
     {
         return(StoreObjectType.JournalFolder);
     }
     if (ObjectClass.IsShortcutFolder(itemClass))
     {
         return(StoreObjectType.ShortcutFolder);
     }
     if (ObjectClass.IsGenericFolder(itemClass))
     {
         return(StoreObjectType.Folder);
     }
     return(StoreObjectType.Unknown);
 }