Beispiel #1
0
 public void OpenWindow_Create()
 {
     CurrentModel = new ConnectionGroupModel();
     currentModel.GroupConnections = new ObservableCollection <ConnectionModel>();
     window = new GroupManagerWindow(this);
     window.ShowDialog();
 }
Beispiel #2
0
 public void OpenWindow_Edit(ConnectionGroupModel groupToEdit)
 {
     originalModel = groupToEdit;
     CurrentModel  = CreateCopy(groupToEdit);
     window        = new GroupManagerWindow(this);
     window.Show();
 }
Beispiel #3
0
 internal void DeleteGroup(ConnectionGroupModel item)
 {
     if (MainWindowModel.Groups.Contains(item))
     {
         MainWindowModel.Groups.Remove(item);
     }
 }
Beispiel #4
0
 public static void DeleteGroup(ConnectionGroupModel group)
 {
     if (File.Exists(Path.Combine(GROUP_PATH, group.GroupName)))
     {
         File.Delete(Path.Combine(GROUP_PATH, group.GroupName));
     }
 }
Beispiel #5
0
        public static void DeleteGroup(ConnectionGroupModel group)
        {
            string filePath = Path.Combine(GROUP_PATH, group.GroupName);

            if (File.Exists(filePath))
            {
                File.Delete(filePath);
            }
        }
Beispiel #6
0
        public static ConnectionGroupModel ImportGroup(string path)
        {
            string groupJson = File.ReadAllText(path);
            ConnectionGroupModel groupModel = JsonConvert.DeserializeObject <ConnectionGroupModel>(groupJson);

            string destinationPath = Path.Combine(GROUP_PATH + groupModel.GroupName);

            File.WriteAllText(destinationPath, groupJson);

            return(groupModel);
        }
        internal void DeleteGroup(ConnectionGroupModel group)
        {
            MessageBoxResult result = MessageBox.Show($"Are you sure you want to delete '{group.GroupName}'?", "Delete group?", MessageBoxButton.YesNo);

            if (MainWindowModel.Groups.Contains(group) && result == MessageBoxResult.Yes)
            {
                MainWindowModel.Groups.Remove(group);
                GroupManager.DeleteGroup(group);
                ChangeSelectedGroup();
            }
        }
        public MainWindowViewModel(GroupManagerViewModel _groupManagerViewModel)
        {
            ConnectionGroupModel  = new ConnectionGroupModel();
            ConnectionDetails     = new ConnectionDetailsModel();
            groupManagerViewModel = _groupManagerViewModel;
            MainWindowModel       = new MainWindowModel();
            statusUpdater         = new UpdateConnectionStatus();
            connectionManager     = new ConnectionManager();
            groupManagerViewModel.GroupUpdated += GroupManagerViewModel_GroupUpdated;

            RefreshGroupList();
        }
        internal void ChangeSelectedGroup(ConnectionGroupModel group = null)
        {
            if (group != null)
            {
                MainWindowModel.Connections = group.GroupConnections;
            }
            else
            {
                MainWindowModel.Connections = null;
            }

            UpdateGroupStatus();
        }
        internal void ImportGroup()
        {
            OpenFileDialog dlg = new OpenFileDialog();

            Nullable <bool> result = dlg.ShowDialog();

            if (result == true)
            {
                string fileName = dlg.FileName;
                ConnectionGroupModel importedGroup = GroupManager.ImportGroup(fileName);
                MainWindowModel.Groups.Add(importedGroup);
            }
        }
Beispiel #11
0
        public static void SaveGroup(ConnectionGroupModel originalGroupSettings, ConnectionGroupModel groupToSave)
        {
            string jsonGroup = JsonConvert.SerializeObject(groupToSave);

            if (!Directory.Exists(GROUP_PATH))
            {
                Directory.CreateDirectory(GROUP_PATH);
            }

            if (originalGroupSettings != null && File.Exists(Path.Combine(GROUP_PATH, originalGroupSettings.GroupName)))
            {
                File.Delete(Path.Combine(GROUP_PATH, originalGroupSettings.GroupName));
            }

            File.WriteAllText(Path.Combine(GROUP_PATH, groupToSave.GroupName), jsonGroup);
        }
        private void GroupManagerViewModel_GroupUpdated(object sender, ConnectionGroupModel group)
        {
            int id = MainWindowModel.Groups.IndexOf(GroupBeingEdited);

            if (id == -1) // We just created a new group (e), so we should add it to the list.
            {
                MainWindowModel.Groups.Add(group);
            }
            else
            {
                MainWindowModel.Groups[id].GroupConnections = group.GroupConnections;
                MainWindowModel.Groups[id].GroupName        = group.GroupName;
                GroupBeingEdited = null;
            }

            ChangeSelectedGroup(group);
        }
Beispiel #13
0
        public MainWindowViewModel(GroupManagerViewModel _groupManagerViewModel)
        {
            ConnectionGroupModel  = new ConnectionGroupModel();
            connectionDetails     = new ConnectionDetailsModel();
            groupManagerViewModel = _groupManagerViewModel;
            MainWindowModel       = new MainWindowModel();
            statusUpdater         = new UpdateConnectionStatus();
            connectionManager     = new ConnectionManager();

            groupManagerViewModel.GroupUpdated += GroupManagerViewModel_GroupUpdated;

            MainWindowModel.Groups      = GroupManager.LoadGroups();
            MainWindowModel.Connections = GetConnections();

            if (MainWindowModel.Connections.Count > 0)
            {
                SetConnectionDetails(0);
                UpdateGroupStatus();
            }
        }
Beispiel #14
0
        private ConnectionGroupModel CreateCopy(ConnectionGroupModel model)
        {
            ConnectionGroupModel copy = new ConnectionGroupModel();

            copy.GroupName = new string(model.GroupName.ToCharArray());
            ObservableCollection <ConnectionModel> connections = new ObservableCollection <ConnectionModel>();

            foreach (ConnectionModel conn in model.GroupConnections)
            {
                ConnectionModel newConn = new ConnectionModel();

                newConn.ConnectionName        = conn.ConnectionName;
                newConn.ConnectionDescription = conn.ConnectionDescription;
                newConn.ConnectionStatus      = conn.ConnectionStatus;
                newConn.ConnectionAdress      = conn.ConnectionAdress;

                connections.Add(newConn);
            }
            copy.GroupConnections = connections;
            return(copy);
        }
Beispiel #15
0
 internal void ChangeSelectedGroup(ConnectionGroupModel group)
 {
     MainWindowModel.Connections = group.GroupConnections;
     UpdateGroupStatus();
 }
 public void OpenWindow_Create()
 {
     CurrentModel = new ConnectionGroupModel();
     window       = new GroupManagerWindow(this);
     window.ShowDialog();
 }
Beispiel #17
0
 public GroupManagerViewModel()
 {
     CurrentModel = new ConnectionGroupModel();
 }