Beispiel #1
0
        static void Main(string[] args)
        {
            var config = new HttpClientConfiguration
            {
                BaseUrl  = "http://localhost:1337/",
                Advanced =
                {
                    Serializers = new List <IContentSerializer>
                    {
                        new Serializer <NewtonSoft>(ContentType.ApplicationJson),
                        new Serializer <DefaultXml>(ContentType.ApplicationXml)
                    }
                }
            };

            var tomorrow = new Todo {
                Description = "Sleep in"
            };

            var xmlSerializer = new Serializer <DefaultXml>(ContentType.ApplicationXml);
            var todoXml       = xmlSerializer.Serialize(tomorrow);
            var xmlBack       = xmlSerializer.Deserialize <Todo>(todoXml);

            // Create a custom serializer
            var custom = SerializeSettings
                         .For(ContentType.ApplicationJson)
                         .Serialize(NewtonSoft.Serialize)
                         .Deserialize(DefaultJson.Deserialize);

            var customJson = custom.Serialize(tomorrow);
            var customObj  = custom.Deserialize <Todo>(customJson);

            // Configure JsonNet however you want
            var newtonSoftSettings = new JsonSerializerSettings
            {
                ContractResolver = new CamelCasePropertyNamesContractResolver()
            };

            //Register the change
            NewtonSoft.UpdateSettings(new NewtonsoftSettings {
                Settings = newtonSoftSettings
            });

            // Go crazy, oh baby!
            var serializer   = new Serializer <NewtonSoft>(ContentType.ApplicationJson);
            var tomorrowJson = serializer.Serialize(tomorrow);
            var tommorowObj  = serializer.Deserialize <Todo>(tomorrowJson);

            var client  = new HttpClient(config);
            var created = client.PostAsync <Todo>("api/todos", tomorrow).Result;
        }
        public MainWindow()
        {
            Loaded += (sender, args) =>
            {
                foreach (string bookmark in SettingsBackup.BookmarksListStatic)
                {
                    MenuItem deleteItem = new MenuItem {
                        Header = "Delete"
                    };
                    MenuItem openItem = new MenuItem {
                        Header = "Open"
                    };

                    deleteItem.Click += DeleteItemOnClick;
                    openItem.Click   += OpenItemOnClick;

                    MenuItem item = new MenuItem {
                        Header = bookmark
                    };

                    item.Items.Add(deleteItem);
                    item.Items.Add(openItem);

                    BookmarksMenuItem.Items.Add(item);
                }
            };
            Closing += (sender, args) =>
            {
                if (File.Exists(SettingsBackup.SettingsFileName))
                {
                    File.Delete(SettingsBackup.SettingsFileName);
                }
                JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
                List <string>        bookmarksList        =
                    (from MenuItem menuItem in BookmarksMenuItem.Items select menuItem.Header.ToString()).ToList();
                SettingsBackup settingsBackup = new SettingsBackup
                {
                    FirstPanelPath  = FirstPanelPath.Text,
                    SecondPanelPath = SecondPanelPath.Text,
                    BookmarksList   = bookmarksList
                };
                File.WriteAllText(SettingsBackup.SettingsFileName, javaScriptSerializer.Serialize(settingsBackup));
            };
            InitializeComponent();

            FirstPanel.PreviewMouseWheel  += PanelOnMouseWheel;
            SecondPanel.PreviewMouseWheel += PanelOnMouseWheel;

            FirstPanelButton.Content  = "Refresh";
            SecondPanelButton.Content = "Refresh";

            AddToBookmarksFirstButton.Content  = "Add to bookmarks";
            AddToBookmarksSecondButton.Content = "Add to bookmarks";

            AddToBookmarksFirstButton.Click  += AddToBookmarksFirstButtonOnClick;
            AddToBookmarksSecondButton.Click += AddToBookmarksSecondButtonOnClick;

            FirstPanelButton.Click  += (sender, args) => FillTable(true, FirstPanelPath.Text);
            SecondPanelButton.Click += (sender, args) => FillTable(false, SecondPanelPath.Text);

            FirstPanel.SelectionChanged  += PanelOnSelectionChanged;
            SecondPanel.SelectionChanged += PanelOnSelectionChanged;

            _focusedStyle = new Style(typeof(Control));
            try
            {
                _focusedStyle.Setters.Add(new Setter(BackgroundProperty,
                                                     new SolidColorBrush(
                                                         // ReSharper disable once PossibleNullReferenceException
                                                         (Color)ColorConverter.ConvertFromString(SettingsBackup.ActivePanelColorStatic)))); //fae1c0
            }
            catch (NullReferenceException)
            {
                MessageBox.Show("Can't find standart color");
                _focusedStyle.Setters.Add(new Setter(BackgroundProperty,
                                                     new SolidColorBrush(Colors.Blue)));
            }

            _standardStyle = new Style(typeof(Control));
            _standardStyle.Setters.Add(new Setter(BackgroundProperty,
                                                  new SolidColorBrush(Colors.White)));

            #region Clickers

            FirstPanelPath.KeyDown  += PathOnKeyDown;
            SecondPanelPath.KeyDown += PathOnKeyDown;

            FirstPanel.MouseDoubleClick  += PanelOnMouseDoubleClick;
            SecondPanel.MouseDoubleClick += PanelOnMouseDoubleClick;

            FirstPanel.KeyDown  += PanelOnKeyDown;
            SecondPanel.KeyDown += PanelOnKeyDown;

            #endregion

            FirstPanel.PreviewMouseDown  += PanelOnPreviewMouseDown;
            SecondPanel.PreviewMouseDown += PanelOnPreviewMouseDown;

            #region Menu

            NewFileMenuItem.Click += (sender, args) => CreateNewFile();
            NewFileFastKey.Click  += (sender, args) => CreateNewFile();

            NewFolderMenuItem.Click += (sender, args) => CreateNewFolder();
            NewFolderFastKey.Click  += (sender, args) => CreateNewFolder();

            DeleteFastKey.Click         += DeleteFastKeyOnClick;
            RenameFastKey.Click         += RenameFastKeyOnClick;
            CopyFastKey.Click           += CopyFastKeyOnClick;
            MoveFastKey.Click           += MoveFastKeyOnClick;
            CopyFastKeyWindows.Click    += CopyFastKeyWindowsOnClick;
            RenameTemplateFastKey.Click += RenameTemplateFastKeyOnClick;
            CheckHashSums.Click         += CheckHashSumsOnClick;
            Archive.Click   += ArchiveOnClick;
            Unarchive.Click += UnarchiveOnClick;

            SettingsMenuItem.Click += SettingsMenuItemOnClick;

            #endregion


            if (File.Exists("settings.json"))
            {
                try
                {
                    SettingsBackup unused =
                        (SettingsBackup)NewtonSoft.Deserialize(File.ReadAllText("settings.json"), typeof(SettingsBackup));
                }
                catch (Exception)
                {
                    SettingsBackup.SetDefaults();;
                }
                CheckPanelFocus();
            }
            else
            {
                SettingsBackup.SetDefaults();
            }

            FillTable(true, SettingsBackup.FirstPanelPathStatic);
            FillTable(false, SettingsBackup.SecondPanelPathStatic);
            _isFirstFocused = true;
            CheckPanelFocus();
            FirstPanel.Focus();
        }