using System; using System.Linq.Expressions; using Luticate2.Utils.DataAccess; using Luticate2.Utils.Dbo.Filter; using Microsoft.EntityFrameworkCore; using TestUtils.DataAccess.Models; using TestUtils.Dbo.PkBigSerial; namespace TestUtils.DataAccess { public class LuUtilsPkBigSerialDataAccess : LuEfCrudDataAccess { public LuUtilsPkBigSerialDataAccess(IServiceProvider serviceProvider) : base(serviceProvider) { } protected override DbSet GetTable(LuUtilsDbContext db) { return db.pk_bigserial; } protected override pk_bigserial GetModelFromTCreate(PkBigSerialAddDbo obj) { return GetModelFromTUpdate(obj, new pk_bigserial()); } protected override void EditModelFromTUpdate(PkBigSerialAddDbo obj, pk_bigserial model) { model.some_int = obj.SomeInt; model.some_text = obj.SomeText; } protected override PkBigSerialDbo GetDboFromModel(pk_bigserial model) { return new PkBigSerialDbo { CreatedAt = model.created_at, Id = model.id, SomeInt = model.some_int, SomeText = model.some_text }; } protected override Expression> GetFilterExpression(LuFilterDbo filter) { var query = filter.Query.ToLower(); return model => model.some_text.ToLower().Contains(query) || model.some_int.ToString().Contains(query); } } }