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; }