Exemplo n.º 1
0
        private void ImportSettingsExecuted()
        {
            var dialog = new OpenFileDialog();

            dialog.Title  = "Import settings";
            dialog.Filter = "Config files (*.json)|*.json";
            dialog.ShowDialog();

            if (dialog.FileName != string.Empty)
            {
                var ser           = new DataContractJsonSerializer(typeof(Configuration));
                var stream        = new FileStream(dialog.FileName, FileMode.Open);
                var configuration = ser.ReadObject(stream) as Configuration;
                stream.Close();
                var properties = typeof(Configuration).GetProperties();
                foreach (var property in properties)
                {
                    if (property.PropertyType == typeof(IList <ConfigurationItem>))
                    {
                        var dataItems =
                            property.GetValue(configuration) as IList <ConfigurationItem>;
                        DataLayout.Clear();
                        if (dataItems != null)
                        {
                            foreach (var plusDataItem in dataItems)
                            {
                                DataLayout.Add(plusDataItem);
                            }
                        }
                    }
                    else if (property.PropertyType == typeof(IList <DirectHopItem>))
                    {
                        var directHops =
                            property.GetValue(configuration) as IList <DirectHopItem>;
                        DirectHops.Clear();
                        if (directHops != null)
                        {
                            foreach (var directHopItem in directHops)
                            {
                                DirectHops.Add(directHopItem);
                            }
                        }
                    }
                    else
                    {
                        var propertyInfo = GetType().GetProperty(property.Name);
                        if (propertyInfo != null)
                        {
                            propertyInfo.SetValue(this, property.GetValue(configuration));
                        }
                        else
                        {
                            throw new Exception("Property not found.");
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        private void SortDirectHopUpCommandExecuted()
        {
            int           order     = SelectedDirectHop.Order;
            DirectHopItem directHop = DirectHops.First(t => t.Order == order - 1);

            directHop.Order = order;
            SelectedDirectHop.Order--;
            DirectHopCollection.Refresh();
            RaiseCanExecuteChanged();
        }
Exemplo n.º 3
0
        private void DeleteDirectHopCommandExecuted()
        {
            DirectHops.Remove(SelectedDirectHop);
            int count = 0;

            foreach (DirectHopItem item in DirectHops)
            {
                item.Order = count++;
            }
            RaiseCanExecuteChanged();
        }
Exemplo n.º 4
0
        private void AddDirectHopCommandExecuted()
        {
            var item = new DirectHopItem
            {
                Order = DirectHops.Count
            };

            DirectHops.Add(item);
            SelectedDirectHop = item;
            RaiseCanExecuteChanged();
        }
Exemplo n.º 5
0
 private bool SortDirectHopUpCommandCanExecute()
 {
     return(SelectedDirectHop != null &&
            SelectedDirectHop.Order > DirectHops.Min(t => t.Order));
 }
Exemplo n.º 6
0
 private bool SortDirectHopDownCommandCanExecute()
 {
     return(SelectedDirectHop != null &&
            SelectedDirectHop.Order < DirectHops.Max(t => t.Order));
 }