using System; using System.Linq.Expressions; using Luticate2.Utils.DataAccess; using Luticate2.Utils.Dbo.Filter; using TestUtils.DataAccess.Models; using TestUtils.Dbo.PkGuid; namespace TestUtils.DataAccess { public class LuUtilsPkGuidDataAccess : LuEfCrudDataAccess { public LuUtilsPkGuidDataAccess(LuUtilsDbContext db) : base(db, db.pk_guid) { } protected override pk_guid GetModelFromTCreate(PkGuidAddDbo obj) { return GetModelFromTUpdate(obj, new pk_guid()); } protected override void EditModelFromTUpdate(PkGuidAddDbo obj, pk_guid model) { model.some_int = obj.SomeInt; model.some_text = obj.SomeText; } protected override PkGuidDbo GetDboFromModel(pk_guid model) { return new PkGuidDbo { CreatedAt = model.created_at, UpdatedAt = model.updated_at, Id = model.id.ToString(), SomeInt = model.some_int, SomeText = model.some_text }; } protected override Expression> GetFilterExpression(LuFilterDbo filter) { return model => LuUtilsDbContext.lu_texts_match(filter.Query, model.some_text + " " + model.some_int.ToString()); } } }