From ee46751fa62ba2a664116ab10c71f2b4c89980de Mon Sep 17 00:00:00 2001 From: HuskyTeufel Date: Mon, 1 Nov 2021 16:10:46 +0100 Subject: [PATCH 1/3] Clients sind nicht mehr als oberste Prio --- DaSaSo.Domain/Model/Buildingsite.cs | 1 + DaSaSo.Domain/Model/Client.cs | 2 +- DaSaSo.Domain/Model/Project.cs | 2 +- .../ProjectServices/IProjectService.cs | 2 +- .../ProjectServices/ProjectService.cs | 12 +- ...101090936_RemoveClientAsDomain.Designer.cs | 386 ++++++++++++++++++ .../20211101090936_RemoveClientAsDomain.cs | 92 +++++ .../DaSaSoDbContextModelSnapshot.cs | 34 +- .../Services/ClientDataService.cs | 2 +- .../Services/ProjectDataService.cs | 14 +- DaSaSo.ViewModel/ClientListViewModel.cs | 3 +- .../Commands/AddProjectCommand.cs | 2 +- DaSaSo.ViewModel/ProjectListViewModel.cs | 5 +- .../Window/MainWindowViewModel.cs | 10 - .../Controls/MainWindowNavigationBar.xaml | 2 +- DaSaSo.Wpf/View/Client/ClientListView.xaml | 1 - 16 files changed, 513 insertions(+), 57 deletions(-) create mode 100644 DaSaSo.EntityFramework/Migrations/20211101090936_RemoveClientAsDomain.Designer.cs create mode 100644 DaSaSo.EntityFramework/Migrations/20211101090936_RemoveClientAsDomain.cs diff --git a/DaSaSo.Domain/Model/Buildingsite.cs b/DaSaSo.Domain/Model/Buildingsite.cs index 6200912..29bba22 100644 --- a/DaSaSo.Domain/Model/Buildingsite.cs +++ b/DaSaSo.Domain/Model/Buildingsite.cs @@ -8,6 +8,7 @@ namespace DaSaSo.Domain.Model { public class Buildingsite : DomainObject { + public Client Client { get; set; } public Project Project { get; set; } public string BuildingSiteNumber { get; set; } public string Country { get; set; } diff --git a/DaSaSo.Domain/Model/Client.cs b/DaSaSo.Domain/Model/Client.cs index ba53e96..e083e50 100644 --- a/DaSaSo.Domain/Model/Client.cs +++ b/DaSaSo.Domain/Model/Client.cs @@ -13,7 +13,7 @@ namespace DaSaSo.Domain.Model public string Country { get; set; } public string Street { get; set; } public string Postcode { get; set; } - public ICollection Projects { get; set; } = new List(); + //public ICollection Projects { get; set; } = new List(); } } diff --git a/DaSaSo.Domain/Model/Project.cs b/DaSaSo.Domain/Model/Project.cs index bf256d2..2ee606f 100644 --- a/DaSaSo.Domain/Model/Project.cs +++ b/DaSaSo.Domain/Model/Project.cs @@ -10,7 +10,7 @@ namespace DaSaSo.Domain.Model { public string Name { get; set; } public string Projektnummer { get; set; } - public Client Client { get; set; } + //public Client Client { get; set; } public ICollection BuildingSites { get; set; } = new List(); } } diff --git a/DaSaSo.Domain/Services/ProjectServices/IProjectService.cs b/DaSaSo.Domain/Services/ProjectServices/IProjectService.cs index 04f6c75..0d3b752 100644 --- a/DaSaSo.Domain/Services/ProjectServices/IProjectService.cs +++ b/DaSaSo.Domain/Services/ProjectServices/IProjectService.cs @@ -9,6 +9,6 @@ namespace DaSaSo.Domain.Services.ProjectServices { public interface IProjectService { - Task CreateProject(Client Auftraggeber); + Task CreateProject(); } } diff --git a/DaSaSo.Domain/Services/ProjectServices/ProjectService.cs b/DaSaSo.Domain/Services/ProjectServices/ProjectService.cs index 3ddd4b1..0ac77fd 100644 --- a/DaSaSo.Domain/Services/ProjectServices/ProjectService.cs +++ b/DaSaSo.Domain/Services/ProjectServices/ProjectService.cs @@ -16,16 +16,18 @@ namespace DaSaSo.Domain.Services.ProjectServices _clientService = clientService; } - public async Task CreateProject(Client Auftraggeber) + public async Task CreateProject() { + /* Project project = new Project() { Client = Auftraggeber }; - - Auftraggeber.Projects.Add(project); - await _clientService.Update(Auftraggeber.Id, Auftraggeber); - return project; + */ + /*Auftraggeber.Projects.Add(project); + await _clientService.Update(Auftraggeber.Id, Auftraggeber);*/ + + return new Project(); } } } diff --git a/DaSaSo.EntityFramework/Migrations/20211101090936_RemoveClientAsDomain.Designer.cs b/DaSaSo.EntityFramework/Migrations/20211101090936_RemoveClientAsDomain.Designer.cs new file mode 100644 index 0000000..d61cd17 --- /dev/null +++ b/DaSaSo.EntityFramework/Migrations/20211101090936_RemoveClientAsDomain.Designer.cs @@ -0,0 +1,386 @@ +// +using System; +using DaSaSo.EntityFramework; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace DaSaSo.EntityFramework.Migrations +{ + [DbContext(typeof(DaSaSoDbContext))] + [Migration("20211101090936_RemoveClientAsDomain")] + partial class RemoveClientAsDomain + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "6.0.0-rc.1.21452.10") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("DaSaSo.Domain.Model.Buildingsite", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BuildingSiteNumber") + .HasColumnType("text"); + + b.Property("ClientId") + .HasColumnType("integer"); + + b.Property("ContactPerson") + .HasColumnType("text"); + + b.Property("Country") + .HasColumnType("text"); + + b.Property("ProjectId") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("ClientId"); + + b.HasIndex("ProjectId"); + + b.ToTable("Buildingsites"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Client", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Country") + .HasColumnType("text"); + + b.Property("Firstname") + .HasColumnType("text"); + + b.Property("LastName") + .HasColumnType("text"); + + b.Property("Postcode") + .HasColumnType("text"); + + b.Property("Street") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Clients"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Impregnation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DN") + .HasColumnType("integer"); + + b.Property("Date") + .HasColumnType("date"); + + b.Property("IsAvaible") + .HasColumnType("boolean"); + + b.Property("LinerNumber") + .HasColumnType("text"); + + b.Property("Linerlength") + .HasColumnType("numeric"); + + b.Property("Number") + .HasColumnType("text"); + + b.Property("WallThickness") + .HasColumnType("numeric"); + + b.HasKey("Id"); + + b.ToTable("Impregnations"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.PipeLiner", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClosedEnd") + .HasColumnType("boolean"); + + b.Property("Date") + .HasColumnType("date"); + + b.Property("ImpregnationId") + .HasColumnType("integer"); + + b.Property("InversionPressure") + .HasColumnType("numeric"); + + b.Property("LinerLength") + .HasColumnType("numeric"); + + b.Property("Operator") + .HasColumnType("text"); + + b.Property("Preliner") + .HasColumnType("boolean"); + + b.Property("PreparationType") + .HasColumnType("integer"); + + b.Property("TemperaturAssembly") + .HasColumnType("numeric"); + + b.Property("TemperaturStorage") + .HasColumnType("numeric"); + + b.Property("TemperatureOutdoors") + .HasColumnType("numeric"); + + b.Property("TemperatureSewer") + .HasColumnType("numeric"); + + b.Property("Weather") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ImpregnationId"); + + b.ToTable("PipeLiners"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Project", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("Projektnummer") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Projects"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerDamage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DamageType") + .HasColumnType("integer"); + + b.Property("Distance") + .HasColumnType("numeric"); + + b.Property("SewerObjectId") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("SewerObjectId"); + + b.ToTable("SewerDamages"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerObject", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BuildingSiteId") + .HasColumnType("integer"); + + b.Property("BuildingsiteBarier") + .HasColumnType("boolean"); + + b.Property("DN") + .HasColumnType("integer"); + + b.Property("Hausnummer") + .HasColumnType("text"); + + b.Property("Material") + .HasColumnType("text"); + + b.Property("ObjektName") + .HasColumnType("text"); + + b.Property("PermitNeeded") + .HasColumnType("boolean"); + + b.Property("PipeLinerId") + .HasColumnType("integer"); + + b.Property("PunktObenId") + .HasColumnType("integer"); + + b.Property("PunktObenType") + .HasColumnType("integer"); + + b.Property("PunktUntenId") + .HasColumnType("integer"); + + b.Property("PunktUntenType") + .HasColumnType("integer"); + + b.Property("SanNummer") + .HasColumnType("text"); + + b.Property("SewerActivated") + .HasColumnType("boolean"); + + b.Property("SewerCleaned") + .HasColumnType("boolean"); + + b.Property("SewerLength") + .HasColumnType("numeric"); + + b.Property("StreetName") + .HasColumnType("text"); + + b.Property("WaterBarrier") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("BuildingSiteId"); + + b.HasIndex("PipeLinerId"); + + b.HasIndex("PunktObenId"); + + b.HasIndex("PunktUntenId"); + + b.ToTable("SewerObjects"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerPoint", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Objektnummer") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("SewerPoints"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Buildingsite", b => + { + b.HasOne("DaSaSo.Domain.Model.Client", "Client") + .WithMany() + .HasForeignKey("ClientId"); + + b.HasOne("DaSaSo.Domain.Model.Project", "Project") + .WithMany("BuildingSites") + .HasForeignKey("ProjectId"); + + b.Navigation("Client"); + + b.Navigation("Project"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.PipeLiner", b => + { + b.HasOne("DaSaSo.Domain.Model.Impregnation", "Impregnation") + .WithMany() + .HasForeignKey("ImpregnationId"); + + b.Navigation("Impregnation"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerDamage", b => + { + b.HasOne("DaSaSo.Domain.Model.SewerObject", "SewerObject") + .WithMany("SewerDamages") + .HasForeignKey("SewerObjectId"); + + b.Navigation("SewerObject"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerObject", b => + { + b.HasOne("DaSaSo.Domain.Model.Buildingsite", "BuildingSite") + .WithMany("SewerObjects") + .HasForeignKey("BuildingSiteId"); + + b.HasOne("DaSaSo.Domain.Model.PipeLiner", "PipeLiner") + .WithMany() + .HasForeignKey("PipeLinerId"); + + b.HasOne("DaSaSo.Domain.Model.SewerPoint", "PunktOben") + .WithMany() + .HasForeignKey("PunktObenId"); + + b.HasOne("DaSaSo.Domain.Model.SewerPoint", "PunktUnten") + .WithMany() + .HasForeignKey("PunktUntenId"); + + b.Navigation("BuildingSite"); + + b.Navigation("PipeLiner"); + + b.Navigation("PunktOben"); + + b.Navigation("PunktUnten"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Buildingsite", b => + { + b.Navigation("SewerObjects"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Project", b => + { + b.Navigation("BuildingSites"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerObject", b => + { + b.Navigation("SewerDamages"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/DaSaSo.EntityFramework/Migrations/20211101090936_RemoveClientAsDomain.cs b/DaSaSo.EntityFramework/Migrations/20211101090936_RemoveClientAsDomain.cs new file mode 100644 index 0000000..91816dc --- /dev/null +++ b/DaSaSo.EntityFramework/Migrations/20211101090936_RemoveClientAsDomain.cs @@ -0,0 +1,92 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace DaSaSo.EntityFramework.Migrations +{ + public partial class RemoveClientAsDomain : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_Projects_Clients_ClientId", + table: "Projects"); + + migrationBuilder.DropIndex( + name: "IX_Projects_ClientId", + table: "Projects"); + + migrationBuilder.DropColumn( + name: "ClientId", + table: "Projects"); + + migrationBuilder.AlterColumn( + name: "Date", + table: "Impregnations", + type: "date", + nullable: false, + oldClrType: typeof(DateTime), + oldType: "timestamp with time zone"); + + migrationBuilder.AddColumn( + name: "ClientId", + table: "Buildingsites", + type: "integer", + nullable: true); + + migrationBuilder.CreateIndex( + name: "IX_Buildingsites_ClientId", + table: "Buildingsites", + column: "ClientId"); + + migrationBuilder.AddForeignKey( + name: "FK_Buildingsites_Clients_ClientId", + table: "Buildingsites", + column: "ClientId", + principalTable: "Clients", + principalColumn: "Id"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_Buildingsites_Clients_ClientId", + table: "Buildingsites"); + + migrationBuilder.DropIndex( + name: "IX_Buildingsites_ClientId", + table: "Buildingsites"); + + migrationBuilder.DropColumn( + name: "ClientId", + table: "Buildingsites"); + + migrationBuilder.AddColumn( + name: "ClientId", + table: "Projects", + type: "integer", + nullable: true); + + migrationBuilder.AlterColumn( + name: "Date", + table: "Impregnations", + type: "timestamp with time zone", + nullable: false, + oldClrType: typeof(DateOnly), + oldType: "date"); + + migrationBuilder.CreateIndex( + name: "IX_Projects_ClientId", + table: "Projects", + column: "ClientId"); + + migrationBuilder.AddForeignKey( + name: "FK_Projects_Clients_ClientId", + table: "Projects", + column: "ClientId", + principalTable: "Clients", + principalColumn: "Id"); + } + } +} diff --git a/DaSaSo.EntityFramework/Migrations/DaSaSoDbContextModelSnapshot.cs b/DaSaSo.EntityFramework/Migrations/DaSaSoDbContextModelSnapshot.cs index a5b2196..dee3080 100644 --- a/DaSaSo.EntityFramework/Migrations/DaSaSoDbContextModelSnapshot.cs +++ b/DaSaSo.EntityFramework/Migrations/DaSaSoDbContextModelSnapshot.cs @@ -33,6 +33,9 @@ namespace DaSaSo.EntityFramework.Migrations b.Property("BuildingSiteNumber") .HasColumnType("text"); + b.Property("ClientId") + .HasColumnType("integer"); + b.Property("ContactPerson") .HasColumnType("text"); @@ -44,6 +47,8 @@ namespace DaSaSo.EntityFramework.Migrations b.HasKey("Id"); + b.HasIndex("ClientId"); + b.HasIndex("ProjectId"); b.ToTable("Buildingsites"); @@ -88,8 +93,8 @@ namespace DaSaSo.EntityFramework.Migrations b.Property("DN") .HasColumnType("integer"); - b.Property("Date") - .HasColumnType("timestamp with time zone"); + b.Property("Date") + .HasColumnType("date"); b.Property("IsAvaible") .HasColumnType("boolean"); @@ -173,9 +178,6 @@ namespace DaSaSo.EntityFramework.Migrations NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ClientId") - .HasColumnType("integer"); - b.Property("Name") .HasColumnType("text"); @@ -184,8 +186,6 @@ namespace DaSaSo.EntityFramework.Migrations b.HasKey("Id"); - b.HasIndex("ClientId"); - b.ToTable("Projects"); }); @@ -306,10 +306,16 @@ namespace DaSaSo.EntityFramework.Migrations modelBuilder.Entity("DaSaSo.Domain.Model.Buildingsite", b => { + b.HasOne("DaSaSo.Domain.Model.Client", "Client") + .WithMany() + .HasForeignKey("ClientId"); + b.HasOne("DaSaSo.Domain.Model.Project", "Project") .WithMany("BuildingSites") .HasForeignKey("ProjectId"); + b.Navigation("Client"); + b.Navigation("Project"); }); @@ -322,15 +328,6 @@ namespace DaSaSo.EntityFramework.Migrations b.Navigation("Impregnation"); }); - modelBuilder.Entity("DaSaSo.Domain.Model.Project", b => - { - b.HasOne("DaSaSo.Domain.Model.Client", "Client") - .WithMany("Projects") - .HasForeignKey("ClientId"); - - b.Navigation("Client"); - }); - modelBuilder.Entity("DaSaSo.Domain.Model.SewerDamage", b => { b.HasOne("DaSaSo.Domain.Model.SewerObject", "SewerObject") @@ -372,11 +369,6 @@ namespace DaSaSo.EntityFramework.Migrations b.Navigation("SewerObjects"); }); - modelBuilder.Entity("DaSaSo.Domain.Model.Client", b => - { - b.Navigation("Projects"); - }); - modelBuilder.Entity("DaSaSo.Domain.Model.Project", b => { b.Navigation("BuildingSites"); diff --git a/DaSaSo.EntityFramework/Services/ClientDataService.cs b/DaSaSo.EntityFramework/Services/ClientDataService.cs index 0e815c5..5c33030 100644 --- a/DaSaSo.EntityFramework/Services/ClientDataService.cs +++ b/DaSaSo.EntityFramework/Services/ClientDataService.cs @@ -40,7 +40,7 @@ namespace DaSaSo.EntityFramework.Services public async Task Get(int id) { using DaSaSoDbContext context = _contextFactory.CreateDbContext(); - Client entity = await context.Clients.Include(a => a.Projects).FirstOrDefaultAsync((e) => e.Id == id); + Client entity = await context.Clients.FirstOrDefaultAsync((e) => e.Id == id); return entity; } diff --git a/DaSaSo.EntityFramework/Services/ProjectDataService.cs b/DaSaSo.EntityFramework/Services/ProjectDataService.cs index f7f2ec5..27f053c 100644 --- a/DaSaSo.EntityFramework/Services/ProjectDataService.cs +++ b/DaSaSo.EntityFramework/Services/ProjectDataService.cs @@ -41,22 +41,16 @@ namespace DaSaSo.EntityFramework.Services } } - public async Task> GetAllByClient(Client client) + + public async Task> GetAll() { - // Get Clientid - int id = client.Id; - using (DaSaSoDbContext context = _contextFactory.CreateDbContext()) + using(DaSaSoDbContext context = _contextFactory.CreateDbContext()) { - IEnumerable entities = await context.Projects.Where(x => x.Client.Id == id).ToListAsync(); + IEnumerable entities = await context.Projects.ToListAsync(); return entities; } } - public Task> GetAll() - { - throw new NotImplementedException(); - } - public async Task Update(int id, Project entity) { return await _nonQueryDataService.Update(id, entity); diff --git a/DaSaSo.ViewModel/ClientListViewModel.cs b/DaSaSo.ViewModel/ClientListViewModel.cs index e980430..34212c3 100644 --- a/DaSaSo.ViewModel/ClientListViewModel.cs +++ b/DaSaSo.ViewModel/ClientListViewModel.cs @@ -22,7 +22,6 @@ namespace DaSaSo.ViewModel private readonly IDataService _dataService; bool _isLoading = true; - public ICommand SelectCommand { get; set; } public ICommand EditCommand { get; set; } public ICommand AddNewClientCommand { get; set; } @@ -63,7 +62,7 @@ namespace DaSaSo.ViewModel _dataService = dataService; LoadClient(); - SelectCommand = new SelectClientCommand(dataService,actualProject, this); + EditCommand = new EditClientCommand(_dataService,actualProject, editRenavigator, this); AddNewClientCommand = new AddClientCommand(_dataService, actualProject, editRenavigator, this); diff --git a/DaSaSo.ViewModel/Commands/AddProjectCommand.cs b/DaSaSo.ViewModel/Commands/AddProjectCommand.cs index b5862d0..ed4d371 100644 --- a/DaSaSo.ViewModel/Commands/AddProjectCommand.cs +++ b/DaSaSo.ViewModel/Commands/AddProjectCommand.cs @@ -29,7 +29,7 @@ namespace DaSaSo.ViewModel.Commands public override async Task ExecuteAsync(object? parameter) { - Project pro = await _projectService.CreateProject(_actualProject.AktuellClient); + Project pro = await _projectService.CreateProject(); _actualProject.SetProject(pro); _renavigator.Renavigate(); diff --git a/DaSaSo.ViewModel/ProjectListViewModel.cs b/DaSaSo.ViewModel/ProjectListViewModel.cs index fbcf389..1d20ea8 100644 --- a/DaSaSo.ViewModel/ProjectListViewModel.cs +++ b/DaSaSo.ViewModel/ProjectListViewModel.cs @@ -56,9 +56,10 @@ namespace DaSaSo.ViewModel LoadProjecte(); } - public void LoadProjecte() + public async void LoadProjecte() { - InitCollection(Projekte, actualProject.AktuellClient.Projects); + var projects = await genericDataService.GetAll(); + InitCollection(Projekte, projects); } private void InitCollection(ObservableCollection target, IEnumerable source) diff --git a/DaSaSo.ViewModel/Window/MainWindowViewModel.cs b/DaSaSo.ViewModel/Window/MainWindowViewModel.cs index 2aa6bbc..ab57b47 100644 --- a/DaSaSo.ViewModel/Window/MainWindowViewModel.cs +++ b/DaSaSo.ViewModel/Window/MainWindowViewModel.cs @@ -41,7 +41,6 @@ namespace DaSaSo.ViewModel private string _buildingsitename = ""; private RegistryKey? registry; const string REGISTRYKEY = "HKEY_CURRENT_USER\\Software\\Cosysda\\DaSaSo"; - public bool CanSelectProject { get => _actualProject.AktuellClient != null; } public bool CanSelectBuildingSite { get => _actualProject.AktuellProjekt != null; } public bool CanSelectSewerObjects { get => _actualProject.AktuellBaustelle != null; } @@ -137,7 +136,6 @@ namespace DaSaSo.ViewModel UpdateCurrentViewModelCommand = new UpdateCurrentViewModelCommand(navigator, viewModelFactory); UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Home); _actualProject = actualProject; - _actualProject.ClientChanged += ActualProject_ClientChanged; _actualProject.ProjectChanged += ActualProject_ProjectChanged; _actualProject.BuildingSiteChanged += ActualProject_BuildingSiteChanged; _actualProject.SewerObjectChanged += ActualProject_SewerObjectChanged; @@ -220,13 +218,5 @@ namespace DaSaSo.ViewModel OnPropertyChanged(nameof(CanSelectBuildingSite)); UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Buildingsites); } - - private void ActualProject_ClientChanged(object? sender, EventArgs e) - { - SaveInRegistry("lastclient", _actualProject.AktuellClient.Id.ToString()); - ClientName = _actualProject.AktuellClient.Firstname; - OnPropertyChanged(nameof(CanSelectProject)); - UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Projects); - } } } diff --git a/DaSaSo.Wpf/Controls/MainWindowNavigationBar.xaml b/DaSaSo.Wpf/Controls/MainWindowNavigationBar.xaml index 1c237e0..73b131d 100644 --- a/DaSaSo.Wpf/Controls/MainWindowNavigationBar.xaml +++ b/DaSaSo.Wpf/Controls/MainWindowNavigationBar.xaml @@ -24,7 +24,7 @@ - + diff --git a/DaSaSo.Wpf/View/Client/ClientListView.xaml b/DaSaSo.Wpf/View/Client/ClientListView.xaml index 7424e16..ec6a56c 100644 --- a/DaSaSo.Wpf/View/Client/ClientListView.xaml +++ b/DaSaSo.Wpf/View/Client/ClientListView.xaml @@ -13,7 +13,6 @@ -