public bool ReloadSubstation(SubStationModel subStationModel) { if (_subStationDict.TryRemove(subStationModel.SubStationID, out _)) { return _subStationDict.TryAdd(subStationModel.SubStationID, subStationModel); } return false; }
private void InitTreeStructure( SubStationModel subStationModel, List <AnalogPointModel> analogPointModels, List <FluxPointModel> fluxPointModels, List <FluxRunModel> fluxRunModels) { var subAnalogPointModels = analogPointModels.Where(o => o.SubStationID == subStationModel.SubStationID).ToList(); var subFluxPointModels = fluxPointModels.Where(o => o.SubStationID == subStationModel.SubStationID).ToList(); subStationModel.InitPointModel(subAnalogPointModels, fluxPointModels, fluxRunModels); }
public IHttpActionResult SetUserRoute(SubStationModel model) { try { int ff; if (User != null && int.TryParse(User.Identity.GetUserId(), out ff)) { var res = _routemanager.SetUserRoute(ff, model.StRouteId, model.StationId); bool isSubmitted = res > 0; return(Json(_responseProvider.GenerateRouteResponse(new { IsSubmited = isSubmitted, DriverRouteId = res }, "SetUserRoute"))); } else { return (ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "You are unauthorized to see Info!"))); } } catch (Exception e) { _logmanager.Log(Tag, "SetUserRoute", e.Message); } return(Json(_responseProvider.GenerateUnknownErrorResponse())); }
private void FireDasUpdateRealData(SubStationModel subStationModel) { var realdataModels = new List<RealDataModel>(); var substationRunModels = new List<SubStationRunModel>(); var analogRunModels = new List<AnalogRunModel>(); var deviceFaultRunModels = new List<DeviceFaultRunModel>(); var analogStatisticModels = new List<AnalogStatisticModel>(); var alarmTodayModels = new List<Alarm_TodayModel>(); var analogAlarmModels = new List<AnalogAlarmModel>(); var fluxRealDataModels = new List<FluxRealDataModel>(); var fluxRunModels = new List<FluxRunModel>(); var stopwatch = new Stopwatch(); stopwatch.Start(); var message = new StringBuilder(); realdataModels.Add(subStationModel.RealDataModel); realdataModels.AddRange(subStationModel.AnalogPointModels.Select(p => p.RealDataModel)); if (realdataModels.Any()) { message.Append($"RealDataModels:{realdataModels.Count}"); } var srm = subStationModel.SubStationRunModels.ToList(); if (srm.Any()) { message.Append($"SubStationRunModels:{srm.Count}"); } substationRunModels.AddRange(srm); var arm = subStationModel.AnalogPointModels.SelectMany(p => p.AnalogRunModels).ToList(); if (arm.Any()) { message.Append($"AnalogRunModels:{arm.Count}"); } analogRunModels.AddRange(arm); var dfr = subStationModel.AnalogPointModels.SelectMany(p => p.DeviceFaultRunModels).ToList(); if (dfr.Any()) { message.Append($"DeviceFaultRunModels:{dfr.Count}"); } deviceFaultRunModels.AddRange(dfr); var asm = subStationModel.AnalogPointModels.SelectMany(p => p.AnalogStatisticModels).ToList(); if (asm.Any()) { message.Append($"AnalogStatisticModels:{asm.Count}"); } analogStatisticModels.AddRange(asm); var atm = subStationModel.AnalogPointModels.SelectMany(p => p.Alarm_TodayModels).ToList(); if (atm.Any()) { message.Append($"Alarm_TodayModels:{atm.Count}"); } alarmTodayModels.AddRange(atm); var aam = subStationModel.AnalogPointModels.SelectMany(p => p.AnalogAlarmModels).ToList(); if (aam.Any()) { message.Append($"AnalogAlarmModels:{aam.Count}"); } analogAlarmModels.AddRange(aam); var frm = subStationModel.FluxPointModels.Select(p => p.FluxRealDataModel).ToList(); if (frm.Any()) { message.Append($"FluxRealDataModels:{frm.Count}"); } fluxRealDataModels.AddRange(frm); var frunm = subStationModel.FluxPointModels.Select(p => p.FluxRunModel).ToList(); if (frunm.Any()) { message.Append($"FluxRunModels:{frunm.Count}"); } fluxRunModels.AddRange(frunm); if (DasUpdateRealData != null) { Task.Factory.StartNew(() => { DasUpdateRealData.Invoke(this, new SubStationUpdateRealDataEventArgs( this._serverConfig.MonitoringServerID, realdataModels, substationRunModels, analogRunModels, deviceFaultRunModels, analogStatisticModels, alarmTodayModels, analogAlarmModels, fluxRealDataModels, fluxRunModels )); }); } }