private void btnOk_Click(object sender, EventArgs e)
        {
            var settings = _applicationSettingsService.Settings;

            if (_originalSettings != settings)
            {
                _applicationSettingsService.SetSettingsStateModified();
            }

            if (rbImgTransformNone.Checked)
            {
                settings.NextImageAnimation = ImageViewApplicationSettings.ChangeImageAnimation.None;
            }

            //if (rbImgTransformSlideLeft.Checked)
            //    settings.NextImageAnimation = ImageViewApplicationSettings.ChangeImageAnimation.SlideLeft;

            //if (rbImgTransformSlideRight.Checked)
            //    settings.NextImageAnimation = ImageViewApplicationSettings.ChangeImageAnimation.SlideRight;

            //if (rbImgTransformSlideDown.Checked)
            //    settings.NextImageAnimation = ImageViewApplicationSettings.ChangeImageAnimation.SlideDown;

            //if (rbImgTransformSlideUp.Checked)
            //    settings.NextImageAnimation = ImageViewApplicationSettings.ChangeImageAnimation.SlideUp;

            settings.AutoRandomizeCollection           = chkAutoRandomize.Checked;
            settings.ShowSwitchImageButtons            = chkShowSwitchImgButtons.Checked;
            settings.EnableAutoLoadFunctionFromMenu    = chkEnableAutoload.Checked;
            settings.ShowNextPrevControlsOnEnterWindow = rbOverWindow.Checked;
            settings.ConfirmApplicationShutdown        = chkConfirmExit.Checked;

            if (rbImgTransformFadeIn.Checked)
            {
                settings.NextImageAnimation = ImageViewApplicationSettings.ChangeImageAnimation.FadeIn;
            }

            settings.ToggleSlideshowWithThirdMouseButton = chkToggleSlidshowWithThirdMouseButton.Checked;
            settings.ImageTransitionTime = trackBarFadeTime.Value;
            settings.ScreenMinXOffset    = Convert.ToInt32(numericScreenMinOffset.Value);
            settings.ScreenWidthOffset   = Convert.ToInt32(numericScreenWidthOffset.Value);

            Color selectedColor = (Color)backgroundColorDropdownList.SelectedItem;

            settings.MainWindowBackgroundColor = ColorDataModel.CreateFromColor(selectedColor);

            _applicationSettingsService.Settings.ImageCacheSize       = _selectedCacheSize;
            _applicationSettingsService.Settings.AutomaticUpdateCheck = ChkAutomaticallyCheckForUpdates.Checked;
            _imageCacheService.CacheSize = _selectedCacheSize;

            _applicationSettingsService.SetSettingsStateModified();
            _applicationSettingsService.SaveSettings();
            Close();
        }
        private AutomobileDataModel MakeModelFromToken(AutomobileSaveToken token)
        {
            OwnerDataModel      owner  = null;
            AutomobileDataModel result = new AutomobileDataModel();
            ColorDataModel      color  = null;
            EngineDataModel     engine = null;


            owner  = context.Owners.FirstOrDefault(o => o.TelephoneNumber == token.OwnerTelephoneNumber);
            color  = context.Colors.FirstOrDefault(c => c.Id == token.ColorId);
            engine = context.Engines.FirstOrDefault(e => e.Id == token.EngineID);


            if (owner == null)
            {
                owner = new OwnerDataModel()
                {
                    Name            = token.OwnerName,
                    TelephoneNumber = token.OwnerTelephoneNumber,
                };
            }

            result.DRN          = token.DRN;
            result.ChassiNumber = token.ChassiNumber;
            result.Color        = color;
            result.ColorId      = color.Id;
            result.Description  = token.Description;
            result.Engine       = engine;
            result.EngineId     = engine.Id;

            result.Owner   = owner;
            result.OwnerId = owner.Id;
            result.Year    = token.Year;

            if (!owner.Automobiles.Contains(result))
            {
                owner.Automobiles.Add(result);
            }

            return(result);
        }
        private void FormSettings_Load(object sender, EventArgs e)
        {
            ImageViewApplicationSettings settings = _applicationSettingsService.Settings;

            chkAutoRandomize.Checked            = settings.AutoRandomizeCollection;
            chkPasswordProtectBookmarks.Checked = settings.PasswordProtectBookmarks;
            chkShowSwitchImgButtons.Checked     = settings.ShowSwitchImageButtons;
            chkEnableAutoload.Checked           = settings.EnableAutoLoadFunctionFromMenu;
            chkConfirmExit.Checked = settings.ConfirmApplicationShutdown;
            ChkAutomaticallyCheckForUpdates.Checked       = settings.AutomaticUpdateCheck;
            chkToggleSlidshowWithThirdMouseButton.Checked = settings.ToggleSlideshowWithThirdMouseButton;

            if (settings.ShowNextPrevControlsOnEnterWindow)
            {
                rbOverWindow.Checked      = true;
                rbOverControlArea.Checked = false;
            }
            else
            {
                rbOverWindow.Checked      = false;
                rbOverControlArea.Checked = true;
            }

            rbImgTransformNone.Checked = false;
            switch (settings.NextImageAnimation)
            {
            case ImageViewApplicationSettings.ChangeImageAnimation.None:
                rbImgTransformNone.Checked = true;
                break;

            //case ImageViewApplicationSettings.ChangeImageAnimation.SlideLeft:
            //    rbImgTransformSlideLeft.Checked = true;
            //    break;
            //case ImageViewApplicationSettings.ChangeImageAnimation.SlideRight:
            //    rbImgTransformSlideRight.Checked = true;
            //    break;
            //case ImageViewApplicationSettings.ChangeImageAnimation.SlideDown:
            //    rbImgTransformSlideDown.Checked = true;
            //    break;
            //case ImageViewApplicationSettings.ChangeImageAnimation.SlideUp:
            //    rbImgTransformSlideUp.Checked = true;
            //  break;
            case ImageViewApplicationSettings.ChangeImageAnimation.FadeIn:
                rbImgTransformFadeIn.Checked = true;
                break;

            default:
                rbImgTransformNone.Checked = true;
                break;
            }

            if (settings.ImageTransitionTime < 10 || settings.ImageTransitionTime > 5000)
            {
                settings.ImageTransitionTime = 1000;
            }

            numericScreenMinOffset.Value   = settings.ScreenMinXOffset;
            numericScreenWidthOffset.Value = settings.ScreenWidthOffset;

            trackBarFadeTime.Value = settings.ImageTransitionTime;
            lblFadeTime.Text       = trackBarFadeTime.Value + " ms";

            // Colors
            var colorList = UIHelper.GetSelectableBackgroundColors();

            colorList.AddRange(UIHelper.GetSelectableSystemBackgroundColors());
            backgroundColorDropdownList.DataSource = colorList;
            BackgroundImageDropdown.DataSource     = UIHelper.GetSelectableBackgroundColors();

            if (backgroundColorDropdownList.Items.Count > 0)
            {
                if (settings.MainWindowBackgroundColor != null)
                {
                    Color savedColor = ColorDataModel.CreateFromColorDataModel(settings.MainWindowBackgroundColor);
                    var   item       = colorList.FirstOrDefault(x => x.ToArgb() == savedColor.ToArgb());
                    backgroundColorDropdownList.SelectedItem = item;
                }
                else
                {
                    backgroundColorDropdownList.SelectedIndex = 0;
                }
            }

            UpdateCacheStats();
        }