using Microsoft.EntityFrameworkCore; using SewerStammGen.EntityFramework.Services.Common; using SewerStammGen.Shared.Contracts; using Shared.Domain; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SewerStammGen.EntityFramework.Services { public class HaltungDataService : IHaltungDataService { private readonly SewerStammGenDbContextFactory _contextFactory; private readonly NonQueryDataService _nonQueryDataService; public HaltungDataService(SewerStammGenDbContextFactory contextFactory) { _contextFactory = contextFactory; _nonQueryDataService = new NonQueryDataService(contextFactory); } public async Task Create(Kanal entity) { return await _nonQueryDataService.Create(entity); } public Kanal CreateNonAsync(Kanal entity) { throw new NotImplementedException(); } public Task Delete(int id) { throw new NotImplementedException(); } public async Task Get(int id) { using (SewerStammGenDbContext context = _contextFactory.CreateDbContext()) { Kanal entity = await context.Set() .Include("StartSchacht") .Include("EndSchacht") .Include("Projekt") .FirstOrDefaultAsync((e) => e.Id == id); return entity; } } public async Task> GetAll(int projektID) { using (SewerStammGenDbContext context = _contextFactory.CreateDbContext()) { IEnumerable entities = await context.Set().Where(x => x.Projekt.Id.Equals(projektID)).ToListAsync(); return entities; } } public Task> GetAll() { throw new NotImplementedException(); } public Task Update(int id, Kanal entity) { throw new NotImplementedException(); } } }