public void DeleteModels(List <LocalModel> models)
        {
            ModelSaberOnlineUserControl onlineUserControl = PropertyHelper.GetPropValue <ModelSaberOnlineUserControl>(MainWindow.ViewModel, $"{ModelType}OnlineUserControl");
            List <OnlineModel>          onlineModels      = new List <OnlineModel>();

            foreach (LocalModel model in models)
            {
                LocalModels.Models.Remove(model);
                App.ModelSaberApi.DeleteModel(model);

                OnlineModel onlineModel = onlineUserControl.ViewModel.OnlineModels?.Models.FirstOrDefault(x => x.Id == model.Id || x.Name == model.Name && model.Id == -1);

                if (onlineModel != null)
                {
                    onlineModels.Add(onlineModel);
                }
            }

            if (onlineModels.Count == models.Count)
            {
                onlineModels.ForEach(x => x.IsDownloaded = false);
            }
            else
            {
                ModelChanged = true;
            }

            LocalModels = App.ModelSaberApi.RefreshLocalPages(LocalModels);
        }
Beispiel #2
0
        public ActionResult EditAll(string edit)
        {
            if (edit == "Courses")
            {
                List <CoursesViewModel> ViewModels = new List <CoursesViewModel>();
                ViewModels = LocalModels.MakeListCourses();


                return(View("EditCourses", ViewModels));
            }
            else if (edit == "Teachers")
            {
                List <TeachersViewModel> ViewModels = new List <TeachersViewModel>();
                ViewModels = LocalModels.MakeListTeachers();


                return(View("ShowEditTeachers", ViewModels));
            }
            else if (edit == "Students")
            {
                List <StudentsViewModel> ViewModels = new List <StudentsViewModel>();
                ViewModels = LocalModels.MakeListStudents();


                return(View("ShowEditStudents", ViewModels));
            }

            return(View());
        }
Beispiel #3
0
        void selectedModel_ModelDownloaded(object sender, ModelDownloadedEventArgs e)
        {
            //Transfer to local models list
            ModelMetadata model = sender as ModelMetadata;

            RemoteModels.Remove(model);
            LocalModels.Add(model);
        }
        public void DeleteModel(LocalModel model)
        {
            ModelSaberOnlineUserControl onlineUserControl = PropertyHelper.GetPropValue <ModelSaberOnlineUserControl>(MainWindow.ViewModel, $"{ModelType}OnlineUserControl");
            OnlineModel onlineModel = onlineUserControl.ViewModel.OnlineModels?.Models.FirstOrDefault(x => x.Id == model.Id || x.Name == model.Name && model.Id == -1);

            App.ModelSaberApi.DeleteModel(model);
            LocalModels.Models.Remove(model);
            if (onlineModel is null)
            {
                ModelChanged = true;
            }
            else
            {
                onlineModel.IsDownloaded = false;
            }

            LocalModels = App.ModelSaberApi.RefreshLocalPages(LocalModels);
        }
Beispiel #5
0
        private void appBarDeleteLocalModels_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Delete all downloaded models?", "Delete Files", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
            {
                Storage.DeleteLocalModels();

                LocalModels.Clear();

                foreach (var model in RemoteModels)
                {
                    if (model.IsInProgress)
                    {
                        model.AbortTransfer();
                    }
                }
                RemoteModels.Clear();

                InitializeModelLists();
            }
        }
        public void GetModels(LocalModels localModels = null)
        {
            MainWindow.ToggleLoading(true, $"Loading local {ModelType.ToString().ToLower()}s");

            _ = Task.Run(async() =>
            {
                try
                {
                    LocalModels = App.ModelSaberApi.GetLocalModels(ModelType, localModels);
                }
                catch (Exception e)
                {
                    string description = e.Message;
                    if (e.InnerException != null && !e.Message.Contains(e.InnerException.Message))
                    {
                        description += $" ({e.InnerException.Message})";
                    }

                    await MainWindow.ShowMessageAsync("Local Sabers", description);
                }
            });
        }