You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

преди 4 години
преди 2 години
преди 4 години
преди 2 години
преди 4 години
преди 2 години
преди 4 години
преди 4 години
преди 4 години
преди 4 години
преди 4 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 2 години
преди 4 години
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. using Learun.Application.AppMagager;
  2. using Learun.Util;
  3. using Nancy;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using Learun.Application.Base.SystemModule;
  7. using Learun.Application.TwoDevelopment.LR_Desktop;
  8. using System.Text;
  9. using System.Data;
  10. using Learun.Application.OA;
  11. using Learun.Application.Organization;
  12. using System;
  13. namespace Learun.Application.WebApi.Modules
  14. {
  15. public class NewsApi : BaseApi
  16. {
  17. private NoticeIBLL noticeIBLL = new NoticeBLL();
  18. private DepartmentIBLL departmentIBLL = new DepartmentBLL();
  19. private PostIBLL postIBLL = new PostBLL();
  20. private LR_OA_NewsReadIBLL lR_OA_NewsReadIBLL = new LR_OA_NewsReadBLL();
  21. public NewsApi()
  22. : base("/learun/news")
  23. {
  24. Get["/list"] = GetList;
  25. Get["/shList"] = GetshList;
  26. Post["/newsRead"] = NewsRead;
  27. }
  28. /// <summary>
  29. /// 获取页面显示列表数据
  30. /// <summary>
  31. /// <param name="_"></param>
  32. /// <returns></returns>
  33. public Response GetList(dynamic _)
  34. {
  35. var userinfo = LoginUserInfo.Get();
  36. Pagination paginationobj = new Pagination();
  37. var newsList = noticeIBLL.GetList("",(Request.Query["F_CategoryId"]!=null?Request.Query["F_CategoryId"].ToString():""));
  38. //var newsListOfSelf = new List<NewsEntity>();
  39. //foreach (var newsitemEntity in newsList)
  40. //{
  41. // if (!string.IsNullOrEmpty(newsitemEntity.F_SendPostId))
  42. // {
  43. // if (!string.IsNullOrEmpty(userinfo.postIds))
  44. // {
  45. // if (userinfo.postIds.Contains(","))
  46. // {
  47. // foreach (var postid in userinfo.postIds.Split(','))
  48. // {
  49. // if (newsitemEntity.F_SendPostId.Contains(postid))
  50. // {
  51. // newsListOfSelf.Add(newsitemEntity);
  52. // break;
  53. // }
  54. // }
  55. // }
  56. // else
  57. // {
  58. // if (newsitemEntity.F_SendPostId.Contains(userinfo.postIds))
  59. // {
  60. // newsListOfSelf.Add(newsitemEntity);
  61. // }
  62. // }
  63. // }
  64. // }
  65. // else
  66. // {
  67. // if (!string.IsNullOrEmpty(newsitemEntity.F_SendDeptId))
  68. // {
  69. // if (newsitemEntity.F_SendDeptId.Contains(userinfo.departmentId))
  70. // {
  71. // newsListOfSelf.Add(newsitemEntity);
  72. // }
  73. // }
  74. // else
  75. // {
  76. // newsListOfSelf.Add(newsitemEntity);
  77. // }
  78. // }
  79. //}
  80. var jsonData = new
  81. {
  82. rows = newsList,
  83. total = newsList.Count,
  84. page = 0,
  85. records = newsList.Count
  86. };
  87. return Success(jsonData);
  88. }
  89. /// <summary>
  90. /// 获取页面显示列表数据
  91. /// <summary>
  92. /// <param name="_"></param>
  93. /// <returns></returns>
  94. public Response GetshList(dynamic _)
  95. {
  96. NoticeEntity parameter = this.GetReqData<NoticeEntity>();
  97. var shlist = noticeIBLL.GetEntityByProcessId(parameter.ProgressId);
  98. if (!shlist.F_SendDeptId.IsEmpty())
  99. {
  100. var Array = shlist.F_SendDeptId.Split(',');
  101. var deept = departmentIBLL.GetAllList();
  102. var SendDeptId = "";
  103. foreach (var item in Array)
  104. {
  105. for (int i = 0; i < deept.Count; i++)
  106. {
  107. if (item == deept[i].F_DepartmentId)
  108. {
  109. SendDeptId += deept[i].F_FullName + ",";
  110. }
  111. }
  112. }
  113. SendDeptId.Trim(',');
  114. shlist.F_SendDeptId = SendDeptId;
  115. }
  116. if (!shlist.F_SendPostId.IsEmpty())
  117. {
  118. var Array1 = shlist.F_SendPostId.Split(',');
  119. var post = postIBLL.GetAllList();
  120. var F_SendPostId = "";
  121. foreach (var item in Array1)
  122. {
  123. for (int i = 0; i < post.Count; i++)
  124. {
  125. if (item == post[i].F_PostId)
  126. {
  127. F_SendPostId += post[i].F_Name + ",";
  128. }
  129. }
  130. }
  131. F_SendPostId.Trim(',');
  132. shlist.F_SendPostId = F_SendPostId;
  133. }
  134. if (!shlist.F_NewsContent.IsEmpty())
  135. {
  136. shlist.F_NewsContent = WebHelper.HtmlDecode(shlist.F_NewsContent);
  137. }
  138. return Success(shlist);
  139. }
  140. /// <summary>
  141. /// 阅读通知公告
  142. /// <summary>
  143. /// <returns></returns>
  144. public Response NewsRead(dynamic _)
  145. {
  146. var loginUserInfo = LoginUserInfo.Get();
  147. NoticeEntity parameter = this.GetReqData<NoticeEntity>();
  148. //判断当前用户是否阅读当前通知公告
  149. var entity = lR_OA_NewsReadIBLL.GetLR_OA_NewsReadEntityByNewsIdAndUserId(parameter.newsId, loginUserInfo.userId);
  150. if (entity == null)
  151. {
  152. var lR_OA_NewsRead = new LR_OA_NewsReadEntity()
  153. {
  154. NewsId = parameter.newsId,
  155. RUserId = loginUserInfo.userId,
  156. RUserName = loginUserInfo.realName,
  157. RTime = DateTime.Now
  158. };
  159. lR_OA_NewsReadIBLL.SaveEntity("", lR_OA_NewsRead);
  160. //修改当前通知公告的浏览量
  161. lR_OA_NewsReadIBLL.UpdateNewsPV(parameter.newsId);
  162. }
  163. return Success("阅读成功!");
  164. }
  165. #region 私有类
  166. private class NoticeEntity
  167. {
  168. public string ProgressId { get; set; }
  169. public string newsId { get; set; }
  170. }
  171. #endregion
  172. }
  173. }