/rBKK.Infrastructure/Security/UserRepository.cs

https://bitbucket.org/sourcecode71/arml · C# · 242 lines · 201 code · 25 blank · 16 comment · 11 complexity · 27d7a3b73c4fa5d38a961a127bc9e7bc MD5 · raw file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using rBKK.Entities;
  6. namespace rBKK.Infrastructure.Security
  7. {
  8. public enum OperationTypes { SAVE, UPDATE }
  9. public class UserRepository:IUserRepository
  10. {
  11. private ARMLEntities Context = new ARMLEntities();
  12. public List<SEC_USER> GetAllUsers()
  13. {
  14. var results = from items in Context.SEC_USER
  15. select items;
  16. // var res = Context.SEC_USER.Where(d => d.FIRST_NAME == "han").OrderBy(d => d.LAST_NAME).ToList();
  17. return results.ToList<SEC_USER>();
  18. }
  19. public void AddUser(SEC_USER objSecUser, string setUser)
  20. {
  21. Context.FN_SEC_ADD_USER(objSecUser.USER_ID
  22. , objSecUser.TITLE
  23. , objSecUser.FIRST_NAME
  24. , objSecUser.LAST_NAME
  25. , objSecUser.CELL_PHONE
  26. , objSecUser.EMAIL
  27. , objSecUser.ENCRIPTED_PASSWORD
  28. , objSecUser.RAW_PASSWORD
  29. , objSecUser.ACTIVE_YN
  30. , objSecUser.SET_USER
  31. , objSecUser.SET_DATE);
  32. }
  33. #region Mostaq /////
  34. public SEC_USER GetUserByID(string strUserId)
  35. {
  36. var result = from item in Context.SEC_USER
  37. where item.USER_ID == strUserId
  38. select item;
  39. return result.FirstOrDefault();
  40. }
  41. #endregion
  42. #region Han ///////
  43. //public SEC_USER GetUserGroup(string UserId)
  44. //{
  45. // var result = from u in Context.SEC_USER
  46. // join ug in Context.SEC_USER_GROUP on u.USER_ID equals ug.USER_ID
  47. // join g in Context.SEC_GROUP on ug.GROUP_ID equals g.GROUP_ID
  48. // where u.USER_ID == UserId
  49. // select new { USER_ID = u.USER_ID, GROUP_NAME = g.GROUP_NAME };
  50. // return Enumerable.FirstOrDefault(result);
  51. //}
  52. public SEC_USER GetUserInfoById(string UserId)
  53. {
  54. var result = from items in Context.SEC_USER
  55. where items.USER_ID == UserId
  56. select items;
  57. return result.ToList().FirstOrDefault();
  58. }
  59. public List<COM_MODULE> GetAllModules()
  60. {
  61. var results = from items in Context.COM_MODULE
  62. select items;
  63. return results.ToList();
  64. }
  65. public List<SEC_GROUP> GetAllUserGroups()
  66. {
  67. var results = from items in Context.SEC_GROUP
  68. select items;
  69. return results.ToList();
  70. }
  71. public string CheckUserAuthentication(string UserId, string Password)
  72. {
  73. string iReturnValue = Context.USP_SEC_CHECK_USER_AUTHENTICATION(UserId, Password).SingleOrDefault();
  74. return iReturnValue;
  75. }
  76. public string CheckUserPagePermission(string UserId, string PageId)
  77. {
  78. string iReturnValue = Context.USP_SEC_CHECK_USER_PERMISSION(UserId, PageId).SingleOrDefault();
  79. return iReturnValue;
  80. }
  81. public void SaveUserSession(string strGuid, string strUserId, string strPassword, string strHostIP)
  82. {
  83. SEC_LOGIN_HISTORY logHis = Context.SEC_LOGIN_HISTORY.CreateObject();
  84. logHis.GUID = strGuid;
  85. logHis.USER_ID = strUserId;
  86. logHis.PASSWORD = strPassword;
  87. logHis.HOST_IP = strHostIP;
  88. logHis.HOST_NAME = strHostIP;
  89. //logHis.LOGIN_TIME = DateTime.Now;
  90. logHis.SET_USER = strUserId;
  91. Context.SEC_LOGIN_HISTORY.AddObject(logHis);
  92. Context.SaveChanges();
  93. }
  94. public List<FN_SEC_GET_GROUP_PERMISSION_BY_USER_ID_Result> GetGroupPermissionByUserId(string UserId)
  95. {
  96. try
  97. {
  98. var result = Context.FN_SEC_GET_GROUP_PERMISSION_BY_USER_ID(UserId);
  99. return result.ToList<FN_SEC_GET_GROUP_PERMISSION_BY_USER_ID_Result>();
  100. }
  101. catch (Exception ex)
  102. {
  103. throw ex;
  104. }
  105. }
  106. public void AddUser(SEC_USER objUser, List<SEC_USER_GROUP> lstUserGroup, string OperationType, string SetUser)
  107. {
  108. try
  109. {
  110. if (OperationType == OperationTypes.SAVE.ToString())
  111. {
  112. Context.SEC_USER.AddObject(objUser);
  113. //Context.SaveChanges();
  114. foreach (SEC_USER_GROUP ug in lstUserGroup.ToList())
  115. {
  116. Context.SEC_USER_GROUP.AddObject(ug);
  117. }
  118. Context.SaveChanges();
  119. }
  120. if (OperationType == OperationTypes.UPDATE.ToString())
  121. {
  122. SEC_USER secUser = Context.SEC_USER.Where(d => d.USER_ID == objUser.USER_ID).FirstOrDefault();
  123. secUser.TITLE = objUser.TITLE;
  124. secUser.FIRST_NAME = objUser.FIRST_NAME;
  125. secUser.LAST_NAME = objUser.LAST_NAME;
  126. secUser.EMAIL = objUser.EMAIL;
  127. secUser.CELL_PHONE = objUser.CELL_PHONE;
  128. secUser.ENCRIPTED_PASSWORD = objUser.ENCRIPTED_PASSWORD;
  129. secUser.RAW_PASSWORD = objUser.RAW_PASSWORD;
  130. secUser.SET_USER = SetUser;
  131. secUser.SET_DATE = objUser.SET_DATE;
  132. secUser.ACTIVE_YN = objUser.ACTIVE_YN;
  133. //Context.SaveChanges();
  134. List<SEC_USER_GROUP> objUserGroup = Context.SEC_USER_GROUP.Where(d => d.USER_ID == objUser.USER_ID).ToList();
  135. foreach (SEC_USER_GROUP ug in objUserGroup.ToList())
  136. {
  137. Context.SEC_USER_GROUP.DeleteObject(ug);
  138. }
  139. //Context.SaveChanges();
  140. foreach (SEC_USER_GROUP ug in lstUserGroup.ToList())
  141. {
  142. Context.SEC_USER_GROUP.AddObject(ug);
  143. }
  144. Context.SaveChanges();
  145. }
  146. }
  147. catch (Exception ex)
  148. {
  149. throw ex;
  150. }
  151. }
  152. public List<FN_SEC_GET_OBJECTS_PERMISSION_BY_GROUP_ID_Result> GetPageObjectsByUserGroupId(string groupID)
  153. {
  154. var result = Context.FN_SEC_GET_OBJECTS_PERMISSION_BY_GROUP_ID(groupID);
  155. return result.ToList<FN_SEC_GET_OBJECTS_PERMISSION_BY_GROUP_ID_Result>();
  156. }
  157. public void AddGroupObjectsPermission(List<SEC_OBJECTS_GROUP_PERMISSION> lstGroupPermission, string groupId, string setUser)
  158. {
  159. try
  160. {
  161. List<SEC_OBJECTS_GROUP_PERMISSION> objGroup = Context.SEC_OBJECTS_GROUP_PERMISSION.Where(d => d.GROUP_ID == groupId).ToList();
  162. foreach (SEC_OBJECTS_GROUP_PERMISSION ogp in objGroup.ToList())
  163. {
  164. Context.SEC_OBJECTS_GROUP_PERMISSION.DeleteObject(ogp);
  165. }
  166. //Context.SaveChanges();
  167. foreach (SEC_OBJECTS_GROUP_PERMISSION ogp in lstGroupPermission.ToList())
  168. {
  169. Context.SEC_OBJECTS_GROUP_PERMISSION.AddObject(ogp);
  170. }
  171. Context.SaveChanges();
  172. }
  173. catch (Exception ex)
  174. {
  175. throw ex;
  176. }
  177. }
  178. public void AddUserPermissionsOverride(List<SEC_OBJECT_USER_PERMISSION_OVERRIDE> lstUserPermission, string UserId)
  179. {
  180. try
  181. {
  182. List<SEC_OBJECT_USER_PERMISSION_OVERRIDE> objUser = Context.SEC_OBJECT_USER_PERMISSION_OVERRIDE.Where(d => d.USER_ID == UserId).ToList();
  183. foreach (SEC_OBJECT_USER_PERMISSION_OVERRIDE ogp in objUser.ToList())
  184. {
  185. Context.SEC_OBJECT_USER_PERMISSION_OVERRIDE.DeleteObject(ogp);
  186. }
  187. //Context.SaveChanges();
  188. foreach (SEC_OBJECT_USER_PERMISSION_OVERRIDE ogp in lstUserPermission.ToList())
  189. {
  190. Context.SEC_OBJECT_USER_PERMISSION_OVERRIDE.AddObject(ogp);
  191. }
  192. Context.SaveChanges();
  193. }
  194. catch (Exception ex)
  195. {
  196. throw ex;
  197. }
  198. }
  199. public List<FN_SEC_GET_USER_OBJECTS_PERMISSION_BY_USER_ID_Result> GetPageObjectsByUserId(string UserId)
  200. {
  201. var result = Context.FN_SEC_GET_USER_OBJECTS_PERMISSION_BY_USER_ID(UserId);
  202. return result.ToList<FN_SEC_GET_USER_OBJECTS_PERMISSION_BY_USER_ID_Result>();
  203. }
  204. public string GetGroupsNameByUserId(string UserId)
  205. {
  206. string groupNames=string.Empty;
  207. var result = from ug in Context.SEC_USER_GROUP
  208. join g in Context.SEC_GROUP on ug.GROUP_ID equals g.GROUP_ID
  209. where ug.USER_ID == UserId
  210. select new { GROUP_NAME = g.GROUP_NAME };
  211. foreach (var gn in result.ToList())
  212. groupNames = groupNames + " " + gn.GROUP_NAME.ToString();
  213. return groupNames;
  214. }
  215. #endregion
  216. }
  217. }