ProjectService.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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. }
  26. public class ProjectService : IProjectService
  27. {
  28. private readonly IHttpService _httpClient;
  29. public ProjectService(IHttpService httpClient)
  30. {
  31. _httpClient = httpClient;
  32. }
  33. public async Task<List<ProjectInfo>> GetProjectInfos(int State)
  34. {
  35. var data = await _httpClient.Get<List<ProjectInfo>>($"Project/GetProjects?state={State}");
  36. return data;
  37. }
  38. public async Task<List<ProjectInfo>> GetAllProjects()
  39. {
  40. var data = await _httpClient.Get<List<ProjectInfo>>($"Project/GetAll");
  41. return data;
  42. }
  43. public async Task<List<ProjectContentRecord>> GetMyProjects()
  44. {
  45. var data = await _httpClient.Get<List<ProjectContentRecord>>($"Project/GetMyProjects");
  46. return data;
  47. }
  48. public async Task<bool> SetProjectFinish(string caseNo)
  49. {
  50. var data = await _httpClient.Get<bool>($"Project/SetFinished?CaseNo={caseNo}");
  51. return data;
  52. }
  53. public async Task<ApiSaveResponse> AddProjectPerformanctItem(ProjectContents projectPoint)
  54. {
  55. var data = await _httpClient.Post<ApiSaveResponse>($"PerformanceItem/AddProjectPerformance", projectPoint);
  56. return data;
  57. }
  58. public async Task<ProjectContents> getProjectWorkContent(int value)
  59. {
  60. var data = await _httpClient.Get<ProjectContents>($"Project/getProjectWorkContent?Id={value}");
  61. return data;
  62. }
  63. public async Task<ApiSaveResponse> SaveContent(ProjectContents task)
  64. {
  65. var response = await _httpClient.Post<ApiSaveResponse>("Project/SaveProjectWorkContent", task);
  66. return response;
  67. }
  68. public async Task<ApiSaveResponse> SubmitToReview(int Id, int ReviewerId)
  69. {
  70. var data = await _httpClient.Get<ApiSaveResponse>($"Project/SubmitToReview?Id={Id}&&reviewerId={ReviewerId}");
  71. return data;
  72. }
  73. public async Task<List<ProjectContents>> GetProjectCanReviewWorkContent(string projectNo,CalMonth cal)
  74. {
  75. var strUrl = $"Project/GetProjectCanReviewWorkContent?projectNo={projectNo}&&year={cal.Year}&&month={cal.Month}";
  76. var data = await _httpClient.Get<List<ProjectContents>>(strUrl);
  77. return data;
  78. }
  79. public async Task<List<ProjectInfo>> GetWaitingReviewProjects()
  80. {
  81. var data = await _httpClient.Get<List<ProjectInfo>>($"Project/GetWaitingReviewProject");
  82. return data;
  83. }
  84. public async Task<ApiSaveResponse> ReviewProjectWorkContent(List<ProjectContents> projectContents)
  85. {
  86. var response = await _httpClient.Post<ApiSaveResponse>("Project/ReviewProjectWorkContent", projectContents);
  87. return response;
  88. }
  89. }
  90. }