You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

LuUtilsPkGuidDataAccess.cs 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.Linq;
  3. using System.Linq.Expressions;
  4. using Luticate2.Utils.DataAccess;
  5. using Luticate2.Utils.Dbo.Filter;
  6. using Luticate2.Utils.Dbo.Result;
  7. using TestUtils.DataAccess.Models;
  8. using TestUtils.Dbo.PkGuid;
  9. namespace TestUtils.DataAccess
  10. {
  11. public class LuUtilsPkGuidDataAccess : LuEfCrudDataAccess<pk_guid, PkGuidAddDbo, PkGuidDbo, PkGuidAddDbo, LuUtilsDbContext, string>
  12. {
  13. public LuUtilsPkGuidDataAccess(LuUtilsDbContext db) : base(db, db.pk_guid)
  14. {
  15. }
  16. protected override pk_guid GetModelFromTCreate(PkGuidAddDbo obj)
  17. {
  18. return GetModelFromTUpdate(obj, new pk_guid());
  19. }
  20. protected override void EditModelFromTUpdate(PkGuidAddDbo obj, pk_guid model)
  21. {
  22. model.some_int = obj.SomeInt;
  23. model.some_text = obj.SomeText;
  24. }
  25. protected override PkGuidDbo GetDboFromModel(pk_guid model)
  26. {
  27. return new PkGuidDbo
  28. {
  29. CreatedAt = model.created_at,
  30. UpdatedAt = model.updated_at,
  31. Id = model.id.ToString(),
  32. SomeInt = model.some_int,
  33. SomeText = model.some_text
  34. };
  35. }
  36. protected override Expression<Func<pk_guid, bool>> GetFilterExpression(LuFilterDbo filter)
  37. {
  38. return model => LuUtilsDbContext.lu_texts_match(filter.Query, model.some_text + " " + model.some_int.ToString());
  39. }
  40. public LuResult<bool> SomeTextExists(string someText)
  41. {
  42. return Execute(() => LuResult<bool>.Ok(Table.Any(guid => guid.some_text == someText)));
  43. }
  44. }
  45. }