viewmodel ins wpf gepackt, build failed

This commit is contained in:
HuskyTeufel
2022-03-30 14:59:12 +02:00
parent f34f4517ca
commit 1bf0c3b615
87 changed files with 157 additions and 213 deletions

View File

@@ -0,0 +1,72 @@
using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services;
using DaSaSo.Domain.Services.ProjectServices;
using DaSaSo.EntityFramework.Services;
using DaSaSo.Wpf.ViewModel.Commands;
using DaSaSo.Wpf.ViewModel.Interface;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace DaSaSo.Wpf.ViewModel
{
public class ProjectListViewModel : BaseViewModel
{
private ProjectDataService genericDataService;
private IActualProject actualProject;
private IRenavigator renavigator;
public ObservableCollection<Project> Projekte { get; }
private Project? _selectedProject;
public Project SelectedProject
{
get => _selectedProject;
set
{
if(_selectedProject != value)
{
_selectedProject = value;
OnPropertyChanged();
OnPropertyChanged(nameof(CanSelectProject));
}
}
}
public ICommand SelectCommand { get; set; }
public ICommand AddCommand { get; set; }
public ICommand EditCommand { get; set; }
public bool CanSelectProject => SelectedProject != null;
public ProjectListViewModel(IDataService<Project> genericDataService, IActualProject actualProject, IRenavigator renavigator, IProjectService projectService)
{
Projekte = new ObservableCollection<Project>();
if (genericDataService == null) throw new ArgumentNullException("genericDataService");
this.genericDataService = (genericDataService as ProjectDataService);
this.actualProject = actualProject;
this.renavigator = renavigator;
SelectCommand = new SelectProjectCommand(actualProject, this);
AddCommand = new AddProjectCommand(genericDataService,actualProject, projectService,renavigator);
EditCommand = new EditProjectCommand(genericDataService, actualProject, renavigator,projectService, this);
LoadProjecte();
}
public async void LoadProjecte()
{
var projects = await genericDataService.GetAll();
InitCollection(Projekte, projects);
}
private void InitCollection(ObservableCollection<Project> target, IEnumerable<Project> source)
{
target.Clear();
foreach (var i in source)
target.Add(i);
}
}
}