Beispiel #1
0
        // Создание дерева подразделений домена
        private void CreateDomainOUTree()
        {
            ReadOnlyCollection <DomainTreeItem> items;

            DomainOUTreeView.ItemsSource = null;
            string errorMsg = "";

            new Thread(() =>
            {
                items = AsyncDataProvider.GetDomainOUTree(_sessionAD, ref errorMsg);
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    DomainOUTreeView.ItemsSource = items;

                    Binding binding             = new Binding();
                    binding.Source              = DomainOUTreeView; // установить в качестве source object значение ElementName
                    binding.Path                = new PropertyPath("SelectedItem.Description");
                    binding.Mode                = BindingMode.OneWay;
                    binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                    binding.Converter           = new SelectOUTreeBtEnableConverter();
                    BindingOperations.SetBinding(btSelect, Button.IsEnabledProperty, binding);


                    if (!string.IsNullOrWhiteSpace(errorMsg))
                    {
                        MessageBox.Show(errorMsg, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                    else
                    {
                        DomainOUTreeView.Focus();
                    }
                }));
            }).Start();
        }
        public ProfileViewModelFactory([NotNull] ISystemDispatcher systemDispatcher,
                                       [NotNull] AsyncDataProvider dataProvider, [NotNull] StatisticsService statistics,
                                       [NotNull] IStringsProvider stringsProvider, [NotNull] INavigationService navigationService)
        {
            if (systemDispatcher == null)
            {
                throw new ArgumentNullException("systemDispatcher");
            }
            if (dataProvider == null)
            {
                throw new ArgumentNullException("dataProvider");
            }
            if (statistics == null)
            {
                throw new ArgumentNullException("statistics");
            }
            if (stringsProvider == null)
            {
                throw new ArgumentNullException("stringsProvider");
            }
            if (navigationService == null)
            {
                throw new ArgumentNullException("navigationService");
            }
            _systemDispatcher  = systemDispatcher;
            _dataProvider      = dataProvider;
            _statistics        = statistics;
            _stringsProvider   = stringsProvider;
            _navigationService = navigationService;


            _userViewModelFactory = new Lazy <IUserViewModelFactory>(
                () => new UserViewModelFactory(_systemDispatcher, _navigationService, _stringsProvider,
                                               _statistics));
        }
 public QuestionsViewModelFactory([NotNull] ISystemDispatcher systemDispatcher,
                                  [NotNull] StatisticsService statistics, [NotNull] AsyncDataProvider dataProvider,
                                  [NotNull] IStringsProvider stringsProvider, [NotNull] IPhoneTasks phoneTasks)
 {
     if (systemDispatcher == null)
     {
         throw new ArgumentNullException("systemDispatcher");
     }
     if (statistics == null)
     {
         throw new ArgumentNullException("statistics");
     }
     if (dataProvider == null)
     {
         throw new ArgumentNullException("dataProvider");
     }
     if (stringsProvider == null)
     {
         throw new ArgumentNullException("stringsProvider");
     }
     if (phoneTasks == null)
     {
         throw new ArgumentNullException("phoneTasks");
     }
     _systemDispatcher = systemDispatcher;
     _statistics       = statistics;
     _dataProvider     = dataProvider;
     _stringsProvider  = stringsProvider;
     _phoneTasks       = phoneTasks;
 }
 public ProfileViewModel(ISystemDispatcher dispatcher, [NotNull] AsyncDataProvider dataProvider, int id,
                         [NotNull] StatisticsService statistics,
                         [NotNull] IUserViewModelFactory userViewModelFactory, INavigationService navigation)
     : base(dispatcher)
 {
     if (dataProvider == null)
     {
         throw new ArgumentNullException("dataProvider");
     }
     if (statistics == null)
     {
         throw new ArgumentNullException("statistics");
     }
     if (userViewModelFactory == null)
     {
         throw new ArgumentNullException("userViewModelFactory");
     }
     _dataProvider         = dataProvider;
     _id                   = id;
     _statistics           = statistics;
     _userViewModelFactory = userViewModelFactory;
     _navigation           = navigation;
     _navigation.CleanNavigationStack();
     Initialize();
     _statistics.ReportProfilePageLoaded();
     SelectNewUserCommand = new RelayCommand(SelectNewUser);
 }
