protected override Clue MakeClueImpl([NotNull] AttendeeByMeeting input, Guid accountId) { if (input == null) { throw new ArgumentNullException(nameof(input)); } // TODO: Create clue specifying the type of entity it is and ID var id = string.Format("GoToMeetingAttendee_{0}_{1}", input.name, input.attendeeEmail); var clue = _factory.Create(EntityType.Infrastructure.User, id, accountId); clue.ValidationRuleSupressions.Add(Constants.Validation.Rules.METADATA_002_Uri_MustBeSet); // TODO: Populate clue dat6a var data = clue.Data.EntityData; data.DisplayName = input.attendeeName; data.Name = input.attendeeName; var vocab = new AttendeeVocabulary(); data.Properties[vocab.Email] = input.attendeeEmail.PrintIfAvailable(); _factory.CreateOutgoingEntityReference(clue, EntityType.Planning, EntityEdgeType.Attended, input.meetingId, input.meetingId.ToString()); return(clue); }
protected override Clue MakeClueImpl([NotNull] Attendee input, Guid accountId) { if (input == null) { throw new ArgumentNullException(nameof(input)); } // TODO: Create clue specifying the type of entity it is and ID var id = string.Format("GoToWebinarAttendee_{0}", input.Email); var clue = _factory.Create(EntityType.Infrastructure.User, id, accountId); clue.ValidationRuleSupressions.Add(Constants.Validation.Rules.METADATA_003_Author_Name_MustBeSet); clue.ValidationRuleSupressions.Add(Constants.Validation.Rules.METADATA_002_Uri_MustBeSet); // TODO: Populate clue data var data = clue.Data.EntityData; data.Name = string.Format("{0} {1}", input.FirstName, input.LastName); var vocab = new AttendeeVocabulary(); var attendanceTime = TimeSpan.FromSeconds(input.AttendanceTimeInSeconds); data.Properties[vocab.AttendanceTime] = attendanceTime.ToString().PrintIfAvailable(); data.Properties[vocab.Email] = input.Email.PrintIfAvailable(); data.Properties[vocab.FirstName] = input.FirstName.PrintIfAvailable(); data.Properties[vocab.JoinTime] = input.Attendance?.FirstOrDefault().JoinTime.PrintIfAvailable(); data.Properties[vocab.LastName] = input.LastName.PrintIfAvailable(); data.Properties[vocab.LeaveTime] = input.Attendance?.FirstOrDefault().LeaveTime.PrintIfAvailable(); data.Properties[vocab.RegistrantKey] = input.RegistrantKey.PrintIfAvailable(); data.Properties[vocab.SessionKey] = input.SessionKey.PrintIfAvailable(); var SessionId = string.Format("GoToWebinarSession_{0}", input.SessionKey); _factory.CreateOutgoingEntityReference(clue, EntityType.Discussion, EntityEdgeType.Attended, SessionId, SessionId); return(clue); }