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();
        }
Example #5
0
 public RejectDelegateViewModel(DelegateUser delegateUser)
 {
     Id             = delegateUser.Id;
     FullName       = delegateUser.FirstName + " " + delegateUser.LastName;
     Email          = delegateUser.EmailAddress;
     DateRegistered = delegateUser.DateRegistered;
 }
Example #6
0
        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);
        }
Example #8
0
        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);
        }
Example #11
0
 public DelegateUserViewModel(DelegateUser ewsDelegateUser, DelegatesViewModel parentDelegatesViewModel)
 {
     EwsDelegateUser          = ewsDelegateUser;
     ParentDelegatesViewModel = parentDelegatesViewModel;
     RemoveDelegateCommand    = new Command
     {
         CanExecuteDelegate = () => (!parentDelegatesViewModel.Worker.IsBusy),
         ExecuteDelegate    = x => ParentDelegatesViewModel.RemoveDelegate(EwsDelegateUser)
     };
 }
Example #12
0
 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;
 }
Example #13
0
 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());
     }));
 }
Example #14
0
 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
         );
 }
Example #16
0
 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();
 }
Example #17
0
        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();
            }
        }
Example #18
0
        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]);
            }
        }
Example #19
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);
        }
Example #20
0
        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]);
            }
        }
Example #21
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);
        }
Example #24
0
        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);
     }
 }
Example #28
0
        /// <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 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;
            }
        }
Example #30
0
        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);
        }
Example #31
0
        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;
 }