Beispiel #5
0
        // Конструктор
        public SelectGroups(DirectoryEntry entry)
        {
            InitializeComponent();
            _selectedGroups            = new ObservableCollection <Group>();
            _sessionAD                 = entry;
            selectedGroups.ItemsSource = _selectedGroups;
            ReadOnlyCollection <Group> items;

            groupsForSelected.ItemsSource = null;
            string errorMsg = "";
            Thread t        = new Thread(() =>
            {
                items = AsyncDataProvider.GetGroupForSelected(_sessionAD, ref errorMsg);
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    groupsForSelected.ItemsSource = items;
                    CollectionView view           = (CollectionView)CollectionViewSource.GetDefaultView(groupsForSelected.ItemsSource);
                    if (view != null)
                    {
                        view.Filter = Groups_Filter;
                        view.SortDescriptions.Clear();
                        view.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
                    }
                    if (!string.IsNullOrWhiteSpace(errorMsg))
                    {
                        MessageBox.Show(errorMsg, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }));
            });

            t.IsBackground = true;
            t.Start();
        }
        // Конструктор
        public SelectUser(string user, string fielForSearch, DirectoryEntry entry, PrincipalContext context)
        {
            InitializeComponent();
            Title          = "Найдено несколько пользователей " + user;
            selectedUserDN = "";
            ReadOnlyCollection <User> items;
            string errorMsg = "";

            ListUsersForSelected.ItemsSource = null;
            Filter.IsEnabled = false;
            Filter.Text      = "";
            new Thread(() =>
            {
                items = AsyncDataProvider.GetUsersForSelected(fielForSearch, user, context, entry, ref errorMsg);
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    ListUsersForSelected.ItemsSource = items;
                    CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(ListUsersForSelected.ItemsSource);
                    view.Filter         = FindedUsers_Filter;
                    if (view.Count > 0)
                    {
                        ListUsersForSelected.SelectedIndex = 0;
                    }
                    Filter.IsEnabled = true;
                    if (!string.IsNullOrWhiteSpace(errorMsg))
                    {
                        MessageBox.Show(errorMsg, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }));
            }).Start();
        }
Beispiel #7
0
        // Запущен процесс поиска пользователя в АД
        private void search_OnSearch(object sender, RoutedEventArgs e)
        {
            SearchEventArgs           searchArgs = e as SearchEventArgs;
            ReadOnlyCollection <User> items;
            string errorMsg = "";

            ListUsersForSelected.ItemsSource = null;
            Search.IsEnabled = false;
            Filter.IsEnabled = false;
            Filter.Text      = "";
            new Thread(() =>
            {
                items = AsyncDataProvider.GetUsersForSelected(fieldsInAD[searchArgs.Sections[0]], searchArgs.Keyword, _principalContext, _sessionAD, ref errorMsg);
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    ListUsersForSelected.ItemsSource = items;
                    CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(ListUsersForSelected.ItemsSource);
                    view.Filter         = FindedUsers_Filter;
                    if (view.Count > 0)
                    {
                        ListUsersForSelected.SelectedIndex = 0;
                    }
                    Filter.IsEnabled = true;
                    Search.IsEnabled = true;
                    if (!string.IsNullOrWhiteSpace(errorMsg))
                    {
                        MessageBox.Show(errorMsg, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }));
            }).Start();
        }
        public static void SetAsyncText(this ISharePackage sharePackage, AsyncDataProvider<string> dataProvider)
        {
            if (sharePackage == null)
                throw new ArgumentNullException(nameof(sharePackage));

            sharePackage.SetAsyncData(StandardShareFormats.Text, dataProvider);
        }
        public static void SetAsyncWebLink(this ISharePackage sharePackage, AsyncDataProvider<Uri> dataProvider)
        {
            if (sharePackage == null)
                throw new ArgumentNullException(nameof(sharePackage));

            sharePackage.SetAsyncData(StandardShareFormats.WebLink, dataProvider);
        }
 public UserActivityViewModel([NotNull] ISystemDispatcher dispatcher, [NotNull] StatisticsService statistics,
                              [NotNull] AsyncDataProvider dataProvider, [NotNull] IStringsProvider stringsProvider,
                              [NotNull] IPhoneTasks tasks, int userId,
                              DetailsType detailsType)
     : base(dispatcher)
 {
     if (statistics == null)
     {
         throw new ArgumentNullException("statistics");
     }
     if (dataProvider == null)
     {
         throw new ArgumentNullException("dataProvider");
     }
     if (stringsProvider == null)
     {
         throw new ArgumentNullException("stringsProvider");
     }
     if (tasks == null)
     {
         throw new ArgumentNullException("tasks");
     }
     _statistics      = statistics;
     _dataProvider    = dataProvider;
     _stringsProvider = stringsProvider;
     _tasks           = tasks;
     _userId          = userId;
     _detailsType     = detailsType;
     _statistics.PublishActivityPageLoaded(_detailsType == DetailsType.Questions);
     LoadMoreCommand = new RelayCommand(_ => LoadNext());
     LoadNext();
 }
 public LoginViewModelFactory([NotNull] ISystemDispatcher dispatcher, [NotNull] INavigationService navigation,
                              [NotNull] IApplicationSettings settings, AsyncDataProvider dataProvider,
                              [NotNull] StatisticsService statistics)
 {
     if (dispatcher == null)
     {
         throw new ArgumentNullException("dispatcher");
     }
     if (navigation == null)
     {
         throw new ArgumentNullException("navigation");
     }
     if (settings == null)
     {
         throw new ArgumentNullException("settings");
     }
     if (statistics == null)
     {
         throw new ArgumentNullException("statistics");
     }
     _dispatcher   = dispatcher;
     _navigation   = navigation;
     _settings     = settings;
     _dataProvider = dataProvider;
     _statistics   = statistics;
 }
