public static void LoadCamera2Scene()
        {
            var           a             = enumScenes.Where(x => x.ToString() == currentlyScenesSelected);
            SceneTypes    s             = enumScenes.ElementAtOrDefault(enumScenes.ToList().IndexOf(a.First()));
            Camera2Scenes camera2Scenes = JsonConvert.DeserializeObject <Camera2Scenes>(File.ReadAllText(Path.Combine(cam2Path, "Scenes.json")));
            List <string> cameraList    = camera2Scenes.scenes[s];

            if (cameraList.Count > 0)
            {
                string ProfileName = CameraProfiles.GetNextProfileName(s.ToString());
                if (ProfileName == string.Empty)
                {
                    Logger.Log("No ProfileName in LoadCamera2Scene", LogLevel.Error);
                    return;
                }
                CameraProfiles.DirectoryCreate(Path.Combine(pPath, ProfileName));
                for (int i = 0; i < cameraList.Count; i++)
                {
                    Camera2ConfigLoader(Path.Combine(cam2Path, "Cameras", $"{cameraList[i]}.json"), ProfileName);
                }
            }
            else
            {
                Logger.Log("No Camera Data from Camera2 Scene", LogLevel.Error);
            }
        }
 private void DelProfile()
 {
     if (string.IsNullOrWhiteSpace(CameraProfile?.Id))
     {
         return;
     }
     if (MessageBox.Show("Do you realy want to delete the selected profile", "Warning", MessageBoxButton.YesNo,
                         MessageBoxImage.Question) == MessageBoxResult.Yes)
     {
         CameraProfile.Delete();
         CameraProfiles.Remove(CameraProfile);
         CameraProfile = CameraProfiles[0];
     }
 }
        public void Init()
        {
            try
            {
                // load camera profiles
                CameraProfiles.Clear();
                CameraProfiles.Add(_noneProfile);

                var files = Directory.GetFiles(Settings.Instance.CameraProfileFolder, "*.json");
                foreach (var file in files)
                {
                    var p = CameraProfile.Load(file);
                    if (p != null)
                    {
                        CameraProfiles.Add(p);
                    }
                }
                RaisePropertyChanged(() => CameraProfile);
                // camera profiles
                Profiles.Clear();
                files = Directory.GetFiles(Settings.Instance.ProfileFolder, "*.json");
                foreach (var file in files)
                {
                    var p = Profile.Load(file);
                    if (p != null)
                    {
                        Profiles.Add(p);
                    }
                }
                if (Profiles.Count == 0)
                {
                    var newP = GetNewProfile("Profile1");
                    newP.Save();
                    Profiles.Add(newP);
                }
                Profile = Profiles[0];
                if (!string.IsNullOrWhiteSpace(Profile?.CameraProfileId))
                {
                    CameraProfile = CameraProfiles.FirstOrDefault(x => x.Id == Profile.CameraProfileId);
                }
            }
            catch (Exception e)
            {
                Log.Debug("Unable to load profile list ", e);
            }
        }
        private void AddProfile()
        {
            var profile = new CameraProfile(SelectedCameraDevice)
            {
                Name = "CameraProfile"
            };
            var dlg = new CameraProfilerView {
                DataContext = new CameraProfilerViewModel(profile)
            };

            if (dlg.ShowDialog() == true)
            {
                profile.Save();
                CameraProfiles.Add(profile);
                CameraProfile = profile;
            }
        }
        public void Init()
        {
            try
            {
                CameraProfiles.Clear();
                CameraProfiles.Add(_noneProfile);

                var files = Directory.GetFiles(Settings.Instance.CameraProfileFolder, "*.json");
                foreach (var file in files)
                {
                    var p = CameraProfile.Load(file);
                    if (p != null)
                    {
                        CameraProfiles.Add(p);
                    }
                }
                RaisePropertyChanged(() => CameraProfile);
                Task.Factory.StartNew(SetProfile);
            }
            catch (Exception e)
            {
                Log.Debug("Unable to load camera profile list", e);
            }
        }