52efbe523799e7e6413abef8752ea509ad8240e4.svn-base 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. 
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel.DataAnnotations;
  5. using System.Data;
  6. using System.Data.Entity;
  7. using System.Data.Entity.Infrastructure;
  8. using System.Linq;
  9. using System.Net;
  10. using System.Net.Http;
  11. using System.Web;
  12. using System.Web.Http;
  13. using System.Web.Http.Description;
  14. using System.Web.Http.OData;
  15. using iBemsDataService;
  16. using iBemsDataService.Model;
  17. namespace iBemsDataService.Controllers
  18. {
  19. public class FmsBudgetDetailExecutionExController : ODataController
  20. {
  21. private iBemsEntities db = new iBemsEntities();
  22. // GET: odata/FmsEquipmentEx
  23. [Queryable]
  24. public List<FmsBudgetDetailExecutionEx> GetFmsBudgetDetailExecutionEx()
  25. {
  26. // 2019.07.12
  27. Uri uri = Request.RequestUri;
  28. var uriQuery = HttpUtility.ParseQueryString(uri.Query);
  29. int siteId;
  30. if (int.TryParse(uriQuery.Get("SiteId"), out siteId) == false)
  31. {
  32. throw new Exception("Not Found Parameters.");
  33. }
  34. var query = (
  35. from d in db.FmsBudgetDetailExecution.Where(x => x.SiteId == siteId)
  36. group d by new { d.SiteId, d.Year, d.Month } into grp
  37. select new FmsBudgetDetailExecutionEx
  38. {
  39. SiteId = grp.Key.SiteId,
  40. Year = grp.Key.Year,
  41. Month = grp.Key.Month
  42. });
  43. return query.ToList();
  44. }
  45. protected override void Dispose(bool disposing)
  46. {
  47. if (disposing)
  48. {
  49. db.Dispose();
  50. }
  51. base.Dispose(disposing);
  52. }
  53. }
  54. public class FmsBudgetDetailExecutionEx
  55. {
  56. public int SiteId { get; set; }
  57. public int Year { get; set; }
  58. public int Month { get; set; }
  59. }
  60. }