CallTaskManager.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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 (!Db.DbMaintenance.IsAnyTable("CallTask", false))
  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()
  29. {
  30. return Db.Queryable<CallTask>()
  31. .Where(d => (d.TaskStatus == EnumTaskStatus.叫料 || d.TaskStatus == EnumTaskStatus.任务创建 || d.TaskStatus == EnumTaskStatus.任务手动删除))
  32. .OrderBy(d => d.Priority, SqlSugar.OrderByType.Desc)
  33. .OrderBy(d => d.CallTime, SqlSugar.OrderByType.Asc)
  34. .Take(100)
  35. .ToList();
  36. }
  37. public List<CallTask> Query(System.Linq.Expressions.Expression<Func<CallTask, bool>> expression)
  38. {
  39. return Db.Queryable<CallTask>()
  40. .Where(expression)
  41. .OrderBy(d => d.CallTime, SqlSugar.OrderByType.Asc)
  42. .ToList();
  43. }
  44. public DataTable QueryDataTable()
  45. {
  46. return Db.Queryable<CallTask>()
  47. .Where(d => d.TaskStatus < EnumTaskStatus.叫料)
  48. .OrderBy(d => d.CallTime, SqlSugar.OrderByType.Desc)
  49. .ToDataTable();
  50. }
  51. }
  52. }