protected override Clue MakeClueImpl([NotNull] ActivityModel input, Guid accountId) { if (input == null) { throw new ArgumentNullException(nameof(input)); } // TODO: Create clue specifying the type of entity it is and ID var clue = _factory.Create(EntityType.Files.Directory, input.Folder.Id.PrintIfAvailable(), accountId); // TODO: Populate clue data var data = clue.Data.EntityData; var vocab = new ExchangeSharedMailboxActivityVocabulary(); data.Properties[vocab.From] = input.Object.From.PrintIfAvailable(); data.Properties[vocab.Sender] = input.Object.Sender.PrintIfAvailable(); data.Properties[vocab.To] = input.Object.DisplayTo.PrintIfAvailable(); data.Properties[vocab.Cc] = input.Object.DisplayCc.PrintIfAvailable(); // data.Properties[vocab.Bcc] = input.Object.DisplayCc.PrintIfAvailable(); data.Properties[vocab.ReplyTo] = input.Object.ReplyTo.PrintIfAvailable(); data.Properties[vocab.ReceivedBy] = input.Object.ReceivedBy.PrintIfAvailable(); data.Properties[vocab.ReceivedRepresenting] = input.Object.ReceivedRepresenting.PrintIfAvailable(); data.Properties[vocab.IsRead] = input.Object.IsRead.PrintIfAvailable(); data.Properties[vocab.InternetMessageId] = input.Object.InternetMessageId.PrintIfAvailable(); data.Properties[vocab.ConversationTopic] = input.Object.ConversationTopic.PrintIfAvailable(); data.Properties[vocab.IsDeliveryReceiptRequested] = input.Object.IsDeliveryReceiptRequested.PrintIfAvailable(); data.Properties[vocab.IsResponseRequested] = input.Object.IsResponseRequested.PrintIfAvailable(); data.Properties[vocab.References] = input.Object.References.PrintIfAvailable(); data.Name = input.Folder.DisplayName.PrintIfAvailable(); clue.ValidationRuleSuppressions.AddRange(new[] { RuleConstants.METADATA_002_Uri_MustBeSet, RuleConstants.METADATA_003_Author_Name_MustBeSet, RuleConstants.METADATA_005_PreviewImage_RawData_MustBeSet }); //since all clues need at least one edge //folder is connected to the provider itself _factory.CreateEntityRootReference(clue, EntityEdgeType.PartOf); return(clue); }
static ExchangeSharedMailboxVocabulary() { Mail = new ExchangeSharedMailboxMailVocabulary(); MailHeaders = new ExchangeSharedMailboxMailHeadersVocabulary(); ExtendedProperties = new ExchangeSharedMailboxExtendedPropertiesVocabulary(); EmailAddresss = new ExchangeSharedMailboxEmailAddresssVocabulary(); Contact = new ExchangeSharedMailboxContactVocabulary(); Item = new ExchangeSharedMailboxItemVocabulary(); Mailbox = new ExchangeSharedMailboxMailboxVocabulary(); Folder = new ExchangeSharedMailboxFolderVocabulary(); Note = new ExchangeSharedMailboxNoteVocabulary(); Appointment = new ExchangeSharedMailboxAppointmentVocabulary(); Task = new ExchangeSharedMailboxTaskVocabulary(); Post = new ExchangeSharedMailboxPostVocabulary(); Activity = new ExchangeSharedMailboxActivityVocabulary(); ChatConversation = new ExchangeSharedMailboxChatConversationVocabulary(); Document = new ExchangeSharedMailboxDocumentVocabulary(); MeetingCancellation = new ExchangeSharedMailboxMeetingCancellationVocabulary(); MeetingMessage = new ExchangeSharedMailboxMeetingMessageGenericVocabulary(); MeetingRequest = new ExchangeSharedMailboxMeetingRequestVocabulary(); MeetingResponse = new ExchangeSharedMailboxMeetingResponseVocabulary(); }