public object FindFilteredOrderedAlarmsByStructCount([FromUri] int structId, [FromBody] AlarmModel_1 alarm_1) { try { int count = 0; // 分解告警等级 string[] levels = alarm_1.FilteredLevel.Split(','); var levelList = levels.Select(s => Convert.ToInt32(s)).ToList(); AlarmModel alarm = new AlarmModel { FilteredDeviceType = alarm_1.FilteredDeviceType, FilteredStatus = alarm_1.FilteredStatus, FilteredLevel = levelList, FilteredStartTime = alarm_1.FilteredStartTime, FilteredEndTime = alarm_1.FilteredEndTime, OrderedDevice = alarm_1.OrderedDevice, OrderedLevel = alarm_1.OrderedLevel, OrderedTime = alarm_1.OrderedTime }; int roleId = 5; // 5-"普通用户"角色(Client). if (Request.Properties.ContainsKey("AuthorizationInfo")) { var info = Request.Properties["AuthorizationInfo"] as AuthorizationInfo; roleId = info != null && info.RoleId != null ? (int)info.RoleId : 5; } using (SecureCloud_Entities entity = new SecureCloud_Entities()) { var objAlarm = new Alarm(); var condition = objAlarm.GetFilteredOrderedConditionOfAlarm(alarm, roleId); DataTable dt = objAlarm.GetFilteredOrderedAlarmsByStruct(structId, condition); foreach (var dataRow in dt.AsEnumerable()) { if (dataRow.Field <int>("StructId") == structId) { count++; } } return(new AlarmCount { Count = count }); } } catch (Exception e) { return(new AlarmCount { Count = 0 }); //throw e; } }
public StructWarn FindFilteredOrderedAlarmsByStruct([FromUri] int structId, [FromBody] AlarmModel_1 alarm_1) { try { // 分解告警等级 string[] levels = alarm_1.FilteredLevel.Split(','); var levelList = levels.Select(s => Convert.ToInt32(s)).ToList(); AlarmModel alarm = new AlarmModel { FilteredDeviceType = alarm_1.FilteredDeviceType, FilteredStatus = alarm_1.FilteredStatus, FilteredLevel = levelList, FilteredStartTime = alarm_1.FilteredStartTime, FilteredEndTime = alarm_1.FilteredEndTime, OrderedDevice = alarm_1.OrderedDevice, OrderedLevel = alarm_1.OrderedLevel, OrderedTime = alarm_1.OrderedTime }; int roleId = 5; // 5-"普通用户"角色(Client). if (Request.Properties.ContainsKey("AuthorizationInfo")) { var info = Request.Properties["AuthorizationInfo"] as AuthorizationInfo; roleId = info != null && info.RoleId != null ? (int)info.RoleId : 5; } using (SecureCloud_Entities entity = new SecureCloud_Entities()) { var query = from s in entity.T_DIM_STRUCTURE where s.ID == structId && s.IsDelete == 0 select s; var list = query.ToList().Select(s => new StructWarn { structId = s.ID, structName = s.STRUCTURE_NAME_CN, warnings = new List <Warning>() }).ToList(); var objAlarm = new Alarm(); var condition = objAlarm.GetFilteredOrderedConditionOfAlarm(alarm, roleId); DataTable dt = null; int start = 0, end = 0; if (this.Request.GetQueryString("amp;startRow") != null && this.Request.GetQueryString("amp;endRow") != null) { start = int.Parse(this.Request.GetQueryString("amp;startRow")); end = int.Parse(this.Request.GetQueryString("amp;endRow")); dt = objAlarm.GetPagedFilteredOrderedAlarmsByStruct(structId, condition, start, end); } else { dt = objAlarm.GetFilteredOrderedAlarmsByStruct(structId, condition); } for (int i = 0; i < list.Count; i++) { foreach (var dataRow in dt.AsEnumerable()) { if (dataRow.Field <int>("StructId") == list[i].structId) { list[i].warnings.Add(new Warning { WarningId = dataRow.Field <int>("Id"), WarningTypeId = dataRow.Field <string>("WarningTypeId"), Source = dataRow.Field <string>("Source"), Level = dataRow["WarningLevel"] == DBNull.Value ? 4 : dataRow.Field <byte>("WarningLevel"), Content = dataRow.Field <string>("Content"), Reason = dataRow.Field <string>("Reason"), Time = dataRow.Field <DateTime>("Time"), DealFlag = dataRow.Field <int>("DealFlag"), Confirmor = dataRow["Confirmor"] == DBNull.Value ? string.Empty : dataRow.Field <string>("Confirmor"), Suggestion = dataRow["Suggestion"] == DBNull.Value ? string.Empty : dataRow.Field <string>("Suggestion"), ConfirmTime = dataRow["ConfirmTime"] == DBNull.Value ? default(DateTime) : dataRow.Field <DateTime>("ConfirmTime") }); } } } return(list.FirstOrDefault()); } } catch (Exception e) { return(new StructWarn()); //throw e; } }