public UnapprovedDelegate( DelegateUser delegateUser, List <CentreRegistrationPromptWithAnswer> registrationPrompts ) { Id = delegateUser.Id; CandidateNumber = delegateUser.CandidateNumber; TitleName = DisplayStringHelper.GetNonSortableFullNameForDisplayOnly( delegateUser.FirstName, delegateUser.LastName ); Email = delegateUser.EmailAddress; DateRegistered = delegateUser.DateRegistered; JobGroup = delegateUser.JobGroupName; ProfessionalRegistrationNumber = PrnStringHelper.GetPrnDisplayString( delegateUser.HasBeenPromptedForPrn, delegateUser.ProfessionalRegistrationNumber ); DelegateRegistrationPrompts = registrationPrompts .Select( cp => new DelegateRegistrationPrompt( cp.RegistrationField.Id, cp.PromptText, cp.Mandatory, cp.Answer ) ) .ToList(); }
void ReadElementsFromXml(EwsServiceXmlReader reader) { if (this.ErrorCode == ServiceError.NoError) { this.delegateUserResponses = new Collection <DelegateUserResponse>(); reader.Read(); if (reader.IsStartElement(XmlNamespace.Messages, XmlElementNames.ResponseMessages)) { int delegateUserIndex = 0; do { reader.Read(); if (reader.IsStartElement(XmlNamespace.Messages, XmlElementNames.DelegateUserResponseMessageType)) { DelegateUser delegateUser = null; if (this.readDelegateUsers && (this.delegateUsers != null)) { delegateUser = this.delegateUsers[delegateUserIndex]; } DelegateUserResponse delegateUserResponse = new DelegateUserResponse(readDelegateUsers, delegateUser); delegateUserResponse.LoadFromXml(reader, XmlElementNames.DelegateUserResponseMessageType); this.delegateUserResponses.Add(delegateUserResponse); delegateUserIndex++; } }while (!reader.IsEndElement(XmlNamespace.Messages, XmlElementNames.ResponseMessages)); } } }
private void GetUserIdButton_Click(object sender, EventArgs e) { UserId delegateUserId = null; if (UserIdDialog.ShowDialog(this.CurrentService, ref delegateUserId) != DialogResult.OK) { // If the UserIdDialog does not return OK then do nothing DebugLog.WriteVerbose("UserIdDialog did not return OK"); return; } if (delegateUserId == null) { // If delegateUserId is NULL then do nothing DebugLog.WriteVerbose("UserIdDialog return a NULL UserId"); return; } // If the UserIdDialog returns OK then reset the DelegateUser using the new UserId if (!String.IsNullOrEmpty(delegateUserId.PrimarySmtpAddress)) { this.DelegateUser = new DelegateUser(delegateUserId.PrimarySmtpAddress); } else if (delegateUserId.StandardUser.HasValue) { this.DelegateUser = new DelegateUser(delegateUserId.StandardUser.Value); } else { // Treat an invalid delegateUserId as if the UserIdDialog did not return OK DebugLog.WriteVerbose("UserIdDialog returned OK but UserId returned didn't have StandardUser or PrimarySmtpAddress"); } }
public void AddDelegateToGroupAndEnrolOnGroupCourses( int groupId, DelegateUser delegateUser, int?addedByAdminId = null ) { using var transaction = new TransactionScope(); groupsDataService.AddDelegateToGroup(delegateUser.Id, groupId, clockService.UtcNow, 0); var accountDetailsData = new MyAccountDetailsData( delegateUser.Id, delegateUser.FirstName !, delegateUser.LastName, delegateUser.EmailAddress ! ); EnrolDelegateOnGroupCourses( delegateUser, accountDetailsData, groupId, addedByAdminId ); transaction.Complete(); }
public RejectDelegateViewModel(DelegateUser delegateUser) { Id = delegateUser.Id; FullName = delegateUser.FirstName + " " + delegateUser.LastName; Email = delegateUser.EmailAddress; DateRegistered = delegateUser.DateRegistered; }
private void UpdateDelegate(DelegateTableRow delegateRow, DelegateUser delegateUser) { try { userDataService.UpdateDelegate( delegateUser.Id, delegateRow.FirstName !, delegateRow.LastName !, delegateRow.JobGroupId !.Value, delegateRow.Active !.Value, delegateRow.Answer1, delegateRow.Answer2, delegateRow.Answer3, delegateRow.Answer4, delegateRow.Answer5, delegateRow.Answer6, delegateRow.AliasId, delegateRow.Email ! ); UpdateUserProfessionalRegistrationNumberIfNecessary( delegateRow.HasPrn, delegateRow.Prn, delegateUser.Id ); delegateRow.RowStatus = RowStatus.Updated; } catch { delegateRow.Error = BulkUploadResult.ErrorReason.UnexpectedErrorForUpdate; } }
static DelegateUserResponse updateDelegates(string del) { LogLine("Updating delegate permissions for user '" + del + "'"); Mailbox mailbox = new Mailbox(del); DelegateInformation result = service.GetDelegates(mailbox, true); Collection <DelegateUserResponse> resps = result.DelegateUserResponses; LogLine("Found " + resps.Count + " delegates for user '" + del + "'"); foreach (DelegateUserResponse r in resps) { LogLine(r.Result.ToString()); } // Create a list to hold the updated delegates. List <DelegateUser> updatedDelegates = new System.Collections.Generic.List <DelegateUser>(); // Set the new permissions for the delegate. DelegateUser taskDelegate = new DelegateUser(discoverUser); taskDelegate.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Author; taskDelegate.Permissions.TasksFolderPermissionLevel = DelegateFolderPermissionLevel.Author; updatedDelegates.Add(taskDelegate); Collection <DelegateUserResponse> response = service.UpdateDelegates(mailbox, MeetingRequestsDeliveryScope.DelegatesAndSendInformationToMe, updatedDelegates); DelegateUserResponse resp = null; foreach (DelegateUserResponse r in response) { resp = r; break; } return(resp); }
public bool MatchesDelegateUser(DelegateUser delegateUser) { if (CandidateNumber != null && (delegateUser.AliasId ?? string.Empty) != AliasId) { return(false); } if ((delegateUser.FirstName ?? string.Empty) != FirstName) { return(false); } if (delegateUser.LastName != LastName) { return(false); } if (delegateUser.JobGroupId != JobGroupId !.Value) { return(false); } if (delegateUser.Active != Active !.Value) { return(false); } if ((delegateUser.Answer1 ?? string.Empty) != Answer1) { return(false); } if ((delegateUser.Answer2 ?? string.Empty) != Answer2) { return(false); } if ((delegateUser.Answer3 ?? string.Empty) != Answer3) { return(false); } if ((delegateUser.Answer4 ?? string.Empty) != Answer4) { return(false); } if ((delegateUser.Answer5 ?? string.Empty) != Answer5) { return(false); } if ((delegateUser.Answer6 ?? string.Empty) != Answer6) { return(false); } return((delegateUser.EmailAddress ?? string.Empty) == Email); }
public ConfirmDelegateAddedViewModel(DelegateUser delegateUser, string groupName, int groupId) { DelegateName = DisplayStringHelper.GetNonSortableFullNameForDisplayOnly( delegateUser.FirstName, delegateUser.LastName ); GroupName = groupName; GroupId = groupId; }
// Adds a delegate to the primary email account that receives calendar requests // and has permission to edit the primary email account's calendar. static void AddCalendarEditDelegate(ExchangeService service, Mailbox primaryMailbox, string delegateEmailAddress) { DelegateUser calendarDelegate = new DelegateUser(delegateEmailAddress); calendarDelegate.ReceiveCopiesOfMeetingMessages = true; calendarDelegate.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Editor; service.AddDelegates(primaryMailbox, MeetingRequestsDeliveryScope.DelegatesAndMe, calendarDelegate); }
public DelegateUserViewModel(DelegateUser ewsDelegateUser, DelegatesViewModel parentDelegatesViewModel) { EwsDelegateUser = ewsDelegateUser; ParentDelegatesViewModel = parentDelegatesViewModel; RemoveDelegateCommand = new Command { CanExecuteDelegate = () => (!parentDelegatesViewModel.Worker.IsBusy), ExecuteDelegate = x => ParentDelegatesViewModel.RemoveDelegate(EwsDelegateUser) }; }
public DelegateLoginDetails(DelegateUser delegateUser) { Id = delegateUser.Id; CentreId = delegateUser.CentreId; CentreName = delegateUser.CentreName; FirstName = delegateUser.FirstName; LastName = delegateUser.LastName; EmailAddress = delegateUser.EmailAddress; CandidateNumber = delegateUser.CandidateNumber; }
public void UpdateExistingDelegate(DelegateUser delegateToUpdate) { worker.RunWorkerAsync(new Func <DoWorkEventArgs, DelegateInformation>((e) => { Status = "Updating delegate " + delegateToUpdate.UserId.DisplayName; EwsCommands.UpdateDelegate(delegateToUpdate, SchedulerOption); System.Threading.Thread.Sleep(10000); Status = "Retrieving delegates"; return(EwsCommands.GetDelegates()); })); }
public void RemoveDelegate(DelegateUser delegateToRemove) { worker.RunWorkerAsync(new Func <DoWorkEventArgs, DelegateInformation>((e) => { Status = "Removing delegate " + delegateToRemove.UserId.DisplayName; EwsCommands.RemoveDelegate(delegateToRemove); System.Threading.Thread.Sleep(10000); Status = "Retrieving delegates"; return(EwsCommands.GetDelegates()); })); }
public RejectDelegateViewModel(DelegateUser delegateUser) { Id = delegateUser.Id; FullName = delegateUser.FirstName + " " + delegateUser.LastName; Email = delegateUser.EmailAddress; DateRegistered = delegateUser.DateRegistered; ProfessionalRegistrationNumber = PrnStringHelper.GetPrnDisplayString( delegateUser.HasBeenPromptedForPrn, delegateUser.ProfessionalRegistrationNumber ); }
public UnapprovedDelegate(DelegateUser delegateUser, List <CustomPromptWithAnswer> customPrompts) { Id = delegateUser.Id; CandidateNumber = delegateUser.CandidateNumber; FullName = $"{delegateUser.FirstName} {delegateUser.LastName}"; Email = delegateUser.EmailAddress; DateRegistered = delegateUser.DateRegistered; JobGroup = delegateUser.JobGroupName; CustomPrompts = customPrompts .Select(cp => new CustomFieldViewModel(cp.CustomPromptNumber, cp.CustomPromptText, cp.Mandatory, cp.Answer)) .ToList(); }
public void SynchroniseUserChangesWithGroups( DelegateUser delegateAccountWithOldDetails, AccountDetailsData newDelegateDetails, CentreAnswersData newCentreAnswers ) { var changedLinkedFields = LinkedFieldHelper.GetLinkedFieldChanges( delegateAccountWithOldDetails.GetCentreAnswersData(), newCentreAnswers, jobGroupsDataService, centreCustomPromptsService ); var allSynchronisedGroupsAtCentre = GetSynchronisedGroupsForCentre(delegateAccountWithOldDetails.CentreId).ToList(); foreach (var changedAnswer in changedLinkedFields) { var groupToRemoveDelegateFrom = allSynchronisedGroupsAtCentre.SingleOrDefault( g => g.LinkedToField == changedAnswer.LinkedFieldNumber && GroupLabelMatchesAnswer(g.GroupLabel, changedAnswer.OldValue, changedAnswer.LinkedFieldName) ); var groupToAddDelegateTo = allSynchronisedGroupsAtCentre.SingleOrDefault( g => g.LinkedToField == changedAnswer.LinkedFieldNumber && GroupLabelMatchesAnswer(g.GroupLabel, changedAnswer.NewValue, changedAnswer.LinkedFieldName) ); using var transaction = new TransactionScope(); if (groupToRemoveDelegateFrom != null) { RemoveDelegateFromGroup(delegateAccountWithOldDetails.Id, groupToRemoveDelegateFrom.GroupId); } if (groupToAddDelegateTo != null) { groupsDataService.AddDelegateToGroup( delegateAccountWithOldDetails.Id, groupToAddDelegateTo.GroupId, clockService.UtcNow, 1 ); EnrolDelegateOnGroupCourses( delegateAccountWithOldDetails, newDelegateDetails, groupToAddDelegateTo.GroupId ); } transaction.Complete(); } }
public void RemoveDelegate(DelegateUser delegateToRemove) { Collection <DelegateUserResponse> result = service.RemoveDelegates(mailbox, delegateToRemove.UserId); if (result[0].Result == ServiceResult.Success) { return; } else { throw new EWSException(result[0].ErrorCode.ToString(), result[0]); } }
/// <summary> /// 授权代理人 /// </summary> /// <param name="config"></param> /// <returns></returns> public static Collection <DelegateUserResponse> AddDelegates(ExchangeAdminConfig config) { InitializeEws(config); // Create a list to hold the new delegates to add. List <DelegateUser> newDelegates = new List <DelegateUser>(); //创建一个新的代理,该代理具有邮箱所有者日历文件夹的编辑器访问权限。. DelegateUser calendarDelegate = new DelegateUser("*****@*****.**"); calendarDelegate.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Editor; // Add the delegate to the list of new delegates. newDelegates.Add(calendarDelegate); // 创建具有邮箱所有者的“联系人”文件夹的编辑者访问权限的新代理。 DelegateUser contactDelegate = new DelegateUser("*****@*****.**"); contactDelegate.Permissions.ContactsFolderPermissionLevel = DelegateFolderPermissionLevel.Editor; // Add the delegate to the list of new delegates. newDelegates.Add(contactDelegate); // 创建具有对邮箱所有者的收件箱文件夹的编辑者访问权限的新代理。 DelegateUser emailDelegate = new DelegateUser("*****@*****.**"); emailDelegate.Permissions.InboxFolderPermissionLevel = DelegateFolderPermissionLevel.Editor; // Add the delegate to the list of new delegates. newDelegates.Add(emailDelegate); // 创建表示邮箱所有者的邮箱对象。 Mailbox mailbox = new Mailbox("*****@*****.**"); // Call the AddDelegates method to add the delegates to the target mailbox. Collection <DelegateUserResponse> response = Service.AddDelegates(mailbox, MeetingRequestsDeliveryScope.DelegatesAndSendInformationToMe, newDelegates); foreach (DelegateUserResponse resp in response) { // Print out the result and the last eight characters of the item ID. Console.WriteLine("For delegate " + resp.DelegateUser.UserId.PrimarySmtpAddress.ToString()); Console.WriteLine("Result: {0}", resp.Result); Console.WriteLine("Error Code: {0}", resp.ErrorCode); Console.WriteLine("ErrorMessage: {0}\r\n", resp.ErrorMessage); Console.WriteLine("\r\n"); } return(response); }
public void SetDeliverMeetingRequests(string deliveryScope, DelegateUser randomUser) { MeetingRequestsDeliveryScope scope = (MeetingRequestsDeliveryScope)Enum.Parse(typeof(MeetingRequestsDeliveryScope), deliveryScope); Collection <DelegateUserResponse> result = service.UpdateDelegates(mailbox, scope, randomUser); if (result[0].Result == ServiceResult.Success) { return; } else { throw new EWSException(result[0].ErrorCode.ToString(), result[0]); } }
public void UpdateDelegate(DelegateUser delegateToUpdate, string currentSchedulerOption) { MeetingRequestsDeliveryScope scope = (MeetingRequestsDeliveryScope)Enum.Parse(typeof(MeetingRequestsDeliveryScope), currentSchedulerOption); Collection <DelegateUserResponse> result = service.UpdateDelegates(mailbox, scope, delegateToUpdate); if (result[0].Result == ServiceResult.Success) { return; } else { throw new EWSException(result[0].ErrorCode.ToString(), result[0]); } }
public List <DelegateRegistrationPrompt> GetDelegateRegistrationPromptsForCentre( int centreId, DelegateUser delegateUser ) { return(GetDelegateRegistrationPromptsForCentre( centreId, delegateUser.Answer1, delegateUser.Answer2, delegateUser.Answer3, delegateUser.Answer4, delegateUser.Answer5, delegateUser.Answer6 )); }
public static DialogResult ShowDialog(ExchangeService service, ref DelegateUser user) { DelegateUserDialog diag = new DelegateUserDialog(); diag.CurrentService = service; diag.DelegateUser = user; DialogResult res = diag.ShowDialog(); if (res == DialogResult.OK) { user = diag.DelegateUser; } return(res); }
public EmailDelegatesItemViewModel( DelegateUser delegateUser, bool isDelegateSelected ) { Id = delegateUser.Id; Name = delegateUser.SearchableName; Email = delegateUser.EmailAddress; if (delegateUser.DateRegistered.HasValue) { RegistrationDate = delegateUser.DateRegistered.Value.ToString(DateHelper.StandardDateFormat); } IsDelegateSelected = isDelegateSelected; CustomPromptFilters = new Dictionary <int, string>(); }
public EmailDelegatesItemViewModel( DelegateUser delegateUser, bool isDelegateSelected ) { Id = delegateUser.Id; Name = DisplayStringHelper.GetNonSortableFullNameForDisplayOnly(delegateUser.FirstName, delegateUser.LastName); Email = delegateUser.EmailAddress; if (delegateUser.DateRegistered.HasValue) { RegistrationDate = delegateUser.DateRegistered.Value.ToString(DateHelper.StandardDateFormat); } IsDelegateSelected = isDelegateSelected; RegistrationPromptFilters = new Dictionary <int, string>(); }
/// <summary> /// Reads response elements from XML. /// </summary> /// <param name="reader">The reader.</param> internal override void ReadElementsFromXml(EwsServiceXmlReader reader) { if (this.readDelegateUser) { if (this.delegateUser == null) { this.delegateUser = new DelegateUser(); } reader.ReadStartElement(XmlNamespace.Messages, XmlElementNames.DelegateUser); this.delegateUser.LoadFromXml( reader, XmlNamespace.Messages, reader.LocalName); } }
private void SendRejectionEmail(DelegateUser delegateUser) { if (string.IsNullOrWhiteSpace(delegateUser.EmailAddress)) { LogNoEmailWarning(delegateUser.Id); } else { var delegateRejectionEmail = GenerateDelegateRejectionEmail( delegateUser.FullName, delegateUser.CentreName, delegateUser.EmailAddress, FindCentreUrl ); emailService.SendEmail(delegateRejectionEmail); } }
private void SetFormControlsForDelegateUser(DelegateUser user) { // If there is no value to set do nothing if (user != null) { // Set the UserIdText value based on the UserId if (this.delegateUser.UserId != null) { if (!String.IsNullOrEmpty(this.delegateUser.UserId.PrimarySmtpAddress)) { this.UserIdText.Text = this.delegateUser.UserId.PrimarySmtpAddress; } else if (this.delegateUser.UserId.StandardUser.HasValue) { this.UserIdText.Text = this.delegateUser.UserId.StandardUser.Value.ToString(); } } // Set the selected value of each combo box based on // the DelegateUser's settings this.calendarPermissionComboBox.SelectedItem = user.Permissions.CalendarFolderPermissionLevel; this.contactsPermissionComboBox.SelectedItem = user.Permissions.ContactsFolderPermissionLevel; this.inboxPermissionComboBox.SelectedItem = user.Permissions.InboxFolderPermissionLevel; this.journalPermissionComboBox.SelectedItem = user.Permissions.JournalFolderPermissionLevel; this.notesPermissionComboBox.SelectedItem = user.Permissions.NotesFolderPermissionLevel; this.tasksPermissionComboBox.SelectedItem = user.Permissions.TasksFolderPermissionLevel; this.DelegateReceivesCopyCheck.Checked = user.ReceiveCopiesOfMeetingMessages; this.PrivateItemsCheck.Checked = user.ViewPrivateItems; } else { this.UserIdText.Text = string.Empty; this.calendarPermissionComboBox.SelectedItem = DelegateFolderPermissionLevel.None; this.contactsPermissionComboBox.SelectedItem = DelegateFolderPermissionLevel.None; this.inboxPermissionComboBox.SelectedItem = DelegateFolderPermissionLevel.None; this.journalPermissionComboBox.SelectedItem = DelegateFolderPermissionLevel.None; this.notesPermissionComboBox.SelectedItem = DelegateFolderPermissionLevel.None; this.tasksPermissionComboBox.SelectedItem = DelegateFolderPermissionLevel.None; this.DelegateReceivesCopyCheck.Checked = false; this.PrivateItemsCheck.Checked = false; } }
public EmailDelegatesItemViewModel( DelegateUser delegateUser, bool isDelegateSelected, IEnumerable <CustomFieldViewModel> customFields, IEnumerable <CustomPrompt> promptsWithOptions ) { Id = delegateUser.Id; Name = delegateUser.SearchableName; Email = delegateUser.EmailAddress; if (delegateUser.DateRegistered.HasValue) { RegistrationDate = delegateUser.DateRegistered.Value.ToString(DateHelper.StandardDateFormat); } IsDelegateSelected = isDelegateSelected; JobGroupId = delegateUser.JobGroupId; CustomPromptFilters = DelegatesViewModelFilters.GetCustomPromptFilters(customFields, promptsWithOptions); }
public void AddDelegate(string delegateSmtp, bool receiveSchedulers, bool viewPrivateItems, string currentSchedulerOption) { MeetingRequestsDeliveryScope scope = (MeetingRequestsDeliveryScope)Enum.Parse(typeof(MeetingRequestsDeliveryScope), currentSchedulerOption); DelegateUser delegateUser = new DelegateUser(delegateSmtp); delegateUser.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Editor; delegateUser.ReceiveCopiesOfMeetingMessages = receiveSchedulers; delegateUser.ViewPrivateItems = viewPrivateItems; Collection <DelegateUserResponse> result = service.AddDelegates(mailbox, scope, delegateUser); if (result[0].Result == ServiceResult.Success) { return; } else { throw new EWSException(result[0].ErrorCode.ToString(), result[0]); } }
/// <summary> /// Initializes a new instance of the <see cref="DelegateUserResponse"/> class. /// </summary> /// <param name="readDelegateUser">if set to <c>true</c> [read delegate user].</param> /// <param name="delegateUser">Existing DelegateUser to use (may be null).</param> internal DelegateUserResponse(bool readDelegateUser, DelegateUser delegateUser) : base() { this.readDelegateUser = readDelegateUser; this.delegateUser = delegateUser; }