Compare commits
1 Commits
UmbauaufIC
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7a733b92d2 |
12
.gitignore
vendored
12
.gitignore
vendored
@@ -1,11 +1,5 @@
|
||||
/.vs/*
|
||||
/KanSan/bin/Debug/*
|
||||
/KanSan/obj/Debug/*
|
||||
/KanSan/obj/*
|
||||
/KanSan.Base/bin/*
|
||||
/KanSan.Base/kansan.db
|
||||
/KanSan.Base/obj/*
|
||||
/KanSan/version.txt
|
||||
/KanSan.ViewModel/bin/*
|
||||
/KanSan.ViewModel/obj/*
|
||||
*/bin/*
|
||||
*/version.txt
|
||||
*/bin/*
|
||||
*/obj/*
|
||||
|
||||
23
ConsoleClient/ConsoleClient.csproj
Normal file
23
ConsoleClient/ConsoleClient.csproj
Normal file
@@ -0,0 +1,23 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Ninject" Version="3.3.4" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\KundenManagement.Contract\KundenManagement.Contract.csproj" />
|
||||
<ProjectReference Include="..\Mappings\Mappings.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="kunden.csv">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
29
ConsoleClient/Program.cs
Normal file
29
ConsoleClient/Program.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
using KanSan.CrossCutting.DataClasses;
|
||||
using KanSan.DependencyInjection.Mappings;
|
||||
using KundenManagement.Contract;
|
||||
using Ninject;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace ConsoleClient
|
||||
{
|
||||
class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
StandardKernel kernel = new StandardKernel();
|
||||
new KernelInitializer().Initialize(kernel);
|
||||
|
||||
IKundeManager manager = kernel.Get<IKundeManager>();
|
||||
|
||||
List<Kunde> kunden = manager.GetAllKunden();
|
||||
|
||||
kunden.ForEach(a => Console.WriteLine(a.Vorname + " " + a.ID));
|
||||
|
||||
Console.WriteLine("Hello World!");
|
||||
|
||||
Console.ReadKey();
|
||||
}
|
||||
}
|
||||
}
|
||||
2
ConsoleClient/kunden.csv
Normal file
2
ConsoleClient/kunden.csv
Normal file
@@ -0,0 +1,2 @@
|
||||
1,Damian,Bodde
|
||||
2,Cynthia,Schreuder
|
||||
|
8
DataClasses/DataClasses.csproj
Normal file
8
DataClasses/DataClasses.csproj
Normal file
@@ -0,0 +1,8 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<AssemblyName>KanSan.CrossCutting.DataClasses</AssemblyName>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
18
DataClasses/Kunde.cs
Normal file
18
DataClasses/Kunde.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class Kunde
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public Guid GuidNr { get; set; }
|
||||
public string Vorname { get; set; }
|
||||
public string Nachname { get; set; }
|
||||
public string Strasse { get; set; }
|
||||
public string PLZ { get; set; }
|
||||
public string Ort { get; set; }
|
||||
//public List<Projekt> Baustellen { get; } = new List<Projekt>();
|
||||
}
|
||||
}
|
||||
11
DataStoring.CSV/DataStoring.CSV.csproj
Normal file
11
DataStoring.CSV/DataStoring.CSV.csproj
Normal file
@@ -0,0 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DataStoring.Contract\DataStoring.Contract.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
23
DataStoring.CSV/KundenRepository.cs
Normal file
23
DataStoring.CSV/KundenRepository.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using KanSan.CrossCutting.DataClasses;
|
||||
using KanSan.DataStoring.Contract;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace KanSan.DataStoring.CSV
|
||||
{
|
||||
public class KundenRepository : IKundenRepository
|
||||
{
|
||||
public List<Kunde> Query => File
|
||||
.ReadAllLines("kunden.csv")
|
||||
.Select(l => l.Split(','))
|
||||
.Select(p => new Kunde
|
||||
{
|
||||
ID = int.Parse(p[0]),
|
||||
Vorname = p[1],
|
||||
Nachname = p[2]
|
||||
})
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
11
DataStoring.Contract/DataStoring.Contract.csproj
Normal file
11
DataStoring.Contract/DataStoring.Contract.csproj
Normal file
@@ -0,0 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\KanSan.DataClasses\KanSan.DataClasses.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
12
DataStoring.Contract/IKundenRepository.cs
Normal file
12
DataStoring.Contract/IKundenRepository.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using KanSan.CrossCutting.DataClasses;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.DataStoring.Contract
|
||||
{
|
||||
public interface IKundenRepository
|
||||
{
|
||||
List<Kunde> Query { get; }
|
||||
}
|
||||
}
|
||||
24
DataStoring.Contract/IRepository.cs
Normal file
24
DataStoring.Contract/IRepository.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.DataStoring.Contract
|
||||
{
|
||||
public interface IRepository<TEntity> where TEntity : class
|
||||
{
|
||||
void Delete(TEntity entityToDelete);
|
||||
void Delete(int id);
|
||||
IEnumerable<TEntity> GetAll(string include);
|
||||
IEnumerable<TEntity> Get(
|
||||
Expression<Func<TEntity, bool>> filter = null,
|
||||
Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,
|
||||
string includeProperties = "");
|
||||
TEntity GetByID(object id);
|
||||
void Insert(TEntity entity);
|
||||
void Update(TEntity entity);
|
||||
IQueryable<TEntity> Include(params Expression<Func<TEntity, object>>[] includes);
|
||||
IQueryable<TEntity> Query { get; }
|
||||
}
|
||||
}
|
||||
17
DataStoring.EF/DataStoring.EF.csproj
Normal file
17
DataStoring.EF/DataStoring.EF.csproj
Normal file
@@ -0,0 +1,17 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.2" />
|
||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.2" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DataStoring.Contract\DataStoring.Contract.csproj" />
|
||||
<ProjectReference Include="..\KanSan.DataClasses\KanSan.DataClasses.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
31
DataStoring.EF/KanSanContext.cs
Normal file
31
DataStoring.EF/KanSanContext.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using KanSan.CrossCutting.DataClasses;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace DataStoring.EF
|
||||
{
|
||||
public class KanSanContext : DbContext
|
||||
{
|
||||
public DbSet<Projekt> Projekte { get; set; }
|
||||
public DbSet<Kunde> Kunden { get; set; }
|
||||
public DbSet<Sewer> Kanaele { get; set; }
|
||||
public DbSet<SewerPoint> SewerPoints { get; set; }
|
||||
public DbSet<Schaeden> Schaeden { get; set; }
|
||||
public DbSet<Sanierungskonzept> Sanierungskonzept { get; set; }
|
||||
public DbSet<Taetigkeiten> Taetigkeiten { get; set; }
|
||||
public DbSet<LeistungsverzeichnisPosition> LeistungsverzeichnisPositionen { get; set; }
|
||||
public DbSet<BaustelleLeistungsverzeichnisReferenz> LeistungsverzeichnisBaustellen { get; set; }
|
||||
public DbSet<Fahrzeug> Fahrzeuge { get; set; }
|
||||
public DbSet<KurzlinerSan> KurzlinerSanierung { get; set; }
|
||||
public DbSet<HutprofilSan> HutprofilSanierung { get; set; }
|
||||
|
||||
public KanSanContext()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
optionsBuilder.UseNpgsql("Host = 192.168.122.1; Database = kanSan; Username = husky; Password = bodde05");
|
||||
}
|
||||
}
|
||||
}
|
||||
111
DataStoring.EF/Repository.cs
Normal file
111
DataStoring.EF/Repository.cs
Normal file
@@ -0,0 +1,111 @@
|
||||
using KanSan.DataStoring.Contract;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Text;
|
||||
|
||||
namespace DataStoring.EF
|
||||
{
|
||||
public class Repository<TEntity> : IRepository<TEntity> where TEntity : class
|
||||
{
|
||||
private readonly KanSanContext _db;
|
||||
private readonly DbSet<TEntity> dbSet;
|
||||
|
||||
public IQueryable<TEntity> Query => dbSet;
|
||||
|
||||
public Repository(KanSanContext db)
|
||||
{
|
||||
_db = db;
|
||||
this.dbSet = db.Set<TEntity>();
|
||||
}
|
||||
public virtual void Delete(TEntity entityToDelete)
|
||||
{
|
||||
if (_db.Entry(entityToDelete).State == EntityState.Detached)
|
||||
dbSet.Attach(entityToDelete);
|
||||
dbSet.Remove(entityToDelete);
|
||||
}
|
||||
|
||||
public void Delete(int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var entity = _db.Set<TEntity>().Find(id);
|
||||
if(entity == null)
|
||||
{
|
||||
throw new Exception("Id not found");
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
throw new Exception("Cant delete id");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public IEnumerable<TEntity> GetAll(string include)
|
||||
{
|
||||
return dbSet.Include(include);
|
||||
}
|
||||
|
||||
public IEnumerable<TEntity> Get(Expression<Func<TEntity, bool>> filter = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null, string includeProperties = "")
|
||||
{
|
||||
IQueryable<TEntity> query = dbSet;
|
||||
|
||||
|
||||
if (filter != null)
|
||||
{
|
||||
query = query.Where(filter);
|
||||
}
|
||||
|
||||
if (includeProperties != null)
|
||||
{
|
||||
foreach (var includeProperty in includeProperties.Split
|
||||
(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
|
||||
{
|
||||
query = query.Include(includeProperty);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (orderBy != null)
|
||||
{
|
||||
return orderBy(query).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
return query.ToList();
|
||||
}
|
||||
}
|
||||
|
||||
public TEntity GetByID(object id)
|
||||
{
|
||||
return dbSet.Find(id);
|
||||
}
|
||||
|
||||
public virtual void Insert(TEntity entity)
|
||||
{
|
||||
_db.Set<TEntity>().Add(entity);
|
||||
_db.SaveChanges();
|
||||
|
||||
}
|
||||
|
||||
public IQueryable<TEntity> Include(params Expression<Func<TEntity, object>>[] includeExpressions)
|
||||
{
|
||||
IQueryable<TEntity> query = null;
|
||||
foreach (var include in includeExpressions)
|
||||
{
|
||||
query = dbSet.Include(include);
|
||||
}
|
||||
return query ?? dbSet;
|
||||
}
|
||||
|
||||
public void Update(TEntity entity)
|
||||
{
|
||||
_db.Entry(entity).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,4 +25,8 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Models\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace KanSan.Base
|
||||
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
optionsBuilder.UseNpgsql("Host = localhost; Database = kanSan; Username = kansan; Password = kansan");
|
||||
optionsBuilder.UseNpgsql("Host = 192.168.122.1; Database = kanSan; Username = husky; Password = bodde05");
|
||||
//optionsBuilder.UseSqlite("Data Source=kansan.db");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
using KanSan.Base.Interfaces;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class Baustelle : IDatabaseEntry
|
||||
public class Baustelle
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public Guid GuidNr { get; set; }
|
||||
@@ -1,11 +1,10 @@
|
||||
using KanSan.Base.Interfaces;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class BaustelleLeistungsverzeichnisReferenz : IDatabaseEntry
|
||||
public class BaustelleLeistungsverzeichnisReferenz
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public Guid GuidNr { get; set; }
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace KanSan.Base.Enums
|
||||
namespace KanSan.CrossCutting.DataClasses.Enums
|
||||
{
|
||||
public enum EMaterial
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace KanSan.Base.Enums
|
||||
namespace KanSan.CrossCutting.DataClasses.Enums
|
||||
{
|
||||
public enum EPunktType
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace KanSan.Base.Enums
|
||||
namespace KanSan.CrossCutting.DataClasses.Enums
|
||||
{
|
||||
public enum ESanierung
|
||||
{
|
||||
@@ -1,9 +1,8 @@
|
||||
using KanSan.Base.Interfaces;
|
||||
using System;
|
||||
using System;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class Fahrzeug : IDatabaseEntry
|
||||
public class Fahrzeug
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public Guid GuidNr { get; set; }
|
||||
@@ -1,11 +1,10 @@
|
||||
using KanSan.Base.Interfaces;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public abstract class GueteschutzProtokoll : IDatabaseEntry
|
||||
public abstract class GueteschutzProtokoll
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public Guid GuidNr { get; set; }
|
||||
@@ -2,7 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class HutprofilSan : PHarzSanierung
|
||||
{
|
||||
7
KanSan.DataClasses/KanSan.DataClasses.csproj
Normal file
7
KanSan.DataClasses/KanSan.DataClasses.csproj
Normal file
@@ -0,0 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,11 +1,10 @@
|
||||
using KanSan.Base.Interfaces;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class Kunde : IDatabaseEntry
|
||||
public class Kunde
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public Guid GuidNr { get; set; }
|
||||
@@ -2,7 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class KurzlinerSan : PHarzSanierung
|
||||
{
|
||||
@@ -1,9 +1,8 @@
|
||||
using KanSan.Base.Interfaces;
|
||||
using System;
|
||||
using System;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class LeistungsverzeichnisPosition : IDatabaseEntry
|
||||
public class LeistungsverzeichnisPosition
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public Guid GuidNr { get; set; }
|
||||
@@ -2,7 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class PHarzSanierung : GueteschutzProtokoll
|
||||
{
|
||||
@@ -1,11 +1,10 @@
|
||||
using KanSan.Base.Interfaces;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class Projekt : IDatabaseEntry
|
||||
public class Projekt
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public Guid GuidNr { get; set; }
|
||||
@@ -1,11 +1,10 @@
|
||||
using KanSan.Base.Enums;
|
||||
using KanSan.Base.Interfaces;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using KanSan.CrossCutting.DataClasses.Enums;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class Sanierungskonzept : IDatabaseEntry
|
||||
public class Sanierungskonzept
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public Guid GuidNr { get; set; }
|
||||
@@ -1,10 +1,9 @@
|
||||
using KanSan.Base.Enums;
|
||||
using KanSan.Base.Interfaces;
|
||||
using KanSan.CrossCutting.DataClasses.Enums;
|
||||
using System;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class Schaeden : IDatabaseEntry
|
||||
public class Schaeden
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public Guid GuidNr { get; set; }
|
||||
@@ -1,11 +1,10 @@
|
||||
using KanSan.Base.Enums;
|
||||
using KanSan.Base.Interfaces;
|
||||
using KanSan.CrossCutting.DataClasses.Enums;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class Sewer : IDatabaseEntry
|
||||
public class Sewer
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public Guid GuidNr { get; set; }
|
||||
@@ -1,9 +1,8 @@
|
||||
using KanSan.Base.Interfaces;
|
||||
using System;
|
||||
using System;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class SewerPoint : IDatabaseEntry
|
||||
public class SewerPoint
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public Guid GuidNr { get; set; }
|
||||
@@ -1,9 +1,8 @@
|
||||
using KanSan.Base.Interfaces;
|
||||
using System;
|
||||
using System;
|
||||
|
||||
namespace KanSan.Base.Models
|
||||
namespace KanSan.CrossCutting.DataClasses
|
||||
{
|
||||
public class Taetigkeiten : IDatabaseEntry
|
||||
public class Taetigkeiten
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public Guid GuidNr { get; set; }
|
||||
@@ -186,6 +186,7 @@ namespace KanSan.ViewModel
|
||||
}
|
||||
public MainWindowViewModel()
|
||||
{
|
||||
//InitDB();
|
||||
LadeRegistry();
|
||||
LoadBaustellenLeistungsverzeichnis();
|
||||
}
|
||||
@@ -194,5 +195,27 @@ namespace KanSan.ViewModel
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void InitDB()
|
||||
{
|
||||
Projekt projekt = new Projekt();
|
||||
|
||||
Kunde kunde = new Kunde();
|
||||
kunde.Vorname = "Damian";
|
||||
kunde.Nachname = "Bodde";
|
||||
|
||||
kunde.GuidNr = Guid.NewGuid();
|
||||
projekt.Kunde = kunde;
|
||||
projekt.GuidNr = Guid.NewGuid();
|
||||
|
||||
Baustelle baustelle = new Baustelle();
|
||||
baustelle.Projekt = projekt;
|
||||
baustelle.GuidNr = Guid.NewGuid();
|
||||
|
||||
|
||||
|
||||
unitOfWork.ProjekteRepository.Insert(projekt);
|
||||
unitOfWork.Commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
61
KanSan.sln
61
KanSan.sln
@@ -7,7 +7,27 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KanSan", "KanSan\KanSan.csp
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KanSan.Base", "KanSan.Base\KanSan.Base.csproj", "{2184A91C-8DFD-45DD-B83F-5D036BADEA52}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KanSan.ViewModel", "KanSan.ViewModel\KanSan.ViewModel.csproj", "{77F25493-7A1C-4F03-92CF-D0EA00328181}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KanSan.ViewModel", "KanSan.ViewModel\KanSan.ViewModel.csproj", "{77F25493-7A1C-4F03-92CF-D0EA00328181}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KanSan.DataClasses", "KanSan.DataClasses\KanSan.DataClasses.csproj", "{6C30FBF5-D894-4055-A899-4702EDBEE224}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataStoring.Contract", "DataStoring.Contract\DataStoring.Contract.csproj", "{212025C0-50A2-4D6B-9B4E-E226CAA4E551}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataStoring.CSV", "DataStoring.CSV\DataStoring.CSV.csproj", "{5CF0EC47-9C81-40A5-8EBA-F1DA3C8BC41E}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleClient", "ConsoleClient\ConsoleClient.csproj", "{2C721355-C42E-4DBB-A3B0-31C9CE68448C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mappings", "Mappings\Mappings.csproj", "{2FB8401E-78BE-46A5-BE51-6A67029BC43F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KundenManagement.Contract", "KundenManagement.Contract\KundenManagement.Contract.csproj", "{CE02508A-F590-4577-A88E-AA4ED6558C4F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KundenManagement", "KundenManagment\KundenManagement.csproj", "{CFB14A1D-14D9-42D0-B9AD-27E8CAEA761B}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Domain", "Domain", "{2ED2E266-89C3-46C9-9B4E-BB52BBD4F305}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{890D5DD6-3258-4A65-ABF3-AFDFBE115BDC}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataStoring.EF", "DataStoring.EF\DataStoring.EF.csproj", "{177643C2-502C-4613-A00C-50429922D67D}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@@ -27,10 +47,49 @@ Global
|
||||
{77F25493-7A1C-4F03-92CF-D0EA00328181}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{77F25493-7A1C-4F03-92CF-D0EA00328181}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{77F25493-7A1C-4F03-92CF-D0EA00328181}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6C30FBF5-D894-4055-A899-4702EDBEE224}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6C30FBF5-D894-4055-A899-4702EDBEE224}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6C30FBF5-D894-4055-A899-4702EDBEE224}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6C30FBF5-D894-4055-A899-4702EDBEE224}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{212025C0-50A2-4D6B-9B4E-E226CAA4E551}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{212025C0-50A2-4D6B-9B4E-E226CAA4E551}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{212025C0-50A2-4D6B-9B4E-E226CAA4E551}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{212025C0-50A2-4D6B-9B4E-E226CAA4E551}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5CF0EC47-9C81-40A5-8EBA-F1DA3C8BC41E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5CF0EC47-9C81-40A5-8EBA-F1DA3C8BC41E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5CF0EC47-9C81-40A5-8EBA-F1DA3C8BC41E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5CF0EC47-9C81-40A5-8EBA-F1DA3C8BC41E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2C721355-C42E-4DBB-A3B0-31C9CE68448C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2C721355-C42E-4DBB-A3B0-31C9CE68448C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2C721355-C42E-4DBB-A3B0-31C9CE68448C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2C721355-C42E-4DBB-A3B0-31C9CE68448C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2FB8401E-78BE-46A5-BE51-6A67029BC43F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2FB8401E-78BE-46A5-BE51-6A67029BC43F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2FB8401E-78BE-46A5-BE51-6A67029BC43F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2FB8401E-78BE-46A5-BE51-6A67029BC43F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CE02508A-F590-4577-A88E-AA4ED6558C4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CE02508A-F590-4577-A88E-AA4ED6558C4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CE02508A-F590-4577-A88E-AA4ED6558C4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CE02508A-F590-4577-A88E-AA4ED6558C4F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CFB14A1D-14D9-42D0-B9AD-27E8CAEA761B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CFB14A1D-14D9-42D0-B9AD-27E8CAEA761B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CFB14A1D-14D9-42D0-B9AD-27E8CAEA761B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CFB14A1D-14D9-42D0-B9AD-27E8CAEA761B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{177643C2-502C-4613-A00C-50429922D67D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{177643C2-502C-4613-A00C-50429922D67D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{177643C2-502C-4613-A00C-50429922D67D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{177643C2-502C-4613-A00C-50429922D67D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{212025C0-50A2-4D6B-9B4E-E226CAA4E551} = {890D5DD6-3258-4A65-ABF3-AFDFBE115BDC}
|
||||
{5CF0EC47-9C81-40A5-8EBA-F1DA3C8BC41E} = {890D5DD6-3258-4A65-ABF3-AFDFBE115BDC}
|
||||
{CE02508A-F590-4577-A88E-AA4ED6558C4F} = {2ED2E266-89C3-46C9-9B4E-BB52BBD4F305}
|
||||
{CFB14A1D-14D9-42D0-B9AD-27E8CAEA761B} = {2ED2E266-89C3-46C9-9B4E-BB52BBD4F305}
|
||||
{177643C2-502C-4613-A00C-50429922D67D} = {890D5DD6-3258-4A65-ABF3-AFDFBE115BDC}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {BA021C9A-6B88-4B87-8189-93AC075F3D8F}
|
||||
EndGlobalSection
|
||||
|
||||
@@ -140,6 +140,7 @@ namespace KanSan
|
||||
rbLeistungsverzeichnis.IsChecked = false;
|
||||
rbLeistungsverzeichnisBaustellen.IsChecked = false;
|
||||
Kunde client = (DataContext as MainWindowViewModel).SelectedKunde;
|
||||
//Debugger.Break();
|
||||
if (client == null) return;
|
||||
UCProjektList = new UI.UCProjektList(client);
|
||||
UCProjektList.ProjektSelected += UCProjektList_ProjektSelected;
|
||||
|
||||
11
KundenManagement.Contract/IKundeManager.cs
Normal file
11
KundenManagement.Contract/IKundeManager.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using KanSan.CrossCutting.DataClasses;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace KundenManagement.Contract
|
||||
{
|
||||
public interface IKundeManager
|
||||
{
|
||||
List<Kunde> GetAllKunden();
|
||||
}
|
||||
}
|
||||
11
KundenManagement.Contract/KundenManagement.Contract.csproj
Normal file
11
KundenManagement.Contract/KundenManagement.Contract.csproj
Normal file
@@ -0,0 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\KanSan.DataClasses\KanSan.DataClasses.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
27
KundenManagment/KundeManager.cs
Normal file
27
KundenManagment/KundeManager.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using KanSan.CrossCutting.DataClasses;
|
||||
using KanSan.DataStoring.Contract;
|
||||
using KundenManagement.Contract;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace KundenManagment
|
||||
{
|
||||
public class KundeManager : IKundeManager
|
||||
{
|
||||
|
||||
private readonly IRepository<Kunde> _repository;
|
||||
public KundeManager(IRepository<Kunde> repository)
|
||||
{
|
||||
|
||||
_repository = repository;
|
||||
}
|
||||
public List<Kunde> GetAllKunden()
|
||||
{
|
||||
return _repository
|
||||
.Query
|
||||
.Where(p => p.ID >= 0)
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
12
KundenManagment/KundenManagement.csproj
Normal file
12
KundenManagment/KundenManagement.csproj
Normal file
@@ -0,0 +1,12 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DataStoring.Contract\DataStoring.Contract.csproj" />
|
||||
<ProjectReference Include="..\KundenManagement.Contract\KundenManagement.Contract.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
21
Mappings/KernelInitializer.cs
Normal file
21
Mappings/KernelInitializer.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using DataStoring.EF;
|
||||
using KanSan.DataStoring.Contract;
|
||||
using KanSan.DataStoring.CSV;
|
||||
using KundenManagement.Contract;
|
||||
using KundenManagment;
|
||||
using Ninject;
|
||||
using System;
|
||||
|
||||
namespace KanSan.DependencyInjection.Mappings
|
||||
{
|
||||
public class KernelInitializer
|
||||
{
|
||||
public void Initialize(IKernel kernel)
|
||||
{
|
||||
kernel.Bind<KanSanContext>().ToSelf();
|
||||
kernel.Bind(typeof(IRepository<>)).To(typeof(Repository<>));
|
||||
//kernel.Bind<IKundenRepository>().To<KundenRepository>();
|
||||
kernel.Bind<IKundeManager>().To<KundeManager>();
|
||||
}
|
||||
}
|
||||
}
|
||||
19
Mappings/Mappings.csproj
Normal file
19
Mappings/Mappings.csproj
Normal file
@@ -0,0 +1,19 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Ninject" Version="3.3.4" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DataStoring.Contract\DataStoring.Contract.csproj" />
|
||||
<ProjectReference Include="..\DataStoring.CSV\DataStoring.CSV.csproj" />
|
||||
<ProjectReference Include="..\DataStoring.EF\DataStoring.EF.csproj" />
|
||||
<ProjectReference Include="..\KundenManagement.Contract\KundenManagement.Contract.csproj" />
|
||||
<ProjectReference Include="..\KundenManagment\KundenManagement.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Reference in New Issue
Block a user