From 7a036b340462e708a664ac4e6d79699b330bc6eb Mon Sep 17 00:00:00 2001 From: Damian Wessels Date: Wed, 12 Apr 2023 22:29:49 +0200 Subject: [PATCH] Code cleanup --- SewerStammGen.DAL/Class1.cs | 7 -- .../Services/AuftraggeberDataService.cs | 64 ++++++++------- .../Services/PostgresqlDataService.cs | 49 +++++++++++ .../Services/ProjektDataService.cs | 81 +++++++++++-------- .../Commands/HaltungEditSaveCommand.cs | 12 +-- SewerStammGen/Commands/SchachtAddCommand.cs | 7 +- .../AddServicesHostBuilderExtensions.cs | 3 +- .../AddViewModelsHostBuilderExtensions.cs | 6 +- .../ViewModel/Haltung/HaltungEditViewModel.cs | 8 +- .../ViewModel/Projekt/ProjektEditViewModel.cs | 2 +- .../ViewModel/Projekt/ProjektListViewModel.cs | 2 + .../ViewModel/Schacht/ManholeEditViewModel.cs | 2 +- .../ViewModel/Schacht/ManholeListViewModel.cs | 12 +-- Shared/Contracts/IDataService.cs | 6 +- Shared/Contracts/ISchachtDataService.cs | 3 +- Shared/Contracts/ISchachtService.cs | 16 ---- Shared/Domain/Auftraggeber.cs | 12 +-- Shared/Domain/Kanal.cs | 6 +- Shared/Domain/Projekt.cs | 8 +- Shared/Domain/Schacht.cs | 13 +-- Shared/Services/SchachtService.cs | 44 ---------- Shared/SewerStammGen.Shared.csproj | 4 + 22 files changed, 184 insertions(+), 183 deletions(-) delete mode 100644 SewerStammGen.DAL/Class1.cs create mode 100644 SewerStammGen.DAL/Services/PostgresqlDataService.cs delete mode 100644 Shared/Contracts/ISchachtService.cs delete mode 100644 Shared/Services/SchachtService.cs diff --git a/SewerStammGen.DAL/Class1.cs b/SewerStammGen.DAL/Class1.cs deleted file mode 100644 index ced36b0..0000000 --- a/SewerStammGen.DAL/Class1.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace SewerStammGen.DAL -{ - public class Class1 - { - - } -} \ No newline at end of file diff --git a/SewerStammGen.DAL/Services/AuftraggeberDataService.cs b/SewerStammGen.DAL/Services/AuftraggeberDataService.cs index f97b809..71f7b81 100644 --- a/SewerStammGen.DAL/Services/AuftraggeberDataService.cs +++ b/SewerStammGen.DAL/Services/AuftraggeberDataService.cs @@ -9,33 +9,45 @@ using System.Threading.Tasks; namespace SewerStammGen.DAL.Services { - public class AuftraggeberDataService : IAuftraggeberDataService + public class AuftraggeberDataService : PostgresqlDataService, IAuftraggeberDataService { - string connString = "Host = localhost; Database = SewerGen; Username = SewerGen; Password = SewerGen"; - NpgsqlDataSource dataSource; - NpgsqlConnection? conn = null; - public AuftraggeberDataService() - { - var dataSourceBuilder = new NpgsqlDataSourceBuilder(connString); - dataSource = dataSourceBuilder.Build(); + /* + * CREATE TABLE public."Auftraggebers" +( + "Id" serial, + "Name" text, + "Strasse" text, + "Ort" text, + "Postleitzahl" text, + "Ansprechpartner" text, + "Telefonnummer" text, + PRIMARY KEY ("Id") +); - //OpenConnection(); - conn = dataSource.OpenConnection(); - - } - public Task Create(Auftraggeber entity) +ALTER TABLE IF EXISTS public."Auftraggebers" + OWNER to "SewerGen"; + */ + public AuftraggeberDataService() : base("public.\"Auftraggebers\"") { } + + public async Task Create(Auftraggeber entity) { - throw new NotImplementedException(); - } + string command = "INSERT INTO public.\"Auftraggebers\" (\"Name\", \"Strasse\", \"Ort\", \"Postleitzahl\", \"Ansprechpartner\", \"Telefonnummer\") " + + "VALUES(@1,@2,@3,@4,@5,@6) RETURNING \"Id\""; - public Auftraggeber CreateNonAsync(Auftraggeber entity) - { - throw new NotImplementedException(); - } - - public Task Delete(int id) - { - throw new NotImplementedException(); + await using (var cmd = new NpgsqlCommand(command, conn)) + { + cmd.Parameters.AddWithValue("1", entity.Name); + cmd.Parameters.AddWithValue("2", entity.Strasse); + cmd.Parameters.AddWithValue("3", entity.Ort); + cmd.Parameters.AddWithValue("4", entity.Postleitzahl); + cmd.Parameters.AddWithValue("5", entity.Ansprechpartner); + cmd.Parameters.AddWithValue("6", entity.Telefonnummer); + + using var reader = await cmd.ExecuteReaderAsync(); + reader.Read(); + entity.Id = reader.GetInt32(0); + } + return entity; } public async Task Get(int id) @@ -48,9 +60,7 @@ namespace SewerStammGen.DAL.Services reader.Read(); result = parseAuftraggeber(reader); } - - return result; - + return result; } private Auftraggeber parseAuftraggeber(NpgsqlDataReader reader) @@ -81,7 +91,7 @@ namespace SewerStammGen.DAL.Services return result; } - public Task Update(int id, Auftraggeber entity) + public Task Update(Auftraggeber entity) { throw new NotImplementedException(); } diff --git a/SewerStammGen.DAL/Services/PostgresqlDataService.cs b/SewerStammGen.DAL/Services/PostgresqlDataService.cs new file mode 100644 index 0000000..2b89dcf --- /dev/null +++ b/SewerStammGen.DAL/Services/PostgresqlDataService.cs @@ -0,0 +1,49 @@ +using Npgsql; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SewerStammGen.DAL.Services +{ + public class PostgresqlDataService : IDisposable + { + string connString = "Host = localhost; Database = SewerGen; Username = SewerGen; Password = SewerGen"; + NpgsqlDataSource dataSource; + protected NpgsqlConnection? conn = null; + private string tableName = ""; + + public PostgresqlDataService(string tableName) + { + var dataSourceBuilder = new NpgsqlDataSourceBuilder(connString); + dataSource = dataSourceBuilder.Build(); + + conn = dataSource.OpenConnection(); + this.tableName = tableName; + + } + + + public virtual async Task Delete(int id) + { + string command = $"DELETE "+tableName+" WHERE \"Id\" = @1"; + await using (var cmd = new NpgsqlCommand(command, conn)) + { + cmd.Parameters.AddWithValue("1", id); + int res = await cmd.ExecuteNonQueryAsync(); + } + return true; + } + + public void Dispose() + { + if(conn != null && conn.State == System.Data.ConnectionState.Open) + { + conn.Close(); + conn.Dispose(); + } + } + } +} diff --git a/SewerStammGen.DAL/Services/ProjektDataService.cs b/SewerStammGen.DAL/Services/ProjektDataService.cs index d304cb2..e33602c 100644 --- a/SewerStammGen.DAL/Services/ProjektDataService.cs +++ b/SewerStammGen.DAL/Services/ProjektDataService.cs @@ -8,29 +8,17 @@ using System.Threading.Tasks; using Npgsql; using SewerStammGen.Shared.Domain; using SewerStammGen.Shared.Enum; +using System.Diagnostics; namespace SewerStammGen.DAL.Services { - public class ProjektDataService : IProjektDataService + public class ProjektDataService : PostgresqlDataService, IProjektDataService { - string connString = "Host = localhost; Database = SewerGen; Username = SewerGen; Password = SewerGen"; - NpgsqlDataSource dataSource; - NpgsqlConnection? conn = null; - public ProjektDataService() + public ProjektDataService() : base("public.\"Projekte\"") { - var dataSourceBuilder = new NpgsqlDataSourceBuilder(connString); - dataSource = dataSourceBuilder.Build(); - - //OpenConnection(); - conn = dataSource.OpenConnection(); } - private async void OpenConnection() - { - conn = await dataSource.OpenConnectionAsync(); - } - public async Task Create(Projekt entity) { string command = "INSERT INTO public.\"Projekte\" (\"Projektname\", \"Erstelldatum\", \"Strasse\", \"Ort\", \"ExportType\", \"Kodierungssystem\",\"AuftraggeberId\") " + @@ -52,15 +40,6 @@ namespace SewerStammGen.DAL.Services return entity; } - public Projekt CreateNonAsync(Projekt entity) - { - throw new NotImplementedException(); - } - - public Task Delete(int id) - { - throw new NotImplementedException(); - } public async Task Get(int id) { @@ -77,17 +56,17 @@ namespace SewerStammGen.DAL.Services return result; } - private Projekt? parseProjekt(NpgsqlDataReader reader) + private Projekt parseProjekt(NpgsqlDataReader reader) { return new Projekt() { Id = reader.GetInt32(0), - Projektname = reader.GetString(1), - Erstelldatum = reader.GetString(2), - Strasse = reader.GetString(3), - Ort = reader.GetString(4), - ExportType = (EExportType)reader.GetInt32(5), - Kodierungssystem = (EKodierungssystem)reader.GetInt32(6) + Projektname = reader.IsDBNull(1) ? "" : reader.GetString(1), + Erstelldatum = reader.IsDBNull(2) ? "" : reader.GetString(2), + Strasse = reader.IsDBNull(3) ? "" : reader.GetString(3), + Ort = reader.IsDBNull(4) ? "" : reader.GetString(4), + ExportType = reader.IsDBNull(5) ? EExportType.XML2013 : (EExportType)reader.GetInt32(5), + Kodierungssystem = reader.IsDBNull(6) ? EKodierungssystem.EN13508_2_2011_DWA_M_192_2 : (EKodierungssystem)reader.GetInt32(6) }; } @@ -111,9 +90,45 @@ namespace SewerStammGen.DAL.Services return result; } - public Task Update(int id, Projekt entity) + public async Task Update(Projekt entity) { - throw new NotImplementedException(); + string command = "UPDATE public.\"Projekte\" SET \"Projektname\"=@1, \"Erstelldatum\"=@2, \"Strasse\"=@3, \"Ort\"=@4, \"ExportType\"=@5, \"Kodierungssystem\"=@6 WHERE \"Id\" = @8"; + using(var cmd = new NpgsqlCommand(command, conn)) + { + cmd.Parameters.AddWithValue("1", entity.Projektname); + cmd.Parameters.AddWithValue("2", entity.Erstelldatum); + cmd.Parameters.AddWithValue("3", entity.Strasse); + cmd.Parameters.AddWithValue("4", entity.Ort); + cmd.Parameters.AddWithValue("5", (int)entity.ExportType); + cmd.Parameters.AddWithValue("6", (int)entity.Kodierungssystem); + cmd.Parameters.AddWithValue("8", entity.Id); + int res = await cmd.ExecuteNonQueryAsync(); + Trace.WriteLine(res); + } + return entity; } } } + +/* + * CREATE TABLE public."Projekte" +( + "Id" serial, + "Projektname" text, + "Erstelldatum" text, + "Strasse" text, + "Ort" text, + "ExportType" bigint, + "Kodierungssystem" bigint, + "AuftraggeberId" bigint, + PRIMARY KEY ("Id"), + CONSTRAINT "Auftraggeber" FOREIGN KEY ("AuftraggeberId") + REFERENCES public."Auftraggebers" ("Id") MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE NO ACTION + NOT VALID +); + +ALTER TABLE IF EXISTS public."Projekte" + OWNER to "SewerGen"; +*/ \ No newline at end of file diff --git a/SewerStammGen/Commands/HaltungEditSaveCommand.cs b/SewerStammGen/Commands/HaltungEditSaveCommand.cs index 6f22117..b2b93b3 100644 --- a/SewerStammGen/Commands/HaltungEditSaveCommand.cs +++ b/SewerStammGen/Commands/HaltungEditSaveCommand.cs @@ -15,23 +15,23 @@ namespace SewerStammGen.WPF.Commands { private HaltungEditViewModel haltungEditViewModel; private IDataService kanalDataService; - private ISchachtService schachtService; + - public HaltungEditSaveCommand(HaltungEditViewModel haltungEditViewModel, ISchachtService schachtService) + public HaltungEditSaveCommand(HaltungEditViewModel haltungEditViewModel) { this.haltungEditViewModel = haltungEditViewModel; //this.kanalDataService = kanalDataService; - this.schachtService = schachtService; + } public override async Task ExecuteAsync(object? parameter) { if(haltungEditViewModel._oberePunkt != haltungEditViewModel.Model.StartSchacht.Objektbezeichnung) { - Schacht s = await schachtService.FindSchachtByNameAndProjektID(haltungEditViewModel._oberePunkt, haltungEditViewModel.Model.Projekt.Id); - haltungEditViewModel.Model.StartSchacht = s; + //Schacht s = await schachtService.FindSchachtByNameAndProjektID(haltungEditViewModel._oberePunkt, haltungEditViewModel.Model.Projekt.Id); + //haltungEditViewModel.Model.StartSchacht = s; } - haltungEditViewModel.Model = await kanalDataService.Update(haltungEditViewModel.Model.Id, haltungEditViewModel.Model); + //haltungEditViewModel.Model = await kanalDataService.Update(haltungEditViewModel.Model.Id, haltungEditViewModel.Model); Trace.WriteLine("Daten gespeichert"); } } diff --git a/SewerStammGen/Commands/SchachtAddCommand.cs b/SewerStammGen/Commands/SchachtAddCommand.cs index 88b417b..f43da42 100644 --- a/SewerStammGen/Commands/SchachtAddCommand.cs +++ b/SewerStammGen/Commands/SchachtAddCommand.cs @@ -16,21 +16,20 @@ namespace SewerStammGen.WPF.Commands private readonly IActualState actualState; private readonly IRenavigator renavigator; private readonly IDataService projektService; - private readonly ISchachtService schachtService; - public SchachtAddCommand(IDataService projektService, IActualState actualState, IRenavigator renavigator, ISchachtService schachtService) + public SchachtAddCommand(IDataService projektService, IActualState actualState, IRenavigator renavigator) { this.actualState = actualState; this.renavigator = renavigator; this.projektService = projektService; - this.schachtService = schachtService; + } public override async Task ExecuteAsync(object? parameter) { Projekt aktuelleProjekt = await projektService.Get(actualState.ProjektID); - Schacht schacht = await schachtService.CreateSchacht(aktuelleProjekt); + // Schacht schacht = await schachtService.CreateSchacht(aktuelleProjekt); } } diff --git a/SewerStammGen/HostBuilders/AddServicesHostBuilderExtensions.cs b/SewerStammGen/HostBuilders/AddServicesHostBuilderExtensions.cs index e71f624..c554b02 100644 --- a/SewerStammGen/HostBuilders/AddServicesHostBuilderExtensions.cs +++ b/SewerStammGen/HostBuilders/AddServicesHostBuilderExtensions.cs @@ -2,7 +2,6 @@ using Microsoft.Extensions.Hosting; using SewerStammGen.DAL.Services; using SewerStammGen.Shared.Contracts; -using SewerStammGen.Shared.Services; using SewerStammGen.WPF.Interface.Navigator; using SewerStammGen.WPF.ViewModel; using SewerStammGen.WPF.ViewModel.State.Navigation; @@ -28,7 +27,7 @@ namespace SewerStammGen.HostBuilders services.AddSingleton(); services.AddSingleton(); - services.AddSingleton(); + }); return host; } diff --git a/SewerStammGen/HostBuilders/AddViewModelsHostBuilderExtensions.cs b/SewerStammGen/HostBuilders/AddViewModelsHostBuilderExtensions.cs index eefe414..deb167b 100644 --- a/SewerStammGen/HostBuilders/AddViewModelsHostBuilderExtensions.cs +++ b/SewerStammGen/HostBuilders/AddViewModelsHostBuilderExtensions.cs @@ -48,8 +48,8 @@ namespace SewerStammGen.HostBuilders services.GetRequiredService(), services.GetRequiredService>(), services.GetRequiredService>(), - services.GetRequiredService(), - services.GetRequiredService() + services.GetRequiredService() + ); }); @@ -76,7 +76,7 @@ namespace SewerStammGen.HostBuilders { return () => new HaltungEditViewModel( - services.GetRequiredService(), + services.GetRequiredService() ); }); diff --git a/SewerStammGen/ViewModel/Haltung/HaltungEditViewModel.cs b/SewerStammGen/ViewModel/Haltung/HaltungEditViewModel.cs index cf17e07..05d935f 100644 --- a/SewerStammGen/ViewModel/Haltung/HaltungEditViewModel.cs +++ b/SewerStammGen/ViewModel/Haltung/HaltungEditViewModel.cs @@ -18,7 +18,7 @@ namespace SewerStammGen.WPF.ViewModel { private readonly IActualState _actualState; //private readonly IHaltungDataService _kanalDataService; - private readonly ISchachtService _schachtService; + private Kanal _model; public Kanal Model @@ -113,14 +113,14 @@ namespace SewerStammGen.WPF.ViewModel public ICommand Speichern { get; set; } public HaltungEditViewModel( - ISchachtService schachtService, + IActualState actualState) { _actualState = actualState; //_kanalDataService = kanalDataService; - _schachtService = schachtService; + _model = new Kanal(); - Speichern = new HaltungEditSaveCommand(this, schachtService); + Speichern = new HaltungEditSaveCommand(this); LoadModel(); diff --git a/SewerStammGen/ViewModel/Projekt/ProjektEditViewModel.cs b/SewerStammGen/ViewModel/Projekt/ProjektEditViewModel.cs index d2cd9eb..e3c8884 100644 --- a/SewerStammGen/ViewModel/Projekt/ProjektEditViewModel.cs +++ b/SewerStammGen/ViewModel/Projekt/ProjektEditViewModel.cs @@ -109,7 +109,7 @@ namespace SewerStammGen.WPF.ViewModel } else { - _dataService.Update(_model.Id, _model); + _dataService.Update(_model); } _renavigator.Renavigate(); } diff --git a/SewerStammGen/ViewModel/Projekt/ProjektListViewModel.cs b/SewerStammGen/ViewModel/Projekt/ProjektListViewModel.cs index ec851c7..89a7c57 100644 --- a/SewerStammGen/ViewModel/Projekt/ProjektListViewModel.cs +++ b/SewerStammGen/ViewModel/Projekt/ProjektListViewModel.cs @@ -61,7 +61,9 @@ namespace SewerStammGen.WPF.ViewModel private async void LoadProjekte() { var projects = await genericDataService.GetAll(); + InitCollection(_projekte, projects); + } private void InitCollection(ObservableCollection projekte, IEnumerable projects) diff --git a/SewerStammGen/ViewModel/Schacht/ManholeEditViewModel.cs b/SewerStammGen/ViewModel/Schacht/ManholeEditViewModel.cs index d95d361..de825e1 100644 --- a/SewerStammGen/ViewModel/Schacht/ManholeEditViewModel.cs +++ b/SewerStammGen/ViewModel/Schacht/ManholeEditViewModel.cs @@ -109,7 +109,7 @@ namespace SewerStammGen.WPF.ViewModel private void SaveSchacht() { - _schachtDataService.Update(_model.Id, _model); + //_schachtDataService.Update(_model.Id, _model); } private async void LoadModel() diff --git a/SewerStammGen/ViewModel/Schacht/ManholeListViewModel.cs b/SewerStammGen/ViewModel/Schacht/ManholeListViewModel.cs index 6ab6621..2c21ca1 100644 --- a/SewerStammGen/ViewModel/Schacht/ManholeListViewModel.cs +++ b/SewerStammGen/ViewModel/Schacht/ManholeListViewModel.cs @@ -19,7 +19,7 @@ namespace SewerStammGen.WPF.ViewModel private ISchachtDataService _schachtDataService; private readonly ObservableCollection _schaechte; private readonly IActualState _actualState; - private readonly ISchachtService _schachtService; + public ObservableCollection Schaechte { get => _schaechte; } public Schacht? SelectedSchacht { get; set; } @@ -29,15 +29,15 @@ namespace SewerStammGen.WPF.ViewModel public ICommand DeleteSchachtCommand { get; set; } - public ManholeListViewModel(ISchachtDataService schachtDataService, IDataService projektService,IRenavigator renavigator ,IActualState actualState, ISchachtService schachtService) + public ManholeListViewModel(ISchachtDataService schachtDataService, IDataService projektService,IRenavigator renavigator ,IActualState actualState) { _schachtDataService = schachtDataService; _actualState = actualState; _schaechte = new ObservableCollection(); - _schachtService = schachtService; + - AddSchachtCommand = new SchachtAddCommand(projektService, actualState,renavigator,schachtService); + AddSchachtCommand = new SchachtAddCommand(projektService, actualState,renavigator); EditSchachtCommand = new SchachtEditCommand(schachtDataService, actualState, renavigator,this); DeleteSchachtCommand = new SchachtDeleteCommand(schachtDataService, actualState, renavigator, this); @@ -46,8 +46,8 @@ namespace SewerStammGen.WPF.ViewModel private async void LoadSchaechte() { - var schaechte = await _schachtDataService.GetAll(_actualState.ProjektID); - InitCollection(_schaechte, schaechte); + //var schaechte = await _schachtDataService.GetAll(_actualState.ProjektID); + //InitCollection(_schaechte, schaechte); } private void InitCollection(ObservableCollection dest, IEnumerable source) diff --git a/Shared/Contracts/IDataService.cs b/Shared/Contracts/IDataService.cs index c87d5b5..5558606 100644 --- a/Shared/Contracts/IDataService.cs +++ b/Shared/Contracts/IDataService.cs @@ -6,13 +6,13 @@ using System.Threading.Tasks; namespace Shared.Contracts { - public interface IDataService + public interface IDataService: IDisposable { Task> GetAll(); Task Get(int id); Task Create(T entity); - Task Update(int id,T entity); + Task Update(T entity); Task Delete(int id); - T CreateNonAsync(T entity); + //T CreateNonAsync(T entity); } } diff --git a/Shared/Contracts/ISchachtDataService.cs b/Shared/Contracts/ISchachtDataService.cs index 484d93f..4f6beed 100644 --- a/Shared/Contracts/ISchachtDataService.cs +++ b/Shared/Contracts/ISchachtDataService.cs @@ -11,7 +11,6 @@ namespace SewerStammGen.Shared.Contracts { public interface ISchachtDataService : IDataService { - Task> GetAll(int projektID); - Task GetSchachtByNameAndProjekt(string name, int projektID); + } } diff --git a/Shared/Contracts/ISchachtService.cs b/Shared/Contracts/ISchachtService.cs deleted file mode 100644 index 9b3b80e..0000000 --- a/Shared/Contracts/ISchachtService.cs +++ /dev/null @@ -1,16 +0,0 @@ - -using SewerStammGen.Shared.Domain; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace SewerStammGen.Shared.Contracts -{ - public interface ISchachtService - { - Task CreateSchacht(Projekt proj); - Task FindSchachtByNameAndProjektID(string name, int projektID); - } -} diff --git a/Shared/Domain/Auftraggeber.cs b/Shared/Domain/Auftraggeber.cs index 322b2fa..f8ce7be 100644 --- a/Shared/Domain/Auftraggeber.cs +++ b/Shared/Domain/Auftraggeber.cs @@ -8,11 +8,11 @@ namespace SewerStammGen.Shared.Domain { public class Auftraggeber : DBObject { - public string? Name { get; set; } - public string? Strasse { get; set; } - public string? Ort { get; set; } - public string? Postleitzahl { get; set; } - public string? Ansprechpartner { get; set; } - public string? Telefonnummer { get; set; } + public string Name { get; set; } = String.Empty; + public string Strasse { get; set; } = String.Empty; + public string Ort { get; set; } = String.Empty; + public string Postleitzahl { get; set; } = String.Empty; + public string Ansprechpartner { get; set; } = String.Empty; + public string Telefonnummer { get; set; } = String.Empty; } } diff --git a/Shared/Domain/Kanal.cs b/Shared/Domain/Kanal.cs index de27b6a..ca89ed8 100644 --- a/Shared/Domain/Kanal.cs +++ b/Shared/Domain/Kanal.cs @@ -8,13 +8,13 @@ namespace SewerStammGen.Shared.Domain { public class Kanal : DBObject { - public string? Objektbezeichnung { get; set; } + public string Objektbezeichnung { get; set; } = String.Empty; public Schacht? StartSchacht { get; set; } public Schacht? EndSchacht { get; set; } public int DN { get; set; } - public string? Material { get; set; } + public string Material { get; set; } = String.Empty; public decimal Haltungslaenge { get; set; } - public virtual Projekt? Projekt { get; set; } + public Projekt? Projekt { get; set; } public EEntwaeserung Entwaesserung { get; set; } } diff --git a/Shared/Domain/Projekt.cs b/Shared/Domain/Projekt.cs index 95a3069..e40ff0a 100644 --- a/Shared/Domain/Projekt.cs +++ b/Shared/Domain/Projekt.cs @@ -10,10 +10,10 @@ namespace SewerStammGen.Shared.Domain { public class Projekt : DBObject { - public string? Projektname { get; set; } - public string? Erstelldatum { get; set; } - public string? Strasse { get;set; } - public string? Ort { get; set; } + public string Projektname { get; set; } = String.Empty; + public string Erstelldatum { get; set; } = String.Empty; + public string Strasse { get; set; } = String.Empty; + public string Ort { get; set; } = String.Empty; public Auftraggeber Auftraggeber { get; set; } public EExportType ExportType { get; set; } public EKodierungssystem Kodierungssystem { get; set; } diff --git a/Shared/Domain/Schacht.cs b/Shared/Domain/Schacht.cs index 5e602d1..2511c24 100644 --- a/Shared/Domain/Schacht.cs +++ b/Shared/Domain/Schacht.cs @@ -9,21 +9,12 @@ namespace SewerStammGen.Shared.Domain { public class Schacht : DBObject { - public string? Objektbezeichnung { get; set; } - - [Column(TypeName = "decimal(18,4)")] + public string Objektbezeichnung { get; set; } = String.Empty; public decimal RechtsWert { get; set; } - - [Column(TypeName = "decimal(18,4)")] public decimal HochWert { get; set; } - - [Column(TypeName = "decimal(18,4)")] public decimal SohlHoehe { get; set; } - - [Column(TypeName = "decimal(18,4)")] public decimal DeckelHoehe { get; set; } - - public virtual Projekt? Projekt { get; set; } + public Projekt? Projekt { get; set; } public EEntwaeserung Entwaesserung { get; set; } } diff --git a/Shared/Services/SchachtService.cs b/Shared/Services/SchachtService.cs deleted file mode 100644 index 23e0ba9..0000000 --- a/Shared/Services/SchachtService.cs +++ /dev/null @@ -1,44 +0,0 @@ -using SewerStammGen.Shared.Contracts; -using SewerStammGen.Shared.Domain; -using Shared.Contracts; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace SewerStammGen.Shared.Services -{ - public class SchachtService : ISchachtService - { - private readonly IDataService _projectService; - private readonly ISchachtDataService _schachtDataService; - - public SchachtService( - IDataService projectService, - ISchachtDataService schachtDataService - ) - { - _projectService = projectService; - _schachtDataService = schachtDataService; - } - - public async Task CreateSchacht(Projekt proj) - { - Schacht schacht = new Schacht() { - Projekt = proj - }; - proj.Schaechte.Add(schacht); - await _projectService.Update(proj.Id, proj); - return schacht; - } - - public async Task FindSchachtByNameAndProjektID(string name, int projektID) - { - Schacht result = await _schachtDataService.GetSchachtByNameAndProjekt(name, projektID); - return result; - - - } - } -} diff --git a/Shared/SewerStammGen.Shared.csproj b/Shared/SewerStammGen.Shared.csproj index cfadb03..87d31f0 100644 --- a/Shared/SewerStammGen.Shared.csproj +++ b/Shared/SewerStammGen.Shared.csproj @@ -6,4 +6,8 @@ enable + + + +