/infrastructure/iPow.Infrastructure.Crosscutting.Authorize/User/UserExtensionService.cs

https://bitbucket.org/JPomichael/miaow · C# · 295 lines · 265 code · 16 blank · 14 comment · 46 complexity · 44ff7dea10fd157243d7829cf0657961 MD5 · raw file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using iPow.Infrastructure.Data.DataSys;
  6. namespace iPow.Infrastructure.Crosscutting.Authorize
  7. {
  8. public class UserExtensionService : IUserExtensionService
  9. {
  10. iPow.Domain.Repository.IAdminUserExtensionRepository userExtensionRepository;
  11. public UserExtensionService(iPow.Domain.Repository.IAdminUserExtensionRepository userex)
  12. {
  13. if (userex == null)
  14. {
  15. throw new ArgumentNullException("userExtensionRepository is null");
  16. }
  17. userExtensionRepository = userex;
  18. }
  19. public bool Add(Data.DataSys.Sys_AdminUserExtension entity, Data.DataSys.Sys_AdminUser operUser)
  20. {
  21. var res = false;
  22. if (entity != null)
  23. {
  24. try
  25. {
  26. userExtensionRepository.Add(entity);
  27. userExtensionRepository.Uow.Commit();
  28. //添加日志操作
  29. res = true;
  30. }
  31. catch (Exception ex)
  32. {
  33. }
  34. }
  35. return res;
  36. }
  37. public bool Add(IList<Sys_AdminUserExtension> entity, Sys_AdminUser operUser)
  38. {
  39. var res = false;
  40. if (entity != null && entity.Count > 0)
  41. {
  42. try
  43. {
  44. foreach (var item in entity)
  45. {
  46. if (item != null)
  47. {
  48. userExtensionRepository.Add(item);
  49. }
  50. }
  51. userExtensionRepository.Uow.Commit();
  52. res = true;
  53. }
  54. catch (Exception ex)
  55. {
  56. }
  57. }
  58. return res;
  59. }
  60. public bool Delete(Data.DataSys.Sys_AdminUserExtension entity, Data.DataSys.Sys_AdminUser operUser)
  61. {
  62. var res = false;
  63. if (entity != null)
  64. {
  65. try
  66. {
  67. entity.State = false;
  68. userExtensionRepository.Modify(entity);
  69. res = true;
  70. //添加日志操作
  71. }
  72. catch (Exception ex)
  73. {
  74. }
  75. }
  76. return res;
  77. }
  78. public bool Delete(IList<Sys_AdminUserExtension> entity, Sys_AdminUser operUser)
  79. {
  80. var res = false;
  81. if (entity != null && entity.Count > 0)
  82. {
  83. try
  84. {
  85. foreach (var item in entity)
  86. {
  87. if (item != null)
  88. {
  89. item.State = false;
  90. userExtensionRepository.Modify(item);
  91. }
  92. }
  93. res = true;
  94. }
  95. catch (Exception ex)
  96. {
  97. }
  98. }
  99. return res;
  100. }
  101. public bool Delete(IList<int> idList, Data.DataSys.Sys_AdminUser operUser)
  102. {
  103. var res = false;
  104. var delete = userExtensionRepository.GetList(e => idList.Contains(e.Id));
  105. try
  106. {
  107. foreach (var item in delete)
  108. {
  109. if (item != null)
  110. {
  111. item.State = false;
  112. userExtensionRepository.Modify(item);
  113. }
  114. }
  115. res = true;
  116. //添加日志操作
  117. }
  118. catch (Exception ex)
  119. {
  120. }
  121. return res;
  122. }
  123. public bool DeleteTrue(Data.DataSys.Sys_AdminUserExtension entity, Data.DataSys.Sys_AdminUser operUser)
  124. {
  125. var res = false;
  126. if (entity != null)
  127. {
  128. try
  129. {
  130. userExtensionRepository.Delete(entity);
  131. userExtensionRepository.Uow.Commit();
  132. res = true;
  133. //添加日志操作
  134. }
  135. catch (Exception ex)
  136. {
  137. }
  138. }
  139. return res;
  140. }
  141. public bool DeleteTrue(IList<Sys_AdminUserExtension> entity, Sys_AdminUser operUser)
  142. {
  143. var res = false;
  144. if (entity != null && entity.Count > 0)
  145. {
  146. try
  147. {
  148. foreach (var item in entity)
  149. {
  150. userExtensionRepository.Delete(item);
  151. }
  152. userExtensionRepository.Uow.Commit();
  153. res = true;
  154. }
  155. catch (Exception ex)
  156. {
  157. }
  158. }
  159. return res;
  160. }
  161. public bool DeleteTrue(IList<int> idList, Data.DataSys.Sys_AdminUser operUser)
  162. {
  163. var res = false;
  164. var delete = userExtensionRepository.GetList(e => idList.Contains(e.Id)).ToList();
  165. if (delete != null && delete.Count > 0)
  166. {
  167. res = DeleteTrue(delete, operUser);
  168. }
  169. return res;
  170. }
  171. public bool Modify(Data.DataSys.Sys_AdminUserExtension entity, Data.DataSys.Sys_AdminUser operUser)
  172. {
  173. var res = false;
  174. if (entity != null && entity.Id > 0)
  175. {
  176. var log = new Sys_AdminUserLog();
  177. log.AddTime = System.DateTime.Now;
  178. log.IpAddress = iPow.Infrastructure.Crosscutting.Function.StringHelper.GetRealIP();
  179. log.PageUrl = iPow.Infrastructure.Crosscutting.Function.StringHelper.GetCurrentUrl();
  180. log.ReferrerUrl = iPow.Infrastructure.Crosscutting.Function.StringHelper.GetReferrerUrl();
  181. log.State = true;
  182. log.TypeId = 1;
  183. try
  184. {
  185. userExtensionRepository.Uow.Commit();
  186. res = true;
  187. if (operUser != null)
  188. {
  189. log.UserId = operUser.id;
  190. log.ShortMessage = "用户Id:" + operUser.id + " 改变用户Id号:" + entity.UserId.ToString() + " 的扩展信息";
  191. log.FullMessage = "UpdateUser 用户名:" + operUser.username + " 用户Id:" + operUser.id.ToString()
  192. + " 改变了用户Id号:" + entity.UserId.ToString() + " 的扩展信息";
  193. }
  194. else
  195. {
  196. log.UserId = 0;
  197. log.ShortMessage = "用户Id号:" + entity.UserId.ToString() + " 的扩展信息被修改";
  198. log.FullMessage = "UpdateUser " + "用户Id号:" + entity.UserId.ToString() + " 的扩展信息被修改";
  199. }
  200. }
  201. catch (Exception ex)
  202. {
  203. #region exception
  204. if (operUser != null && operUser.id > 0)
  205. {
  206. log.ShortMessage = "更新用户数据异常";
  207. log.FullMessage = log.ShortMessage = "更新用户Id:" + entity.UserId.ToString() + " 操作用户Id:" + operUser.id + " 错误信息:" + ex.Message;
  208. if (ex.InnerException != null)
  209. {
  210. log.FullMessage += " 内部错误信息:" + ex.InnerException.Message;
  211. }
  212. }
  213. else
  214. {
  215. log.ShortMessage = "更新用户数据异常";
  216. log.FullMessage = log.ShortMessage = "更新用户Id:" + entity.UserId.ToString() + " 错误信息:" + ex.Message;
  217. if (ex.InnerException != null)
  218. {
  219. log.FullMessage += " 内部错误信息:" + ex.InnerException.Message;
  220. }
  221. }
  222. #endregion
  223. }
  224. iPow.Infrastructure.Data.LoggerReopsitoryManager.AddLogInfo(log);
  225. }
  226. return res;
  227. }
  228. public bool Modify(IList<Sys_AdminUserExtension> entity, Sys_AdminUser operUser)
  229. {
  230. var res = false;
  231. if (entity != null && entity.Count > 0)
  232. {
  233. try
  234. {
  235. foreach (var item in entity)
  236. {
  237. if (item != null)
  238. {
  239. userExtensionRepository.Modify(item);
  240. }
  241. }
  242. res = true;
  243. }
  244. catch (Exception ex)
  245. {
  246. }
  247. }
  248. return res;
  249. }
  250. public Data.DataSys.Sys_AdminUserExtension Get(int id)
  251. {
  252. var data = userExtensionRepository.GetList(e => e.Id == id).FirstOrDefault();
  253. return data;
  254. }
  255. public IQueryable<Data.DataSys.Sys_AdminUserExtension> GetList()
  256. {
  257. var data = userExtensionRepository.GetList().AsQueryable();
  258. return data;
  259. }
  260. /// <summary>
  261. /// Exists the user by QQ.
  262. /// </summary>
  263. /// <param name="qqId">The qq id.</param>
  264. /// <returns></returns>
  265. public bool ExistUserByQQId(string qqId)
  266. {
  267. return userExtensionRepository.GetList(d => d.QQId == qqId).Any();
  268. }
  269. /// <summary>
  270. /// Exists the user by sina.
  271. /// </summary>
  272. /// <param name="sinaId">The sina id.</param>
  273. /// <returns></returns>
  274. public bool ExistUserBySinaId(string sinaId)
  275. {
  276. return userExtensionRepository.GetList(d => d.SinaId == sinaId).Any();
  277. }
  278. }
  279. }