RoleDal.cs 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using Cksoft.Data;
  5. using DllUfpEntity;
  6. using System.Linq;
  7. namespace DllUfpDal
  8. {
  9. public class RoleDal
  10. {
  11. private IDatabase CurrDb;
  12. public RoleDal(IDatabase db)
  13. {
  14. this.CurrDb = db;
  15. }
  16. public IEnumerable<Role> Get(int start, int length, string order, string sort, string filter, string errorinfo)
  17. {
  18. var roles = CurrDb.FindListForCondition<Role>($" {filter} order by {sort} {order} limit {start - 1},{length}", ref errorinfo);
  19. return roles;
  20. }
  21. public int GetCount(string filter)
  22. {
  23. string sql = $"select count(1) from Role a where 1=1 {filter}";
  24. return Convert.ToInt32(CurrDb.FindList<string>(sql).FirstOrDefault() ?? "0");
  25. }
  26. public Role Get(string id)
  27. {
  28. return CurrDb.FindEntityFor<Role>(id);
  29. }
  30. /// <summary>
  31. /// 添加角色并返回角色Id
  32. /// </summary>
  33. /// <param name="role"></param>
  34. /// <param name="userCode"></param>
  35. /// <returns></returns>
  36. public int Add(Role role, string userCode)
  37. {
  38. role.RecCode = role.ModCode = userCode;
  39. role.RecTime = role.ModTime = DateTime.Now;
  40. string sql = $"insert into Role (FCode,FName,Remark,RecCode,RecTime,ModCode,ModTime,SystemId) " +
  41. $"values ('{role.FCode}','{role.FName}','{role.Remark}','{role.RecCode}','{role.RecTime.ToString("yyyy-MM-dd")}','{role.ModCode}','{role.ModTime.ToString("yyyy-MM-dd")}','{role.SystemId}');";
  42. sql += "select @@identity;";
  43. var id = Convert.ToInt32(CurrDb.FindList<string>(sql).FirstOrDefault() ?? "-1");
  44. return id;
  45. }
  46. public int Update(Role role, string userCode)
  47. {
  48. return CurrDb.UpdateFor(role, userCode);
  49. }
  50. public IEnumerable<StaffRole> getStaffRole(int id)
  51. {
  52. string sql = $"select * from StaffRole where RoleId='{id}'";
  53. return CurrDb.FindList<StaffRole>(sql);
  54. }
  55. public IEnumerable<RoleFunc> getRoleFunc(int id)
  56. {
  57. string sql = $"select * from RoleFunc where RoleId='{id}'";
  58. return CurrDb.FindList<RoleFunc>(sql);
  59. }
  60. public int Delete(int id, ref string msg)
  61. {
  62. string sql = $"delete from StaffRole where RoleId='{id}'";
  63. var res = CurrDb.ExecuteBySql(sql);
  64. if (res < 0)
  65. {
  66. msg = "删除用户角色时失败";
  67. return -1;
  68. }
  69. sql = $"delete from RoleFunc where RoleId='{id}'";
  70. res = CurrDb.ExecuteBySql(sql);
  71. if (res < 0)
  72. {
  73. msg = "删除角色功能时失败";
  74. return -1;
  75. }
  76. res = CurrDb.DeleteFor<Role>(id);
  77. if (res < 0)
  78. {
  79. msg = "删除角色主表时失败";
  80. return -1;
  81. }
  82. return 1;
  83. }
  84. }
  85. }