示例#1
0
        private void ObjectPicker()
        {
            EnablePopButtons = false;

            CSMigrationWrapper mw = ((IntroViewModel)ViewModelPtrs[(int)ViewType.INTRO]).mw;

            string[] users = mw.GetListFromObjectPicker();
            if(users != null)
            {
            // FBS rewrite -- bug 71646 -- 3/26/12
            for (int i = 0; i < users.Length; i++)
            {
            string[] tokens = users[i].Split('~');
            if (tokens.Length < 5)
            {
                MessageBox.Show("Object picker returned insufficient data", "Zimbra Migration", MessageBoxButton.OK, MessageBoxImage.Error);
                EnablePopButtons = true;
                return;
            }
            string uname = "", displayname = "", givenname = "", sn = "", zfp = "";
            for (int j = 0; j < tokens.Length; j += 5)
            {
                uname = tokens.GetValue(j).ToString();
                displayname = tokens.GetValue(j + 1).ToString();
                givenname = tokens.GetValue(j + 2).ToString();
                sn = tokens.GetValue(j + 3).ToString();
                zfp = tokens.GetValue(j + 4).ToString();
            }

            if (uname.IndexOf("@") != -1)
            {
                uname = uname.Substring(0, uname.IndexOf("@"));
            }
            UsersViewModel uvm = new UsersViewModel(displayname, uname);
            uvm.AddOPInfo(new ObjectPickerInfo(displayname, givenname, sn, zfp));
            UsersList.Add(uvm);

            ScheduleViewModel scheduleViewModel =
                ((ScheduleViewModel)ViewModelPtrs[(int)ViewType.SCHED]);

            scheduleViewModel.SchedList.Add(new SchedUser(Username, false));
            scheduleViewModel.EnableMigrate = (scheduleViewModel.SchedList.Count > 0);
            scheduleViewModel.EnablePreview = scheduleViewModel.EnableMigrate;
            EnableNext = (UsersList.Count > 0);
            }
            }
            EnablePopButtons = true;
        }