Beispiel #12
0
 public LoginViewModel([NotNull] ISystemDispatcher dispatcher, [NotNull] INavigationService navigation,
                       [NotNull] IApplicationSettings settings, [NotNull] AsyncDataProvider dataProvider,
                       [NotNull] StatisticsService statistics)
     : base(dispatcher)
 {
     if (navigation == null)
     {
         throw new ArgumentNullException("navigation");
     }
     if (settings == null)
     {
         throw new ArgumentNullException("settings");
     }
     if (dataProvider == null)
     {
         throw new ArgumentNullException("dataProvider");
     }
     if (statistics == null)
     {
         throw new ArgumentNullException("statistics");
     }
     _navigation   = navigation;
     _settings     = settings;
     _dataProvider = dataProvider;
     _statistics   = statistics;
     SubscribeToQuery();
     _statistics.PublishLoginPageLoaded();
     SelectedProfile = null;
     SearchResult    = new ObservableCollection <SearchResultItem>();
 }
Beispiel #13
0
        public static void InitServices([NotNull] PhoneApplicationFrame rootFrame)
        {
            if (rootFrame == null)
            {
                throw new ArgumentNullException("rootFrame");
            }
            var dispatcher = new SystemDispatcher();

            dispatcher.Initialize(rootFrame.Dispatcher);
            SystemDispatcher = dispatcher;
            WebCache         = new WebRequestCache();
            WebCache.PullFromStorage();
            DataProvider        = new AsyncDataProvider(WebCache);
            ApplicationSettings = new ApplicationSettings();
            NavigationService   = new NavigationService(rootFrame, SystemDispatcher);
            Statistics          = new YandexMetricaStatistiscService();
            StringsProvider     = new StringsProvider();
            PhoneTasks          = new PhoneTasks();
        }
        // Обновление списка групп пользователя
        private void UpdateListGroupUser()
        {
            ReadOnlyCollection <Group> items;

            userGroupsList.ItemsSource = null;
            string errorMsg = "";

            new Thread(() =>
            {
                items = AsyncDataProvider.GetGroupItems(_distinguishedNameUser, _sessionAD, ref errorMsg);
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    userGroupsList.ItemsSource = items;
                    CollectionView view        = (CollectionView)CollectionViewSource.GetDefaultView(userGroupsList.ItemsSource);
                    if (view != null)
                    {
                        view.Filter = Groups_Filter;
                        view.SortDescriptions.Clear();
                        view.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
                        if (view.Count > 0)
                        {
                            userGroupsList.SelectedIndex = 0;
                            CollectionView view1         = (CollectionView)CollectionViewSource.GetDefaultView(groupInList.ItemsSource);
                            view1.Filter = GroupIn_Filter;
                            view1.SortDescriptions.Clear();
                            view1.SortDescriptions.Add(new SortDescription());
                            CollectionView view2 = (CollectionView)CollectionViewSource.GetDefaultView(userInGroupList.ItemsSource);
                            view2.Filter         = UserInGroup_Filter;
                            view2.SortDescriptions.Clear();
                            view2.SortDescriptions.Add(new SortDescription());
                        }
                    }
                    if (!string.IsNullOrWhiteSpace(errorMsg))
                    {
                        MessageBox.Show(errorMsg, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }));
            }).Start();
        }
        private string _mode;                                 // Режим работы формы
        #endregion

        #region Конструктор
        public AddUserToGroups(string distinguishedNameUser, DirectoryEntry entry, string mode = "user")
        {
            InitializeComponent();
            _selectedGroups        = new ObservableCollection <Group>();
            _sessionAD             = entry;
            _distinguishedNameUser = distinguishedNameUser;
            _mode = mode;
            selectedGroups.ItemsSource = _selectedGroups;
            ReadOnlyCollection <Group> items;

            groupsForSelected.ItemsSource = null;
            string errorMsg = "";

            if (mode == "comp")
            {
                Title = "Добавление компьютера в группу";
                groupBoxSelectGroup.Header = "Выбор групп для добавления в них компьютера";
            }
            new Thread(() =>
            {
                items = AsyncDataProvider.GetGroupForSelected(_sessionAD, ref errorMsg);
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    groupsForSelected.ItemsSource = items;
                    CollectionView view           = (CollectionView)CollectionViewSource.GetDefaultView(groupsForSelected.ItemsSource);
                    if (view != null)
                    {
                        view.Filter = Groups_Filter;
                        view.SortDescriptions.Clear();
                        view.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
                    }
                    if (!string.IsNullOrWhiteSpace(errorMsg))
                    {
                        MessageBox.Show(errorMsg, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }));
            }).Start();
        }
