| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553 | 
							- using iBemsDataService.Model;
 
- using Quartz;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Transactions;
 
- using System.Web;
 
- using iBemsDataService.Controllers.Bems.Common;
 
- using System.Collections;
 
- using System.Configuration;
 
- namespace iBemsDataService.Controllers.Fms.WorkManagement.ScheduledTask
 
- {
 
-     public class AlarmPlanJob : IJob
 
-     {
 
-         private iBemsEntities db = new iBemsEntities();
 
-         public void Execute(IJobExecutionContext context)
 
-         {
 
-             // 알람 실행 함수
 
-             AlarmExecute();
 
-             // 전력 피크 실행 함수
 
-             PowerPeakExecute();
 
-         }
 
-         // 알람 실행 함수
 
-         public void AlarmExecute()
 
-         {
 
-             // 현재시간
 
-             DateTime today = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
 
-             if (today.ToString("mm").ToString() == "16" || today.ToString("mm").ToString() == "31" ||
 
-                 today.ToString("mm").ToString() == "46" || today.ToString("mm").ToString() == "01")
 
-             {
 
-                 ArrayList ArrayList_AlarmSetting = new ArrayList();
 
-                 using (var transaction = new TransactionScope())
 
-                 {
 
-                     var query =
 
-                         from s in db.BemsAlarmSetting
 
-                         where s.UseAlarm == true // 알람을 사용하는것만 조회
 
-                         select s;
 
-                     foreach (var s in query)
 
-                     {
 
-                         AlarmSetting _AlarmSetting = new AlarmSetting();
 
-                         _AlarmSetting.SiteId = s.SiteId;
 
-                         _AlarmSetting.FacilityTypeId = s.FacilityTypeId;
 
-                         _AlarmSetting.FacilityCode = s.FacilityCode;
 
-                         _AlarmSetting.PropertyId = s.PropertyId;
 
-                         _AlarmSetting.FormulaId = s.FormulaId;
 
-                         _AlarmSetting.UseUpperLimit = s.UseUpperLimit;
 
-                         _AlarmSetting.UpperLimit = (double)s.UpperLimit;
 
-                         _AlarmSetting.UseLowerLimit = s.UseLowerLimit;
 
-                         _AlarmSetting.LowerLimit = (double)s.LowerLimit;
 
-                         _AlarmSetting.UseSMS = s.UseSMS;
 
-                         _AlarmSetting.UseEmail = s.UseEmail;
 
-                         _AlarmSetting.FacilityName = s.FacilityName;
 
-                         _AlarmSetting.PointName = s.PointName;
 
-                         _AlarmSetting.AlarmGroupName = s.AlarmGroupName;
 
-                         ArrayList_AlarmSetting.Add(_AlarmSetting);
 
-                     }
 
-                     transaction.Complete();
 
-                 }
 
-                 // 아래와 같이 분리해서 구현한 이유는 _BemsFormulaController.GetBemsFormulaReal 함수는 using (var transaction = new TransactionScope()) 안에 들어가면 안된다 
 
-                 // 엔티티 프레임워크를 이용 할 경우에는 using (var transaction = new TransactionScope())를 무조건 사용해야 한다
 
-                 for (int i = 0; i < ArrayList_AlarmSetting.Count; i++)
 
-                 {
 
-                     AlarmSetting _AlarmSetting = (AlarmSetting)ArrayList_AlarmSetting[i];
 
-                     // 초 확인
 
-                     string second = today.ToString("ss");
 
-                     DateTime start = today.AddMinutes(-16);
 
-                     start = start.AddSeconds(-Int32.Parse(second));
 
-                     DateTime end = today.AddMinutes(-2);
 
-                     end = end.AddSeconds(-Int32.Parse(second));
 
-                     // 관제점 정보
 
-                     if (_AlarmSetting.FormulaId == 0)
 
-                     {
 
-                         using (var transaction = new TransactionScope())
 
-                         {
 
-                             var query = from s in db.BemsMonitoringPointHistory15min
 
-                                         where s.SiteId == _AlarmSetting.SiteId &&
 
-                                               s.FacilityCode == _AlarmSetting.FacilityCode &&
 
-                                               s.PropertyId == _AlarmSetting.PropertyId &&
 
-                                               s.CreatedDateTime >= start &&
 
-                                               s.CreatedDateTime < end
 
-                                         select s;
 
-                             foreach (var s in query)
 
-                             {
 
-                                 _AlarmSetting.CreatedDateTime = s.CreatedDateTime;
 
-                                 _AlarmSetting.CurrentValue = s.CurrentValue;
 
-                                 ArrayList_AlarmSetting[i] = _AlarmSetting;
 
-                             }
 
-                             transaction.Complete();
 
-                         }
 
-                     }
 
-                     else // 성능분석 정보
 
-                     {
 
-                         List<CalculationResult> list = new List<CalculationResult>();
 
-                         BemsFormulaController _BemsFormulaController = new BemsFormulaController();
 
-                         list = _BemsFormulaController.GetBemsFormulaReal(_AlarmSetting.SiteId, _AlarmSetting.FacilityTypeId, _AlarmSetting.FacilityCode, _AlarmSetting.FormulaId, start, end, 1);
 
-                         _AlarmSetting.CreatedDateTime = list[0].DateTime;
 
-                         _AlarmSetting.CurrentValue = list[0].Value;
 
-                         ArrayList_AlarmSetting[i] = _AlarmSetting;
 
-                     }
 
-                 }
 
-                 // 아래와 같이 분리해서 구현한 이유는 _BemsFormulaController.GetBemsFormulaReal 함수는 using (var transaction = new TransactionScope()) 안에 들어가면 안된다 
 
-                 // 실질적으로 아래 함수에서 알람 로그가 저장된다
 
-                 using (var transaction = new TransactionScope())
 
-                 {
 
-                     for (int i = 0; i < ArrayList_AlarmSetting.Count; i++)
 
-                     {
 
-                         AlarmSetting _AlarmSetting = (AlarmSetting)ArrayList_AlarmSetting[i];
 
-                         bool Exceed_Limit = false;
 
-                         // 상한값 비교
 
-                         if (_AlarmSetting.UseUpperLimit == true)
 
-                         {
 
-                             if (_AlarmSetting.CurrentValue >= Convert.ToDouble(_AlarmSetting.UpperLimit))
 
-                             {
 
-                                 Exceed_Limit = true;
 
-                             }
 
-                         }
 
-                         // 하한값 비교
 
-                         if (_AlarmSetting.UseLowerLimit == true)
 
-                         {
 
-                             if (_AlarmSetting.CurrentValue <= Convert.ToDouble(_AlarmSetting.LowerLimit))
 
-                             {
 
-                                 Exceed_Limit = true;
 
-                             }
 
-                         }
 
-                         // 기준을 초과했다
 
-                         if (Exceed_Limit == true)
 
-                         {
 
-                             // BemsAlarmLog 테이블에 추가
 
-                             var AlarmLog = new BemsAlarmLog
 
-                             {
 
-                                 SiteId = _AlarmSetting.SiteId,
 
-                                 FacilityTypeId = _AlarmSetting.FacilityTypeId,
 
-                                 FacilityCode = _AlarmSetting.FacilityCode,
 
-                                 PropertyId = _AlarmSetting.PropertyId,
 
-                                 FormulaId = _AlarmSetting.FormulaId,
 
-                                 CreatedDateTime = _AlarmSetting.CreatedDateTime,
 
-                                 CurrentValue = _AlarmSetting.CurrentValue,
 
-                                 SMSResult = "-",
 
-                                 EmailResult = "-",
 
-                                 Conform = false
 
-                             };
 
-                             AlarmLog = db.BemsAlarmLog.Add(AlarmLog);
 
-                             db.SaveChanges();
 
-                             // SMS 전송
 
-                             string SMS_Result = "-";
 
-                             if (_AlarmSetting.UseSMS == true)
 
-                             {
 
-                                 int siteID = _AlarmSetting.SiteId;
 
-                                 string usergroupname = _AlarmSetting.AlarmGroupName;
 
-                                 using (var transaction1 = new TransactionScope())
 
-                                 {
 
-                                     var query1 = from s1 in db.BemsAlarmGroup
 
-                                                  where s1.SiteId == siteID &&
 
-                                                        s1.Name == usergroupname
 
-                                                  select s1;
 
-                                     foreach (var s1 in query1)
 
-                                     {
 
-                                         int alarm_groupid = s1.AlarmGroupId;
 
-                                         using (var transaction2 = new TransactionScope())
 
-                                         {
 
-                                             var query2 = from s2 in db.BemsAlarmGroupUser
 
-                                                          where s2.SiteId == siteID &&
 
-                                                                s2.AlarmGroupId == alarm_groupid
 
-                                                          select s2;
 
-                                             foreach (var s2 in query2)
 
-                                             {
 
-                                                 string userid = s2.UserId;
 
-                                                 using (var transaction3 = new TransactionScope())
 
-                                                 {
 
-                                                     var query3 = from s3 in db.CmUser
 
-                                                                  where s3.SiteId == siteID &&
 
-                                                                        s3.UserId == userid
 
-                                                                  select s3;
 
-                                                     foreach (var s3 in query3)
 
-                                                     {
 
-                                                         string MobilePhoneNo = s3.MobilePhoneNo;
 
-                                                         if (MobilePhoneNo != "")
 
-                                                         {
 
-                                                             // "BEMS알람/07:30/공조기_AHU-101/공조기습도/44.09"
 
-                                                             AlarmConfigSMS _AlarmConfigSMS = new AlarmConfigSMS();
 
-                                                             // SMS 정보 DB에서 가져오기 2019.04.
 
-                                                             var query4 = from s4 in db.CmAlarmAdmin
 
-                                                                          where s4.SiteId == siteID
 
-                                                                          select s4;
 
-                                                             foreach (var s4 in query4)
 
-                                                             {
 
-                                                                 string smsUsercode_s = s4.UserCode;
 
-                                                                 string smsDeptcode_s = s4.DeptCode;
 
-                                                                 string smsPhoneNo_s = s4.PhoneNo;
 
-                                                                 _AlarmConfigSMS.SetSMSInfo(smsUsercode_s, smsDeptcode_s, smsPhoneNo_s);
 
-                                                                 // SMS 정보 가져오기 2019.04.
 
-                                                                 string SMSResult = _AlarmConfigSMS.SendAlarmSMS(MobilePhoneNo, "BEMS알람/" + _AlarmSetting.CreatedDateTime.ToString("HH:mm") + "/" +
 
-                                                                     _AlarmSetting.FacilityName + "/" + _AlarmSetting.PointName + "/" + _AlarmSetting.CurrentValue);
 
-                                                                 if (SMSResult == "OK") // 성공
 
-                                                                 {
 
-                                                                     if (SMS_Result == "실패")
 
-                                                                     {
 
-                                                                         SMS_Result = "실패";
 
-                                                                     }
 
-                                                                     else
 
-                                                                     {
 
-                                                                         SMS_Result = "성공";
 
-                                                                     }
 
-                                                                 }
 
-                                                                 else // 실패
 
-                                                                 {
 
-                                                                     SMS_Result = "실패";
 
-                                                                 }
 
-                                                             }
 
-                                                         }
 
-                                                     }
 
-                                                     transaction3.Complete();
 
-                                                 }
 
-                                             }
 
-                                             transaction2.Complete();
 
-                                         }
 
-                                     }
 
-                                     transaction1.Complete();
 
-                                 }
 
-                             }
 
-                             // Email 전송
 
-                             string Email_Result = "-";
 
-                             if (_AlarmSetting.UseEmail == true)
 
-                             {
 
-                                 int siteID = _AlarmSetting.SiteId;
 
-                                 string usergroupname = _AlarmSetting.AlarmGroupName;
 
-                                 using (var transaction1 = new TransactionScope())
 
-                                 {
 
-                                     var query1 = from s1 in db.BemsAlarmGroup
 
-                                                  where s1.SiteId == siteID &&
 
-                                                        s1.Name == usergroupname
 
-                                                  select s1;
 
-                                     foreach (var s1 in query1)
 
-                                     {
 
-                                         int alarm_groupid = s1.AlarmGroupId;
 
-                                         using (var transaction2 = new TransactionScope())
 
-                                         {
 
-                                             var query2 = from s2 in db.BemsAlarmGroupUser
 
-                                                          where s2.SiteId == siteID &&
 
-                                                                s2.AlarmGroupId == alarm_groupid
 
-                                                          select s2;
 
-                                             foreach (var s2 in query2)
 
-                                             {
 
-                                                 string userid = s2.UserId;
 
-                                                 using (var transaction3 = new TransactionScope())
 
-                                                 {
 
-                                                     var query3 = from s3 in db.CmUser
 
-                                                                  where s3.SiteId == siteID &&
 
-                                                                        s3.UserId == userid
 
-                                                                  select s3;
 
-                                                     foreach (var s3 in query3)
 
-                                                     {
 
-                                                         string Email = s3.Email;
 
-                                                         if (Email != "")
 
-                                                         {
 
-                                                             AlarmConfigEmail _AlarmConfigEmail = new AlarmConfigEmail();
 
-                                                             _AlarmConfigEmail.SetToAddress(Email);
 
-                                                             // Email 정보 설정 2019.04.
 
-                                                             var query4 = from s4 in db.CmAlarmAdmin
 
-                                                                          where s4.SiteId == siteID
 
-                                                                          select s4;
 
-                                                             foreach (var s4 in query4)
 
-                                                             {
 
-                                                                 string emailaddress_s = s4.EmailAddress;
 
-                                                                 string emailpassword_s = s4.EmailPassword;
 
-                                                                 _AlarmConfigEmail.SetEmailInfo(emailaddress_s, emailpassword_s);
 
-                                                                 // Email 정보 설정 2019.04.
 
-                                                                 string temp = String.Empty;
 
-                                                                 if (_AlarmSetting.UseUpperLimit == true) temp = temp + "/기준상한(이상) : " + _AlarmSetting.UpperLimit;
 
-                                                                 if (_AlarmSetting.UseLowerLimit == true) temp = temp + "/기준하한(이하) : " + _AlarmSetting.LowerLimit;
 
-                                                                 string EamilResult = _AlarmConfigEmail.SendEmail("BEMS알람",
 
-                                                                 _AlarmSetting.CreatedDateTime + "/" + _AlarmSetting.FacilityName + "/" + _AlarmSetting.PointName +
 
-                                                                 temp + "/" + "값 : " + _AlarmSetting.CurrentValue);
 
-                                                                 if (EamilResult == "OK") // 성공
 
-                                                                 {
 
-                                                                     if (Email_Result == "실패")
 
-                                                                     {
 
-                                                                         Email_Result = "실패";
 
-                                                                     }
 
-                                                                     else
 
-                                                                     {
 
-                                                                         Email_Result = "성공";
 
-                                                                     }
 
-                                                                 }
 
-                                                                 else // 실패
 
-                                                                 {
 
-                                                                     Email_Result = "실패";
 
-                                                                 }
 
-                                                             }
 
-                                                         }
 
-                                                     }
 
-                                                     transaction3.Complete();
 
-                                                 }
 
-                                             }
 
-                                             transaction2.Complete();
 
-                                         }
 
-                                     }
 
-                                     transaction1.Complete();
 
-                                 }
 
-                             }
 
-                             // SMS 또는 Email을 사용중이다
 
-                             if (_AlarmSetting.UseSMS == true || _AlarmSetting.UseEmail == true)
 
-                             {
 
-                                 // BemsAlarmLog 테이블 업데이트
 
-                                 var update_BemsAlarmLog = (from d in db.BemsAlarmLog
 
-                                                            where d.SiteId == _AlarmSetting.SiteId &&
 
-                                                                   d.FacilityTypeId == _AlarmSetting.FacilityTypeId &&
 
-                                                                   d.FacilityCode == _AlarmSetting.FacilityCode &&
 
-                                                                   d.PropertyId == _AlarmSetting.PropertyId &&
 
-                                                                   d.FormulaId == _AlarmSetting.FormulaId &&
 
-                                                                   d.CreatedDateTime == _AlarmSetting.CreatedDateTime
 
-                                                            select d).Single();
 
-                                 update_BemsAlarmLog.SMSResult = SMS_Result;
 
-                                 update_BemsAlarmLog.EmailResult = Email_Result;
 
-                                 db.SaveChanges();
 
-                             }
 
-                         }
 
-                     }
 
-                     transaction.Complete();
 
-                 }
 
-             }
 
-         }
 
-         // 전력 피크 실행 함수
 
-         public void PowerPeakExecute()
 
-         {
 
-             int siteid = 1;
 
-             if (ConfigurationManager.ConnectionStrings["siteid"] != null)
 
-             {
 
-                 siteid = Convert.ToInt32(ConfigurationManager.ConnectionStrings["siteid"].ConnectionString);
 
-             }
 
-             DateTime start = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
 
-             DateTime end = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:00"));
 
-             using (var transaction = new TransactionScope())
 
-             {
 
-                 var Max =
 
-                     (from s in db.BemsPeakHistory
 
-                      where s.SiteId == siteid &&
 
-                      s.CreatedDateTime >= start &&
 
-                      s.CreatedDateTime <= end
 
-                      orderby s.CurrentValue descending
 
-                      select s).First();
 
-                 var Min =
 
-                     (from s in db.BemsPeakHistory
 
-                      where s.SiteId == siteid &&
 
-                      s.CreatedDateTime >= start &&
 
-                      s.CreatedDateTime <= end
 
-                      orderby s.CurrentValue ascending
 
-                      select s).First();
 
-                 var query =
 
-                     (from s in db.BemsPeakHistoryDaily
 
-                      where s.SiteId == siteid &&
 
-                      s.CreatedDateTime == start
 
-                      select s);
 
-                 if (query.Any() == false)
 
-                 {
 
-                     var newBemsPeakHistoryDaily = new BemsPeakHistoryDaily
 
-                     {
 
-                         SiteId = siteid,
 
-                         CreatedDateTime = start,
 
-                         MaxPeakValue = Max.CurrentValue,
 
-                         MaxDateTime = Max.CreatedDateTime,
 
-                         MinPeakValue = Min.CurrentValue,
 
-                         MinDateTime = Min.CreatedDateTime
 
-                     };
 
-                     db.BemsPeakHistoryDaily.Add(newBemsPeakHistoryDaily);
 
-                     db.SaveChanges();
 
-                 }
 
-                 else
 
-                 {
 
-                     var tempmaxvalue = query.First().MaxPeakValue;
 
-                     DateTime tempmaxdate = Convert.ToDateTime(query.First().MaxDateTime);
 
-                     var tempminvalue = query.First().MinPeakValue;
 
-                     DateTime tempmindate = Convert.ToDateTime(query.First().MinDateTime);
 
-                     if (tempmaxvalue < Max.CurrentValue)
 
-                     {
 
-                         tempmaxvalue = Max.CurrentValue;
 
-                         tempmaxdate = Max.CreatedDateTime;
 
-                     }
 
-                     if (tempminvalue > Min.CurrentValue)
 
-                     {
 
-                         tempminvalue = Min.CurrentValue;
 
-                         tempmindate = Min.CreatedDateTime;
 
-                     }
 
-                     var newBemsPeakHistoryDaily = new BemsPeakHistoryDaily
 
-                     {
 
-                         SiteId = siteid,
 
-                         CreatedDateTime = start,
 
-                         MaxPeakValue = tempmaxvalue,
 
-                         MaxDateTime = tempmaxdate,
 
-                         MinPeakValue = tempminvalue,
 
-                         MinDateTime = tempmindate
 
-                     };
 
-                     db.BemsPeakHistoryDaily.Remove(query.First());
 
-                     db.BemsPeakHistoryDaily.Add(newBemsPeakHistoryDaily);
 
-                     db.SaveChanges();
 
-                 }
 
-                 transaction.Complete();
 
-             }
 
-             // 옛날 전력 피크 업데이트 용
 
-             /*
 
-             for (var i = 0; i < 365; i++)
 
-             {
 
-                 DateTime start = Convert.ToDateTime(DateTime.Now.ToString("2018-07-26 00:00:00"));
 
-                 DateTime end = Convert.ToDateTime(DateTime.Now.ToString("2018-07-26 23:59:00"));
 
-                 start = start.AddDays(i);
 
-                 end = end.AddDays(i);
 
-                 using (var transaction = new TransactionScope())
 
-                 {
 
-                     var Max =
 
-                         (from s in db.BemsPeakHistory
 
-                          where s.SiteId == siteid &&
 
-                          s.CreatedDateTime >= start &&
 
-                          s.CreatedDateTime <= end
 
-                          orderby s.CurrentValue descending
 
-                          select s);
 
-                     var Min =
 
-                         (from s in db.BemsPeakHistory
 
-                          where s.SiteId == siteid &&
 
-                          s.CreatedDateTime >= start &&
 
-                          s.CreatedDateTime <= end
 
-                          orderby s.CurrentValue ascending
 
-                          select s);
 
-                     var query =
 
-                         (from s in db.BemsPeakHistoryDaily
 
-                          where s.SiteId == siteid &&
 
-                          s.CreatedDateTime == start
 
-                          select s);
 
-                     if (Max.Any() != false && Min.Any() != false)
 
-                     {
 
-                         if (query.Any() == false)
 
-                         {
 
-                             var newBemsPeakHistoryDaily = new BemsPeakHistoryDaily
 
-                             {
 
-                                 SiteId = siteid,
 
-                                 CreatedDateTime = start,
 
-                                 MaxPeakValue = Max.First().CurrentValue,
 
-                                 MaxDateTime = Max.First().CreatedDateTime,
 
-                                 MinPeakValue = Min.First().CurrentValue,
 
-                                 MinDateTime = Min.First().CreatedDateTime
 
-                             };
 
-                             db.BemsPeakHistoryDaily.Add(newBemsPeakHistoryDaily);
 
-                             db.SaveChanges();
 
-                         }
 
-                         else
 
-                         {
 
-                             var tempmaxvalue = query.First().MaxPeakValue;
 
-                             DateTime tempmaxdate = Convert.ToDateTime(query.First().MaxDateTime);
 
-                             var tempminvalue = query.First().MinPeakValue;
 
-                             DateTime tempmindate = Convert.ToDateTime(query.First().MinDateTime);
 
-                             if (tempmaxvalue < Max.First().CurrentValue)
 
-                             {
 
-                                 tempmaxvalue = Max.First().CurrentValue;
 
-                                 tempmaxdate = Max.First().CreatedDateTime;
 
-                             }
 
-                             if (tempminvalue > Min.First().CurrentValue)
 
-                             {
 
-                                 tempminvalue = Min.First().CurrentValue;
 
-                                 tempmindate = Min.First().CreatedDateTime;
 
-                             }
 
-                             var newBemsPeakHistoryDaily = new BemsPeakHistoryDaily
 
-                             {
 
-                                 SiteId = siteid,
 
-                                 CreatedDateTime = start,
 
-                                 MaxPeakValue = tempmaxvalue,
 
-                                 MaxDateTime = tempmaxdate,
 
-                                 MinPeakValue = tempminvalue,
 
-                                 MinDateTime = tempmindate
 
-                             };
 
-                             db.BemsPeakHistoryDaily.Remove(query.First());
 
-                             db.BemsPeakHistoryDaily.Add(newBemsPeakHistoryDaily);
 
-                             db.SaveChanges();
 
-                         }
 
-                     }
 
-                     transaction.Complete();
 
-                 }
 
-             }*/
 
-         }
 
-         public class AlarmSetting
 
-         {
 
-             public int SiteId { get; set; }
 
-             public int FacilityTypeId { get; set; }
 
-             public int FacilityCode { get; set; }
 
-             public int PropertyId { get; set; }
 
-             public int FormulaId { get; set; }
 
-             public bool UseUpperLimit { get; set; }
 
-             public double UpperLimit { get; set; }
 
-             public bool UseLowerLimit { get; set; }
 
-             public double LowerLimit { get; set; }
 
-             public bool UseSMS { get; set; }
 
-             public bool UseEmail { get; set; }
 
-             public DateTime CreatedDateTime { get; set; }
 
-             public double CurrentValue { get; set; }
 
-             public string FacilityName { get; set; }
 
-             public string PointName { get; set; }
 
-             public string AlarmGroupName { get; set; }
 
-         };
 
-         //public class BemsPeakHistoryDaily
 
-         //{
 
-         //    public int SiteId { get; set; }
 
-         //    public DateTime CreatedDateTime { get; set; }
 
-         //    public double MaxPeakValue { get; set; }
 
-         //    public DateTime MaxDateTime { get; set; }
 
-         //    public double MinPeakValue { get; set; }
 
-         //    public DateTime MinDateTime { get; set; }
 
-         //};
 
-     }
 
- }
 
 
  |