diff --git a/DaSaSo.Domain/Model/Impregnation.cs b/DaSaSo.Domain/Model/Impregnation.cs index 507c949..95761f5 100644 --- a/DaSaSo.Domain/Model/Impregnation.cs +++ b/DaSaSo.Domain/Model/Impregnation.cs @@ -12,7 +12,7 @@ namespace DaSaSo.Domain.Model public string Number { get; set; } public decimal Linerlength { get; set; } public bool IsAvaible { get; set; } - public DateTime Date { get; set; } + public DateOnly Date { get; set; } public string LinerNumber { get; set; } public decimal WallThickness { get; set; } } diff --git a/DaSaSo.EntityFramework/Migrations/20211009185244_DateOnly.Designer.cs b/DaSaSo.EntityFramework/Migrations/20211009185244_DateOnly.Designer.cs deleted file mode 100644 index cf4005b..0000000 --- a/DaSaSo.EntityFramework/Migrations/20211009185244_DateOnly.Designer.cs +++ /dev/null @@ -1,394 +0,0 @@ -// -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("20211009185244_DateOnly")] - partial class DateOnly - { - 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("ContactPerson") - .HasColumnType("text"); - - b.Property("Country") - .HasColumnType("text"); - - b.Property("ProjectId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - 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("timestamp with time zone"); - - 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("ClientId") - .HasColumnType("integer"); - - b.Property("Name") - .HasColumnType("text"); - - b.Property("Projektnummer") - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - 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.Project", "Project") - .WithMany("BuildingSites") - .HasForeignKey("ProjectId"); - - 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.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") - .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.Client", b => - { - b.Navigation("Projects"); - }); - - 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/20211009185244_DateOnly.cs b/DaSaSo.EntityFramework/Migrations/20211009185244_DateOnly.cs deleted file mode 100644 index e51fa13..0000000 --- a/DaSaSo.EntityFramework/Migrations/20211009185244_DateOnly.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace DaSaSo.EntityFramework.Migrations -{ - public partial class DateOnly : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AlterColumn( - name: "Date", - table: "PipeLiners", - type: "date", - nullable: false, - oldClrType: typeof(DateTime), - oldType: "timestamp with time zone"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.AlterColumn( - name: "Date", - table: "PipeLiners", - type: "timestamp with time zone", - nullable: false, - oldClrType: typeof(DateOnly), - oldType: "date"); - } - } -} diff --git a/DaSaSo.EntityFramework/Services/SewerObjectDataService.cs b/DaSaSo.EntityFramework/Services/SewerObjectDataService.cs index 441cdf3..02c12af 100644 --- a/DaSaSo.EntityFramework/Services/SewerObjectDataService.cs +++ b/DaSaSo.EntityFramework/Services/SewerObjectDataService.cs @@ -45,6 +45,8 @@ namespace DaSaSo.EntityFramework.Services .Include("PunktOben") .Include("PunktUnten") .Include("SewerDamages") + .Include("PipeLiner") + .Include("PipeLiner.Impregnation") .FirstOrDefaultAsync((e) => e.Id == id); return s; } diff --git a/DaSaSo.ViewModel/Controls/SewerRhebalationControllViewModel.cs b/DaSaSo.ViewModel/Controls/SewerRhebalationControllViewModel.cs new file mode 100644 index 0000000..5f4adbb --- /dev/null +++ b/DaSaSo.ViewModel/Controls/SewerRhebalationControllViewModel.cs @@ -0,0 +1,87 @@ +using DaSaSo.Domain.Model; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DaSaSo.ViewModel.Controls +{ + public class SewerRhebalationControllViewModel : BaseViewModel + { + public string Bediener + { + get => model.Operator; + set + { + if(model.Operator != value) + { + model.Operator = value; + OnPropertyChanged(); + } + } + } + public decimal TemperaturAussen + { + get => model.TemperatureOutdoors; + set + { + if(model.TemperatureOutdoors != value) + { + model.TemperatureOutdoors = value; + OnPropertyChanged(); + } + } + } + public decimal TemperaturSewer + { + get => model.TemperatureSewer; + set + { + if(model.TemperatureSewer != value) + { + model.TemperatureSewer = value; + OnPropertyChanged(); + } + } + } + public string Weather + { + get => model.Weather; + set + { + if(model.Weather != value) + { + model.Weather = value; + OnPropertyChanged(); + } + } + } + private DateTime _date; + public DateTime Datum + { + get => _date; + set + { + if(_date != value) + { + _date = value; + model.Date = DateOnly.FromDateTime(_date); + OnPropertyChanged(); + } + } + } + + public SewerPreperationControllViewModel SewerPreperationControllViewModel { get; set; } + + private PipeLiner model; + + public SewerRhebalationControllViewModel(PipeLiner model) + { + this.model = model; + SewerPreperationControllViewModel = new SewerPreperationControllViewModel(model.PreparationType); + _date = model.Date.ToDateTime(new TimeOnly(0)); + } + } +} diff --git a/DaSaSo.ViewModel/SewerPipeLinerViewModel.cs b/DaSaSo.ViewModel/SewerPipeLinerViewModel.cs index 2b5892b..dcfcd04 100644 --- a/DaSaSo.ViewModel/SewerPipeLinerViewModel.cs +++ b/DaSaSo.ViewModel/SewerPipeLinerViewModel.cs @@ -3,6 +3,7 @@ using DaSaSo.ViewModel.Controls; using DaSaSo.ViewModel.Interface; using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -11,7 +12,7 @@ namespace DaSaSo.ViewModel { public class SewerPipeLinerViewModel : BaseViewModel { - private SewerPreperationControllViewModel _sewerPreperationControllViewModel; + private SewerRhebalationControllViewModel _sewerRhebalationControllViewModel; private PipeLiner _model; public PipeLiner Model @@ -80,21 +81,43 @@ namespace DaSaSo.ViewModel } } } - public SewerPreperationControllViewModel SewerPreperationControllViewModel + public decimal EinbauDruck { - get => _sewerPreperationControllViewModel; - set => _sewerPreperationControllViewModel = value; + get => Model.InversionPressure; + set + { + if(Model.InversionPressure != value) + { + Model.InversionPressure = value; + OnPropertyChanged(); + } + } + } + public SewerRhebalationControllViewModel SewerRhebalationControllViewModel + { + get => _sewerRhebalationControllViewModel; + set => _sewerRhebalationControllViewModel = value; } public SewerPipeLinerViewModel(IActualProject actualProject) { - SewerPreperationControllViewModel = new SewerPreperationControllViewModel(EPreparationType.WaterBaried); + if(actualProject.AktuellSewerObject.PipeLiner == null) { actualProject.AktuellSewerObject.PipeLiner = new PipeLiner(); } Model = actualProject.AktuellSewerObject.PipeLiner; - + SewerRhebalationControllViewModel = new SewerRhebalationControllViewModel(Model); + + } + public override void Dispose() + { + // Todo Calculate SewerPreperation + //EPreparationType preparationFlags = SewerPreperationControllViewModel.CalculatePreparationFlags(); + //Model.PreparationType = preparationFlags; + //SewerPreperationControllViewModel.Dispose(); + //Debugger.Break(); + base.Dispose(); } } } diff --git a/DaSaSo.ViewModel/Window/MainWindowViewModel.cs b/DaSaSo.ViewModel/Window/MainWindowViewModel.cs index 1dda2f7..2aa6bbc 100644 --- a/DaSaSo.ViewModel/Window/MainWindowViewModel.cs +++ b/DaSaSo.ViewModel/Window/MainWindowViewModel.cs @@ -37,6 +37,7 @@ namespace DaSaSo.ViewModel private string _clientname = ""; private string _projektname = ""; + private string _projektnummer = ""; private string _buildingsitename = ""; private RegistryKey? registry; const string REGISTRYKEY = "HKEY_CURRENT_USER\\Software\\Cosysda\\DaSaSo"; @@ -73,6 +74,18 @@ namespace DaSaSo.ViewModel } } } + public string Projektnummer + { + get => _projektnummer; + set + { + if (_projektnummer != value) + { + _projektnummer = value; + OnPropertyChanged(); + } + } + } public string Buildingsitename { get => _buildingsitename; @@ -203,6 +216,7 @@ namespace DaSaSo.ViewModel { SaveInRegistry("lastproject", _actualProject.AktuellProjekt.Id.ToString()); Projektname = _actualProject.AktuellProjekt.Name; + Projektnummer = _actualProject.AktuellProjekt.Projektnummer; OnPropertyChanged(nameof(CanSelectBuildingSite)); UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Buildingsites); } diff --git a/DaSaSo.Wpf/App.xaml.cs b/DaSaSo.Wpf/App.xaml.cs index 84e8288..1646dda 100644 --- a/DaSaSo.Wpf/App.xaml.cs +++ b/DaSaSo.Wpf/App.xaml.cs @@ -165,6 +165,7 @@ namespace DaSaSo.Wpf using (DaSaSoDbContext context = contextFactory.CreateDbContext()) { context.Database.Migrate(); + } MainWindow? window = new MainWindow() { DataContext = _host.Services.GetRequiredService() }; window.Show(); diff --git a/DaSaSo.Wpf/View/SewerObject/Controls/SewerDamagePreparation.xaml b/DaSaSo.Wpf/View/SewerObject/Controls/SewerDamagePreparation.xaml index e165452..636cc0b 100644 --- a/DaSaSo.Wpf/View/SewerObject/Controls/SewerDamagePreparation.xaml +++ b/DaSaSo.Wpf/View/SewerObject/Controls/SewerDamagePreparation.xaml @@ -18,7 +18,7 @@ - + diff --git a/DaSaSo.Wpf/View/SewerObject/Controls/SewerRehabilation.xaml b/DaSaSo.Wpf/View/SewerObject/Controls/SewerRehabilation.xaml index 61b216b..1bae6b4 100644 --- a/DaSaSo.Wpf/View/SewerObject/Controls/SewerRehabilation.xaml +++ b/DaSaSo.Wpf/View/SewerObject/Controls/SewerRehabilation.xaml @@ -3,7 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:local="clr-namespace:DaSaSo.Wpf.View.SewerObject.Controls" xmlns:viewmodel="clr-namespace:DaSaSo.ViewModel;assembly=DaSaSo.ViewModel" d:DataContext="{d:DesignInstance Type=viewmodel:SewerPipeLinerViewModel}" + xmlns:local="clr-namespace:DaSaSo.Wpf.View.SewerObject.Controls" xmlns:viewmodel="clr-namespace:DaSaSo.ViewModel;assembly=DaSaSo.ViewModel" xmlns:controls="clr-namespace:DaSaSo.ViewModel.Controls;assembly=DaSaSo.ViewModel" d:DataContext="{d:DesignInstance Type=controls:SewerRhebalationControllViewModel}" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> @@ -12,7 +12,7 @@ - + @@ -21,21 +21,23 @@ + - diff --git a/DaSaSo.Wpf/View/SewerObject/SewerPipeLinerView.xaml b/DaSaSo.Wpf/View/SewerObject/SewerPipeLinerView.xaml index cdef587..5c5e946 100644 --- a/DaSaSo.Wpf/View/SewerObject/SewerPipeLinerView.xaml +++ b/DaSaSo.Wpf/View/SewerObject/SewerPipeLinerView.xaml @@ -9,10 +9,10 @@ - + - + @@ -24,24 +24,24 @@ - - - + + + - diff --git a/DaSaSo.Wpf/Window/MainWindow.xaml b/DaSaSo.Wpf/Window/MainWindow.xaml index e5f752f..3c1b1ea 100644 --- a/DaSaSo.Wpf/Window/MainWindow.xaml +++ b/DaSaSo.Wpf/Window/MainWindow.xaml @@ -49,13 +49,15 @@ - + - + + +