| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | 
							- using System;
 
- using System.Collections;
 
- using System.Collections.Generic;
 
- using System.Data.Entity;
 
- using System.Data.Entity.Infrastructure;
 
- using System.Linq;
 
- using System.Net;
 
- using System.Web;
 
- using System.Web.Http;
 
- using System.Web.Http.Description;
 
- using DevExpress.Office.Utils;
 
- using iBemsDataService.Model;
 
- using iBemsDataService.Util;
 
- using System.Web.Http.OData;
 
- namespace iBemsDataService.Controllers
 
- {
 
-     public class MonitoringPointController : ODataController
 
-     {
 
-         private iBemsEntities db = new iBemsEntities();
 
-         [Queryable]
 
-         public IQueryable<MonitoringPointEx> GetMonitoringPoint()
 
-         {
 
-             var query = from p in db.BemsMonitoringPoint 
 
-                         from facility in db.CmFacility 
 
-                         where p.SiteId == facility.SiteId && p.FacilityCode == facility.FacilityCode
 
-                         join b in db.CmBuilding   on p.BuildingId equals b.BuildingId  into groupBuilding
 
-                         from subBuilding in groupBuilding.DefaultIfEmpty() where p.SiteId == subBuilding.SiteId
 
-                         
 
-                         join z in db.CmZone on p.ZoneId equals z.ZoneId into groupZone
 
-                         from subZone in groupZone.DefaultIfEmpty()
 
-                         join f in db.CmFloor on p.FloorId equals f.FloorId into groupFloor
 
-                         from subFloor in groupFloor.DefaultIfEmpty()
 
-                         select new MonitoringPointEx
 
-                         {
 
-                             SiteId = p.SiteId,
 
-                             FacilityTypeId = p.FacilityTypeId,
 
-                             FacilityCode = p.FacilityCode,
 
-                             PropertyId = p.PropertyId,
 
-                             ValueType = p.ValueType,
 
-                             ServiceTypeId = p.ServiceTypeId,
 
-                             FuelTypeId = p.FuelTypeId,
 
-                             BuildingId = p.BuildingId ?? 0,
 
-                             FloorId = p.FloorId ?? 0,
 
-                             ZoneId = p.ZoneId ?? 0,
 
-                             Name = p.Name,
 
-                             Description = p.Description,
 
-                             FacilityName = facility.Name ,
 
-                             BuildingName = (subBuilding == null) ? string.Empty : subBuilding.Name ,
 
-                             ZoneName = (subZone == null) ? string.Empty : subZone.Name ,
 
-                             FloorName = (subFloor == null) ? string.Empty : subFloor.Name,
 
-                             Location = ((subBuilding == null) ? string.Empty : subBuilding.Name) + " " +
 
-                                 ((subZone == null) ? string.Empty : subZone.Name)  + " " +
 
-                                 ((subFloor == null) ? string.Empty : subFloor.Name)
 
-                         };
 
-             return query;
 
-         }
 
-         protected override void Dispose(bool disposing)
 
-         {
 
-             if (disposing)
 
-             {
 
-                 db.Dispose();
 
-             }
 
-             base.Dispose(disposing);
 
-         }
 
-     }
 
-     public class MonitoringPointEx
 
-     {
 
-         public int SiteId { get; set; }
 
-         public int FacilityTypeId { get; set; }
 
-         public int FacilityCode { get; set; }
 
-         public int PropertyId { get; set; }
 
-         public int ValueType { get; set; }
 
-         public Nullable<short> ServiceTypeId { get; set; }
 
-         public Nullable<short> FuelTypeId { get; set; }
 
-         public int BuildingId { get; set; }       
 
-         public int FloorId { get; set; }       
 
-         public int ZoneId { get; set; }       
 
-         public string Name { get; set; }
 
-         public string FacilityName { get; set; }
 
-         public string BuildingName { get; set; }
 
-         public string FloorName { get; set; }
 
-         public string ZoneName { get; set; }
 
-         public string Location { get; set; }
 
-         public string Description{ get; set; }
 
-     };
 
-  
 
- }
 
 
  |