using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using UnivateProperties_API.Context; using UnivateProperties_API.Model.Financial; namespace UnivateProperties_API.Repository.Financial { public class PaymentRepository : IRepository { private readonly DataContext _dbContext; public PaymentRepository(DataContext dbContext) { _dbContext = dbContext; } public List Get(Func where) { return _dbContext.Payments.Where(where).ToList(); } public List GetAll() { return _dbContext.Payments.OrderByDescending(p => p.Created).ToList(); } public Payment GetDetailed(Func first) { var item = _dbContext.Payments.FirstOrDefault(first); return item; } public List GetDetailedAll() { return GetAll(); } public void Insert(Payment item) { _dbContext.Add(item); Save(); } public void Insert(IEnumerable items) { foreach(var item in items) { _dbContext.Add(item); } Save(); } public int NewId() { throw new NotImplementedException(); } public void Remove(Payment item) { var i = _dbContext.Payments.Find(item); _dbContext.Payments.Remove(i); Save(); } public void Remove(IEnumerable items) { foreach (var item in items) { var i = _dbContext.Payments.Find(item); _dbContext.Payments.Remove(i); } Save(); } public void RemoveAtId(int item) { var i = _dbContext.Payments.Find(item); _dbContext.Payments.Remove(i); Save(); } public void Save() { _dbContext.SaveChanges(); } public void Update(Payment item) { _dbContext.Entry(item).State = EntityState.Modified; Save(); } } }