Beispiel #16
0
        // Запущен процесс поиска пользователя в АД
        private void search_OnSearch(object sender, RoutedEventArgs e)
        {
            SearchEventArgs searchArgs = e as SearchEventArgs;
            ReadOnlyCollection <Computer> items;
            string errorMsg      = "";
            string ouForFindText = "";
            bool   compInOU      = false;

            if (findPCInOU.IsChecked == true)
            {
                compInOU      = true;
                ouForFindText = OUForFindPC.Text;
            }
            ListPCForSelected.ItemsSource = null;
            Search.IsEnabled              = false;
            findPCInOU.IsEnabled          = false;
            OUForFindPC.IsEnabled         = false;
            btSelectOUForFindPC.IsEnabled = false;
            Filter.IsEnabled              = false;
            Filter.Text = "";
            // Убираем стрелку сортировки из предыдущей колонки
            if (_sortColumn != null)
            {
                _sortColumn.Column.HeaderTemplate = null;
                _sortColumn.Column.Width          = _sortColumn.ActualWidth - 20;
                _sortColumn = null;
            }
            new Thread(() =>
            {
                if (compInOU)
                {
                    if (!string.IsNullOrWhiteSpace(ouForFindText))
                    {
                        items = AsyncDataProvider.GetPCItemsInOU(ouForFindText, _principalContext, _sessionAD, ref errorMsg);
                    }
                    else
                    {
                        items = AsyncDataProvider.GetPCItems();
                    }
                }
                else
                {
                    items = AsyncDataProvider.GetPCItems(fieldsPCInAD[searchArgs.Sections[0]], searchArgs.Keyword, _principalContext, _sessionAD, ref errorMsg);
                }
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    ListPCForSelected.ItemsSource = items;
                    CollectionView view           = (CollectionView)CollectionViewSource.GetDefaultView(ListPCForSelected.ItemsSource);
                    view.Filter = FindedPCs_Filter;
                    if (view.Count > 0)
                    {
                        ListPCForSelected.SelectedIndex = 0;
                    }
                    Filter.IsEnabled     = true;
                    Search.IsEnabled     = true;
                    findPCInOU.IsEnabled = true;
                    if (findPCInOU.IsChecked == true)
                    {
                        Search.IsEnabled              = false;
                        OUForFindPC.IsEnabled         = true;
                        btSelectOUForFindPC.IsEnabled = true;
                    }
                    if (!string.IsNullOrWhiteSpace(errorMsg))
                    {
                        MessageBox.Show(errorMsg, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }));
            }).Start();
        }
 public static void SetAsyncWebLink(this ISharePackage sharePackage, AsyncDataProvider<Uri> dataProvider)
 {
     throw new NotImplementedException();
 }
 public static void SetAsyncText(this ISharePackage sharePackage, AsyncDataProvider<string> dataProvider)
 {
     throw new NotImplementedException();
 }