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

View File

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

View File

@@ -46,10 +46,24 @@ namespace DataStoring.EfCore
_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>();
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 DichtheitManagement.Contract;
using Models;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
namespace DichtheitManagement
@@ -21,7 +24,7 @@ namespace DichtheitManagement
public IQueryable<Bauvorhaben> GetAllBauvorhaben()
{
return _repository.Query;
return _repository.Get(includeProperties: "Auftraggeber");
}
}
}