using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Dynamic.Core; using UnivateProperties_API.Context; using UnivateProperties_API.Model.Communication; namespace UnivateProperties_API.Repository.Communication { public class MailSourceRepository : IRepository { private readonly DataContext dBContext; public MailSourceRepository(DataContext _dBContext) { dBContext = _dBContext; } public List Get(Func where) { return dBContext.MailSources.Where(where).ToList(); } public List GetAll() { return dBContext.MailSources.OrderBy(p => p.Description).ToList(); } public MailSource GetDetailed(Func first) { return dBContext.MailSources.FirstOrDefault(first); } public List GetDetailedAll() { return dBContext.MailSources.ToList(); } public void Insert(MailSource item) { dBContext.MailSources.Add(item); Save(); } public void Insert(IEnumerable items) { foreach (var item in items) { dBContext.MailSources.Add(item); Save(); } } public void Remove(MailSource item) { dBContext.MailSources.Remove(item); Save(); } public void Remove(IEnumerable items) { foreach (var item in items) { dBContext.MailSources.Remove(item); } Save(); } public void RemoveAtId(int item) { var mailSource = Get(x => x.Id == item).FirstOrDefault(); if (mailSource != null) { dBContext.MailSources.Remove(mailSource); Save(); } } public void Save() { dBContext.SaveChanges(); } public void Update(MailSource item) { dBContext.Entry(item).State = EntityState.Modified; Save(); } public int NewId() { return 0; } } }