CallTaskManager.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using DbCommon.BusinessCore.DbCore;
  2. using DbCommon.Enties.DbModels;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace DbCommon.BusinessCore.BaseCore
  10. {
  11. public class CallTaskManager : DbContext<CallTask>
  12. {
  13. public void Init()
  14. {
  15. //If no exist create datebase
  16. //Db.DbMaintenance.CreateDatabase();
  17. var dt = Db.Ado.GetDataTable("SELECT * FROM sysobjects WHERE NAME = 'CallTask'");
  18. if (dt.Rows.Count == 0)
  19. {
  20. //Create tables
  21. Db.CodeFirst.InitTables(typeof(CallTask));
  22. }
  23. }
  24. public bool DeleteOldData(int day = 1)
  25. {
  26. return CurrentDb.Delete(d => d.CallTime < DateTime.Now.AddDays(day * -1));
  27. }
  28. public List<CallTask> Query(EnumTaskStatus status = EnumTaskStatus.Called)
  29. {
  30. return Db.Queryable<CallTask>()
  31. .Where(d => d.TaskStatus == status)
  32. .OrderBy(d => d.CallTime, SqlSugar.OrderByType.Asc)
  33. .ToList();
  34. }
  35. public List<CallTask> Query(System.Linq.Expressions.Expression<Func<CallTask, bool>> expression)
  36. {
  37. return Db.Queryable<CallTask>()
  38. .Where(expression)
  39. .OrderBy(d => d.CallTime, SqlSugar.OrderByType.Asc)
  40. .ToList();
  41. }
  42. public DataTable QueryDataTable()
  43. {
  44. return Db.Queryable<CallTask>()
  45. .Where(d => d.TaskStatus < EnumTaskStatus.Called)
  46. .OrderBy(d => d.CallTime, SqlSugar.OrderByType.Desc)
  47. .ToDataTable();
  48. }
  49. }
  50. }