using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using UnivateProperties_API.Context; using UnivateProperties_API.Model.Properties; namespace UnivateProperties_API.Repository.Properties { public class UserDefinedFieldRepository : IRepository { private readonly DataContext dBContext; public UserDefinedFieldRepository(DataContext _dBContext) { dBContext = _dBContext; } public List Get(Func where) { return dBContext.UserDefinedFields.Where(where).OrderBy(x => x.Rank).ToList(); } public List GetAll() { return dBContext.UserDefinedFields.OrderBy(x => x.Rank).ToList(); } public UserDefinedField GetDetailed(Func first) { return dBContext.UserDefinedFields.FirstOrDefault(first); } public List GetDetailedAll() { return dBContext.UserDefinedFields.ToList(); } public void Insert(UserDefinedField item) { dBContext.UserDefinedFields.Add(item); Save(); } public void Insert(IEnumerable items) { foreach (var item in items) { dBContext.UserDefinedFields.Add(item); Save(); } } public void Remove(UserDefinedField item) { dBContext.UserDefinedFields.Remove(item); Save(); } public void Remove(IEnumerable items) { foreach (var item in items) { dBContext.UserDefinedFields.Add(item); Save(); } } public void RemoveAtId(int item) { var userDefinedField = Get(x => x.Id == item).FirstOrDefault(); if (userDefinedField != null) { dBContext.UserDefinedFields.Remove(userDefinedField); Save(); } } public void Save() { dBContext.SaveChanges(); } public void Update(UserDefinedField item) { dBContext.Entry(item).State = EntityState.Modified; Save(); } } }