ProjectService.cs 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Net.Http;
  5. using System.Net.Http.Json;
  6. using System.Threading.Tasks;
  7. using wispro.sp.entity;
  8. using wispro.sp.share;
  9. using wispro.sp.web.Models;
  10. namespace wispro.sp.web.Services
  11. {
  12. public interface IProjectService
  13. {
  14. Task<List<ProjectInfo>> GetProjectInfos(int State);
  15. Task<List<ProjectInfo>> GetAllProjects();
  16. Task<List<ProjectContentRecord>> GetMyProjects();
  17. Task<bool> SetProjectFinish(string caseNo);
  18. Task<ApiSaveResponse> AddProjectPerformanctItem(ProjectContents projectPoint);
  19. Task<ProjectContents> getProjectWorkContent(int value);
  20. Task<ApiSaveResponse> SaveContent(ProjectContents task);
  21. Task<ApiSaveResponse> SubmitToReview(int Id, int ReviewerId);
  22. Task<List<ProjectContents>> GetProjectCanReviewWorkContent(string projectNo,CalMonth cal);
  23. Task<List<ProjectInfo>> GetWaitingReviewProjects();
  24. Task<ApiSaveResponse> ReviewProjectWorkContent(List<ProjectContents> projectContents);
  25. Task<List<ProjectContents>> GetProjectHistroy(string projectNo);
  26. }
  27. public class ProjectService : IProjectService
  28. {
  29. private readonly IHttpService _httpClient;
  30. public ProjectService(IHttpService httpClient)
  31. {
  32. _httpClient = httpClient;
  33. }
  34. public async Task<List<ProjectInfo>> GetProjectInfos(int State)
  35. {
  36. var data = await _httpClient.Get<List<ProjectInfo>>($"Project/GetProjects?state={State}");
  37. return data;
  38. }
  39. public async Task<List<ProjectInfo>> GetAllProjects()
  40. {
  41. var data = await _httpClient.Get<List<ProjectInfo>>($"Project/GetAll");
  42. return data;
  43. }
  44. public async Task<List<ProjectContentRecord>> GetMyProjects()
  45. {
  46. var data = await _httpClient.Get<List<ProjectContentRecord>>($"Project/GetMyProjects");
  47. return data;
  48. }
  49. public async Task<bool> SetProjectFinish(string caseNo)
  50. {
  51. var data = await _httpClient.Get<bool>($"Project/SetFinished?CaseNo={caseNo}");
  52. return data;
  53. }
  54. public async Task<ApiSaveResponse> AddProjectPerformanctItem(ProjectContents projectPoint)
  55. {
  56. var data = await _httpClient.Post<ApiSaveResponse>($"PerformanceItem/AddProjectPerformance", projectPoint);
  57. return data;
  58. }
  59. public async Task<ProjectContents> getProjectWorkContent(int value)
  60. {
  61. var data = await _httpClient.Get<ProjectContents>($"Project/getProjectWorkContent?Id={value}");
  62. return data;
  63. }
  64. public async Task<ApiSaveResponse> SaveContent(ProjectContents task)
  65. {
  66. var response = await _httpClient.Post<ApiSaveResponse>("Project/SaveProjectWorkContent", task);
  67. return response;
  68. }
  69. public async Task<ApiSaveResponse> SubmitToReview(int Id, int ReviewerId)
  70. {
  71. var data = await _httpClient.Get<ApiSaveResponse>($"Project/SubmitToReview?Id={Id}&&reviewerId={ReviewerId}");
  72. return data;
  73. }
  74. public async Task<List<ProjectContents>> GetProjectCanReviewWorkContent(string projectNo,CalMonth cal)
  75. {
  76. var strUrl = $"Project/GetProjectCanReviewWorkContent?projectNo={projectNo}&&year={cal.Year}&&month={cal.Month}";
  77. var data = await _httpClient.Get<List<ProjectContents>>(strUrl);
  78. return data;
  79. }
  80. public async Task<List<ProjectInfo>> GetWaitingReviewProjects()
  81. {
  82. var data = await _httpClient.Get<List<ProjectInfo>>($"Project/GetWaitingReviewProject");
  83. return data;
  84. }
  85. public async Task<List<ProjectContents>> GetProjectHistroy(string projectNo)
  86. {
  87. var data = await _httpClient.Get<List<ProjectContents>>($"Project/GetProjectHisttory?projectNo={projectNo}");
  88. return data;
  89. }
  90. public async Task<ApiSaveResponse> ReviewProjectWorkContent(List<ProjectContents> projectContents)
  91. {
  92. var response = await _httpClient.Post<ApiSaveResponse>("Project/ReviewProjectWorkContent", projectContents);
  93. return response;
  94. }
  95. }
  96. }