Baustellenmanager

This commit is contained in:
Husky
2021-02-27 12:20:10 +01:00
parent 746353e54e
commit c581f5e198
4 changed files with 24 additions and 5 deletions

View File

@@ -21,8 +21,8 @@ namespace ConsoleApplication
var manager = kernel.Get<IAuftraggeberManager>(); var manager = kernel.Get<IAuftraggeberManager>();
var baustellen = kernel.Get<IBaustelleManager>(); var baustellen = kernel.Get<IBaustelleManager>();
/*
Auftraggeber auftraggeber = new Auftraggeber(); /*Auftraggeber auftraggeber = new Auftraggeber();
auftraggeber.Baustellen = new List<Bauvorhaben>(); auftraggeber.Baustellen = new List<Bauvorhaben>();
auftraggeber.Baustellen.Add(new Bauvorhaben() auftraggeber.Baustellen.Add(new Bauvorhaben()
{ {
@@ -32,6 +32,8 @@ namespace ConsoleApplication
Ort = "Oldenburg" Ort = "Oldenburg"
}); });
auftraggeber.Name = "Junker"; auftraggeber.Name = "Junker";
auftraggeber.Ort = "Oldenburg";
auftraggeber.Strasse = "Schlachthofstraße 42";
manager.Add(auftraggeber); manager.Add(auftraggeber);
*/ */

View File

@@ -12,7 +12,7 @@ namespace DataStoring.Contract
void Insert(TEntity entity); void Insert(TEntity entity);
void Update(TEntity entity); void Update(TEntity entity);
void Delete(int id); void Delete(int id);
IEnumerable<TEntity> Get( IQueryable<TEntity> Get(
Expression<Func<TEntity,bool>> filter = null, Expression<Func<TEntity,bool>> filter = null,
Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,
string includeProperties = ""); string includeProperties = "");

View File

@@ -46,10 +46,24 @@ namespace DataStoring.EfCore
_db.SaveChanges(); _db.SaveChanges();
} }
public IEnumerable<TEntity> Get(Expression<Func<TEntity, bool>> filter = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null, string includeProperties = "") public IQueryable<TEntity> Get(Expression<Func<TEntity, bool>> filter = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null, string includeProperties = "")
{ {
IQueryable<TEntity> query = _db.Set<TEntity>(); IQueryable<TEntity> query = _db.Set<TEntity>();
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);
}
else {
return query;
}
} }
} }
} }

View File

@@ -1,9 +1,12 @@
using DataStoring.Contract; using DataStoring.Contract;
using DichtheitManagement.Contract; using DichtheitManagement.Contract;
using Models; using Models;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Linq.Expressions;
using System.Text; using System.Text;
namespace DichtheitManagement namespace DichtheitManagement
@@ -21,7 +24,7 @@ namespace DichtheitManagement
public IQueryable<Bauvorhaben> GetAllBauvorhaben() public IQueryable<Bauvorhaben> GetAllBauvorhaben()
{ {
return _repository.Query; return _repository.Get(includeProperties: "Auftraggeber");
} }
} }
} }