public override Sensor Handle(GetSensorAppOperationOptions options, IAppOperationContext operationContext) { Logger.Trace(this, options, operationContext); Sensor sens = GlobalInit.SensorListSDRNS.Find(t => t.Id.Value == options.SensorId.Value); return(sens); }
/// <summary> /// /// </summary> /// <param name="options"></param> /// <param name="operationContext"></param> /// <returns></returns> public override MeasTask[] Handle(GetMeasTasksAppOperationOptions options, IAppOperationContext operationContext) { MeasTask[] Res = null; if (GlobalInit.LIST_MEAS_TASK != null) { if (GlobalInit.LIST_MEAS_TASK.Count() > 0) { List <MeasTask> tsk = GlobalInit.LIST_MEAS_TASK.FindAll(t => t.Status != "Z"); if (tsk != null) { Res = tsk.ToArray(); } else { Res = null; } if (tsk != null) { if (tsk.Count == 0) { Res = null; } } } } Logger.Trace(this, options, operationContext); return(Res); }
public override Sensor[] Handle(GetSensorsAppOperationOptions options, IAppOperationContext operationContext) { Logger.Trace(this, options, operationContext); List <Sensor> val = new List <Sensor>(); val = GlobalInit.SensorListSDRNS; return(val.ToArray()); }
public override QueryTree Handle(GetQueryTreeAppOperationOptions options, IAppOperationContext operationContext) { QueryTree QTree = new QueryTree(); try { UtilsDef Menu = new UtilsDef(ref QTree, options.OtherArgs.UserId); Logger.Trace(this, options, operationContext); } catch (Exception ex) { Logger.Error(ex); } return(QTree); }
/// <summary> /// Authentication of the current user by user name and password /// </summary> /// <param name="options">The options of this operation</param> /// <param name="operationContext">The context of this operation</param> /// <returns>Return user id or 0 when user has incorrect a user name or password</returns> public override int Handle(AuthenticateUserAppOperationOptions options, IAppOperationContext operationContext) { int Id_User = -1; try { ConnectDB conn = new ConnectDB(); Id_User = conn.AuthorizeRetID(options.UserName, options.Password); Logger.Trace(this, options, operationContext); } catch (Exception ex) { Logger.Error(ex); } return(Id_User); }
public async Task Update(IFeatureToggleViewModel viewModel, IAppOperationContext context) { var model = _repository.CreateModel(); model.Id = viewModel.Id; model.Name = viewModel.Name; model.Description = viewModel.Description; model.Enabled = viewModel.Enabled; model.Modifier = context.UserName; model.ModifiedAt = _timeProvider.UtcNow; await _repository.Update(viewModel.Id, model); }
public TResult Invoke <TOptions>(TOptions options, IAppOperationContext operationContext) where TOptions : class, IAppOperationOptions, new() { var handler = _handlerFactory.Create <TService, TOperation, TOptions, TResult>(); try { return(handler.Handle(options, operationContext)); } catch (Exception) { throw; } finally { _handlerFactory.Release(handler); } }
/// <summary> /// /// </summary> /// <param name="options"></param> /// <param name="operationContext"></param> /// <returns></returns> public override MeasTask Handle(GetMeasTaskAppOperationOptions options, IAppOperationContext operationContext) { MeasTask Res = null; if (GlobalInit.LIST_MEAS_TASK != null) { if (GlobalInit.LIST_MEAS_TASK.Count() > 0) { MeasTask tsk = GlobalInit.LIST_MEAS_TASK.Find(t => t.Status != "Z" && t.Id.Value == options.TaskId.Value); if (tsk != null) { Res = tsk; } else { Res = null; } } } Logger.Trace(this, options, operationContext); return(Res); }
/// <summary> /// /// </summary> /// <param name="options"></param> /// <param name="operationContext"></param> /// <returns></returns> public override CommonOperationDataResult <int> Handle(DeleteMeasResultsAppOperationOptions options, IAppOperationContext operationContext) { CommonOperationDataResult <int> cv_r = new CommonOperationDataResult <int>(); KeyValuePair <string, object> ca_MeasTaskId = options.OtherArgs.Values.ToList().Find(t => t.Key == "MeasTaskId"); KeyValuePair <string, object> ca_StationId = options.OtherArgs.Values.ToList().Find(t => t.Key == "StationId"); KeyValuePair <string, object> ca_SubMeasTaskId = options.OtherArgs.Values.ToList().Find(t => t.Key == "SubMeasTaskId"); KeyValuePair <string, object> ca_SubMeasTaskStationId = options.OtherArgs.Values.ToList().Find(t => t.Key == "SubMeasTaskStationId"); KeyValuePair <string, object> ca_N = options.OtherArgs.Values.ToList().Find(t => t.Key == "N"); if ((ca_MeasTaskId.Value != null) && (ca_StationId.Value != null) && (ca_SubMeasTaskId.Value != null) && (ca_SubMeasTaskStationId.Value != null) && (ca_N.Value != null)) { lock (GlobalInit.LST_MeasurementResults) { MeasurementResults resd = GlobalInit.LST_MeasurementResults.Find(t => t.Id.MeasTaskId.Value == (int)ca_MeasTaskId.Value && t.StationMeasurements.StationId.Value == (int)ca_StationId.Value && t.Id.SubMeasTaskId == (int)ca_SubMeasTaskId.Value && t.Id.SubMeasTaskStationId == (int)ca_SubMeasTaskStationId.Value && (t.MeasurementsResults.ToList().Find(y => y.Id.Value == (int)ca_N.Value) != null)); if (resd != null) { ClassesDBGetResult resDb = new ClassesDBGetResult(); if (resd.Status == "O") { GlobalInit.LST_MeasurementResults.RemoveAll(t => t.Id.MeasTaskId.Value == (int)ca_MeasTaskId.Value && t.StationMeasurements.StationId.Value == (int)ca_StationId.Value && t.Id.SubMeasTaskId == (int)ca_SubMeasTaskId.Value && t.Id.SubMeasTaskStationId == (int)ca_SubMeasTaskStationId.Value && (t.MeasurementsResults.ToList().Find(y => y.Id.Value == (int)ca_N.Value) != null)); } if (resDb.DeleteResultFromDB(resd, "Z")) { GlobalInit.LST_MeasurementResults.RemoveAll(t => t.Id.MeasTaskId.Value == (int)ca_MeasTaskId.Value && t.StationMeasurements.StationId.Value == (int)ca_StationId.Value && t.Id.SubMeasTaskId == (int)ca_SubMeasTaskId.Value && t.Id.SubMeasTaskStationId == (int)ca_SubMeasTaskStationId.Value && (t.MeasurementsResults.ToList().Find(y => y.Id.Value == (int)ca_N.Value) != null)); cv_r.State = CommonOperationState.Success; } else { cv_r.State = CommonOperationState.Fault; } } else { cv_r.State = CommonOperationState.Fault; } } } else if (ca_MeasTaskId.Value != null) { lock (GlobalInit.LST_MeasurementResults) { MeasurementResults resd = GlobalInit.LST_MeasurementResults.Find(t => t.Id.MeasTaskId.Value == (int)ca_MeasTaskId.Value); resd.StationMeasurements = null; if (resd != null) { ClassesDBGetResult resDb = new ClassesDBGetResult(); if (resd.Status == "O") { GlobalInit.LST_MeasurementResults.RemoveAll(t => t.Id.MeasTaskId.Value == (int)ca_MeasTaskId.Value); } if (resDb.DeleteResultFromDB(resd, "Z")) { GlobalInit.LST_MeasurementResults.RemoveAll(t => t.Id.MeasTaskId.Value == (int)ca_MeasTaskId.Value); cv_r.State = CommonOperationState.Success; } else { cv_r.State = CommonOperationState.Fault; } } else { cv_r.State = CommonOperationState.Fault; } } } Logger.Trace(this, options, operationContext); return(cv_r); }
/// <summary> /// /// </summary> /// <param name="options"></param> /// <param name="operationContext"></param> /// <returns></returns> public override ShortMeasTask[] Handle(GetShortMeasTasksAppOperationOptions options, IAppOperationContext operationContext) { List <ShortMeasTask> Res = new List <ShortMeasTask>(); if (GlobalInit.LIST_MEAS_TASK != null) { if (GlobalInit.LIST_MEAS_TASK.Count() > 0) { List <MeasTask> tsk = GlobalInit.LIST_MEAS_TASK.FindAll(t => t.Status != "Z"); if (tsk != null) { foreach (MeasTask mts in tsk) { var SMT = new ShortMeasTask { CreatedBy = mts.CreatedBy, DateCreated = mts.DateCreated, ExecutionMode = mts.ExecutionMode, Id = mts.Id, MaxTimeBs = mts.MaxTimeBs, Name = mts.Name, OrderId = mts.OrderId.GetValueOrDefault(), Prio = mts.Prio, ResultType = mts.ResultType, Status = mts.Status, Task = mts.Task, Type = mts.Type }; if (mts.MeasDtParam != null) { SMT.TypeMeasurements = mts.MeasDtParam.TypeMeasurements; } Res.Add(SMT); } } else { Res = null; } if (tsk != null) { if (tsk.Count == 0) { Res = null; } } } } Logger.Trace(this, options, operationContext); return(Res.ToArray()); }
public async Task <IFeatureToggleViewModel> Create(IFeatureToggleViewModel viewModel, IAppOperationContext context) { var model = _repository.CreateModel(); model.Name = viewModel.Name; model.Description = viewModel.Description; model.Enabled = viewModel.Enabled; model.Creator = context.UserName; model.CreatedAt = _timeProvider.UtcNow; var savedModel = await _repository.Create(model); return(new FeatureToggleViewModel(savedModel)); }
/// <summary> /// /// </summary> /// <param name="options"></param> /// <param name="operationContext"></param> /// <returns></returns> public override MeasurementResults[] Handle(GetMeasResultsAppOperationOptions options, IAppOperationContext operationContext) { Logger.Trace(this, options, operationContext); return(GlobalInit.LST_MeasurementResults.ToArray()); }
public override ShortSensor Handle(GetShortSensorAppOperationOptions options, IAppOperationContext operationContext) { SensorListSDRNS senLst = new SensorListSDRNS(); ShortSensor LstS = senLst.CreateShortSensorListBySensorId(options.SensorId.Value); Logger.Trace(this, options, operationContext); return(LstS); }
public override QueryMetadata Handle(GetQueryMetadataAppOperationOptions options, IAppOperationContext operationContext) { QueryMetadata metaData = new QueryMetadata(); try { ConnectDB conn = new ConnectDB(); Class_ManageSettingInstance v_s = new Class_ManageSettingInstance(); List <SettingIRPClass> Las_NameCat = Class_ManageSettingInstance.GetSettingWebQuery("XWEB_QUERY"); QueryMetaD QDM = v_s.GetQueryMetaData(Las_NameCat, options.QueryRef.Id, options.OtherArgs.UserId); List <ColumnMetadata> colMeta = new List <ColumnMetadata>(); if (QDM != null) { if (QDM.Columns != null) { foreach (ColumnMetaD mdf in QDM.Columns) { ColumnMetadata metaCol = new ColumnMetadata(); metaCol.Description = mdf.Description; metaCol.Format = mdf.Format; metaCol.JsonOptions = ""; metaCol.Order = mdf.Order; metaCol.Position = 0; metaCol.Rank = mdf.Rank; metaCol.Show = mdf.Show; metaCol.Style = new ColumnStyle(); metaCol.Title = mdf.Title; if (mdf.Type == typeof(int)) { metaCol.Type = Contracts.CommonDataType.Integer; } else if (mdf.Type == typeof(double)) { metaCol.Type = Contracts.CommonDataType.Double; } else if (mdf.Type == typeof(string)) { metaCol.Type = Contracts.CommonDataType.String; } else if (mdf.Type == typeof(float)) { metaCol.Type = Contracts.CommonDataType.Double; } else if (mdf.Type == typeof(bool)) { metaCol.Type = Contracts.CommonDataType.Boolean; } else if (mdf.Type == typeof(DateTime)) { metaCol.Type = Contracts.CommonDataType.DateTime; } else if (mdf.Type == typeof(byte)) { metaCol.Type = Contracts.CommonDataType.Bytes; } metaCol.Width = mdf.Width; colMeta.Add(metaCol); } } //Описание параметров запроса (Имя поля - значение) (НА ТЕКУЩИЙ МОМЕНТ НИЧЕГО НЕ ПЕРЕДАЮ) //List<QueryParameter> Qparams = new List<QueryParameter>(); //QueryParameter Qpar = new QueryParameter(); //Qpar.Name = ""; //Qpar.Value = ""; //Qparams.Add(Qpar); //Таблица стилей (НА ТЕКУЩИЙ МОМЕНТ НИЧЕГО НЕ ПЕРЕДАЮ) /* * QueryTableStyle QStyle = new QueryTableStyle(); * QStyle.BackColor = ""; * QStyle.FontName = ""; * QStyle.FontSize = 12; * QStyle.FontStyle = ""; * QStyle.ForeColor = ""; */ metaData.Columns = colMeta.ToArray(); metaData.Description = QDM.Description; metaData.JsonOptions = ""; metaData.Name = QDM.Name; metaData.Parameters = null; metaData.QueryRef = options.QueryRef; metaData.TableStyle = new QueryTableStyle(); metaData.Techno = QDM.Techno; metaData.Title = QDM.Title; } Logger.Trace(this, options, operationContext); } catch (Exception ex) { Logger.Error(ex); } return(metaData); }
public override QueryChangesResult Handle(SaveChangesAppOperationOptions options, IAppOperationContext operationContext) { QueryChangesResult result = new QueryChangesResult(); try { Class_ManageSettingInstance v_s = new Class_ManageSettingInstance(); List <QueryChangesetActionResult> L_chRes = new List <QueryChangesetActionResult>(); QueryChangesetActionResult chRes = new QueryChangesetActionResult(); result.QueryRef = new QueryReference(); result.QueryRef.Id = options.Changeset.QueryRef.Id; result.QueryRef.Version = options.Changeset.QueryRef.Version; int user_id = options.OtherArgs.UserId; Dictionary <string, object> Params = options.OtherArgs.Values; int max_Val = ConnectDB.NullI; int ID_Record = ConnectDB.NullI; foreach (KeyValuePair <string, object> p in Params) { if (p.Key == "ID") { ID_Record = Convert.ToInt32(p.Value); break; } } List <SettingIRPClass> Las_NameCat = Class_ManageSettingInstance.GetSettingWebQuery("XWEB_QUERY"); QueryMetaD MD = v_s.GetQueryMetaData(Las_NameCat, options.Changeset.QueryRef.Id, options.OtherArgs.UserId); SettingIRPClass settIRP = Las_NameCat.Find(z => z.ID == options.Changeset.QueryRef.Id); if (settIRP.IS_SQL_REQUEST == false) { List <BlockDataFind> obj_base = new List <BlockDataFind>(); foreach (QueryChangesetAction act in options.Changeset.Actions) { int D_I = ConnectDB.NullI; if ((act.Type == ChangesetActionType.Update) && (ID_Record != ConnectDB.NullI)) { obj_base = v_s.GetFieldFromFormFinder(MD, settIRP, true, Params); D_I = v_s.SaveToOrmDataEdit(MD, settIRP, obj_base, null, (int)ID_Record, user_id, out max_Val); if (D_I != ConnectDB.NullI) { chRes.Success = true; chRes.Message = "Succesfully updated record"; } else { chRes.Success = false; chRes.Message = "Error updated record"; } chRes.Type = ChangesetActionType.Update; chRes.RecordRef = new RecordReference(); chRes.RecordRef.Id = D_I; L_chRes.Add(chRes); } else if (act.Type == ChangesetActionType.Create) { obj_base = v_s.GetFieldFromFormFinderCreate(MD, settIRP, true, Params); D_I = v_s.SaveToOrmDataEdit(MD, settIRP, obj_base, null, ConnectDB.NullI, user_id, out max_Val); if (D_I != ConnectDB.NullI) { chRes.Success = true; chRes.Message = "Succesfully created new record"; } else { chRes.Success = false; chRes.Message = "Error created new record"; } chRes.Type = ChangesetActionType.Create; chRes.RecordRef = new RecordReference(); chRes.RecordRef.Id = D_I; L_chRes.Add(chRes); } else if ((act.Type == ChangesetActionType.Delete) && (ID_Record != ConnectDB.NullI)) { if (ConnectDB.SetStatusArchive(ID_Record, MD.TableName)) { chRes.Success = true; chRes.Message = string.Format("Succesfully update status = 'Z' for ID = {0}, table_name={1}", ID_Record, MD.TableName); chRes.Type = ChangesetActionType.Create; chRes.RecordRef = new RecordReference(); chRes.RecordRef.Id = ID_Record; L_chRes.Add(chRes); } else { chRes.Success = false; chRes.Message = string.Format("Error updated status = 'Z' for ID = {0}, table_name={1}", ID_Record, MD.TableName); chRes.Type = ChangesetActionType.Delete; chRes.RecordRef = new RecordReference(); chRes.RecordRef.Id = ID_Record; L_chRes.Add(chRes); } } } } else { chRes.Success = false; chRes.Message = "For mode SQL-only this function not supported!"; L_chRes.Add(chRes); } result.Actions = L_chRes.ToArray(); Logger.Trace(this, options, operationContext); } catch (Exception ex) { Logger.Error(ex); } return(result); }
/// <summary> /// /// </summary> /// <param name="options"></param> /// <param name="operationContext"></param> /// <returns></returns> public override ShortMeasurementResults[] Handle(GetShortMeasResultsAppOperationOptions options, IAppOperationContext operationContext) { List <ShortMeasurementResults> ShortMeas = new List <ShortMeasurementResults>(); Logger.Trace(this, options, operationContext); //lock (GlobalInit.LST_MeasurementResults) { foreach (MeasurementResults msrt in GlobalInit.LST_MeasurementResults) { ShortMeasurementResults ShMsrt = new ShortMeasurementResults { DataRank = msrt.DataRank, Id = msrt.Id, Number = msrt.N.Value, Status = msrt.Status, TimeMeas = msrt.TimeMeas, TypeMeasurements = msrt.TypeMeasurements }; if (msrt.LocationSensorMeasurement != null) { if (msrt.LocationSensorMeasurement.Count() > 0) { ShMsrt.CurrentLat = msrt.LocationSensorMeasurement[msrt.LocationSensorMeasurement.Count() - 1].Lat; ShMsrt.CurrentLon = msrt.LocationSensorMeasurement[msrt.LocationSensorMeasurement.Count() - 1].Lon; } } ShortMeas.Add(ShMsrt); } } return(ShortMeas.ToArray()); }
public override MeasurementResults Handle(GetMeasResultsByIdAppOperationOptions options, IAppOperationContext operationContext) { MeasurementResults res = new MeasurementResults(); Logger.Trace(this, options, operationContext); if (options.MeasResultsId != null) { if (options.MeasResultsId.MeasTaskId != null) { res = GlobalInit.LST_MeasurementResults.Find(t => t.Id.MeasSdrResultsId == options.MeasResultsId.MeasSdrResultsId && t.Id.MeasTaskId.Value == options.MeasResultsId.MeasTaskId.Value && t.Id.SubMeasTaskId == options.MeasResultsId.SubMeasTaskId && t.Id.SubMeasTaskStationId == options.MeasResultsId.SubMeasTaskStationId); } } return(res); }
/// <summary> /// /// </summary> /// <param name="options"></param> /// <param name="operationContext"></param> /// <returns></returns> public override ShortSensor[] Handle(GetShortSensorsAppOperationOptions options, IAppOperationContext operationContext) { Logger.Trace(this, options, operationContext); SensorListSDRNS senLst = new SensorListSDRNS(); List <ShortSensor> LstS = new List <ShortSensor>(); LstS = senLst.CreateShortSensorList(); return(LstS.ToArray()); }
public override ShortMeasTask Handle(GetShortMeasTaskAppOperationOptions options, IAppOperationContext operationContext) { ShortMeasTask Res = new ShortMeasTask(); if (GlobalInit.LIST_MEAS_TASK != null) { if (GlobalInit.LIST_MEAS_TASK.Count() > 0) { MeasTask mts = GlobalInit.LIST_MEAS_TASK.Find(t => t.Status != "Z" && t.Id.Value == options.TaskId.Value); if (mts != null) { var SMT = new ShortMeasTask { CreatedBy = mts.CreatedBy, DateCreated = mts.DateCreated, ExecutionMode = mts.ExecutionMode, Id = mts.Id, MaxTimeBs = mts.MaxTimeBs, Name = mts.Name, OrderId = mts.OrderId.GetValueOrDefault(), Prio = mts.Prio, ResultType = mts.ResultType, Status = mts.Status, Task = mts.Task, Type = mts.Type }; if (mts.MeasDtParam != null) { SMT.TypeMeasurements = mts.MeasDtParam.TypeMeasurements; } Res = SMT; } else { Res = null; } } } return(Res); }
public override ShortMeasurementResults Handle(GetShortMeasResultsByIdAppOperationOptions options, IAppOperationContext operationContext) { ShortMeasurementResults ShortMeas = new ShortMeasurementResults(); Logger.Trace(this, options, operationContext); //lock (GlobalInit.LST_MeasurementResults) { if (options.MeasResultsId != null) { if (options.MeasResultsId.MeasTaskId != null) { MeasurementResults msrt = GlobalInit.LST_MeasurementResults.Find(t => t.Id.MeasSdrResultsId == options.MeasResultsId.MeasSdrResultsId && t.Id.MeasTaskId.Value == options.MeasResultsId.MeasTaskId.Value && t.Id.SubMeasTaskId == options.MeasResultsId.SubMeasTaskId && t.Id.SubMeasTaskStationId == options.MeasResultsId.SubMeasTaskStationId); if (msrt != null) { ShortMeasurementResults ShMsrt = new ShortMeasurementResults { DataRank = msrt.DataRank, Id = msrt.Id, Number = msrt.N.Value, Status = msrt.Status, TimeMeas = msrt.TimeMeas, TypeMeasurements = msrt.TypeMeasurements }; if (msrt.LocationSensorMeasurement != null) { if (msrt.LocationSensorMeasurement.Count() > 0) { ShMsrt.CurrentLat = msrt.LocationSensorMeasurement[msrt.LocationSensorMeasurement.Count() - 1].Lat; ShMsrt.CurrentLon = msrt.LocationSensorMeasurement[msrt.LocationSensorMeasurement.Count() - 1].Lon; } } ShortMeas = ShMsrt; } } } } return(ShortMeas); }
/// <summary> /// /// </summary> /// <param name="options"></param> /// <param name="operationContext"></param> /// <returns></returns> public override CommonOperationResult Handle(DeleteMeasTaskAppOperationOptions options, IAppOperationContext operationContext) { CommonOperationResult res = new CommonOperationResult(); //bool isSuccessSendTOSDR = false; try { if (options.TaskId != null) { MeasTask mt = GlobalInit.LIST_MEAS_TASK.Find(z => z.Id.Value == options.TaskId.Value); if (mt != null) { WorkFlowProcessManageTasks tasks = new WorkFlowProcessManageTasks(); List <int> SensorIds = new List <int>(); foreach (MeasSubTask item in mt.MeasSubTasks) { foreach (MeasSubTaskStation u in item.MeasSubTaskStations) { SensorIds.Add(u.StationId.Value); } } foreach (MeasStation item in mt.Stations) { SensorIds.Add(item.StationId.Value); } var mt_edit = new MeasTask() { CreatedBy = mt.CreatedBy, DateCreated = mt.DateCreated, ExecutionMode = mt.ExecutionMode, Id = mt.Id, MaxTimeBs = mt.MaxTimeBs, MeasDtParam = mt.MeasDtParam, MeasFreqParam = mt.MeasFreqParam, MeasLocParams = mt.MeasLocParams, MeasOther = mt.MeasOther, MeasSubTasks = mt.MeasSubTasks, MeasTimeParamList = mt.MeasTimeParamList, Name = mt.Name, OrderId = mt.OrderId, Prio = mt.Prio, ResultType = mt.ResultType, Stations = mt.Stations, Status = mt.Status, Task = mt.Task, Type = mt.Type }; if (SensorIds.Count > 0) { WorkFlowProcessManageTasks.Process_Multy_Meas(mt_edit, SensorIds, "Stop", false); WorkFlowProcessManageTasks.Process_Multy_Meas(mt_edit, SensorIds, "Del", false); GlobalInit.LST_MeasurementResults.RemoveAll(t => t.Id.MeasTaskId.Value == options.TaskId.Value); res.State = CommonOperationState.Success; } } } Logger.Trace(this, options, operationContext); } catch (Exception ex) { res.State = CommonOperationState.Fault; res.FaultCause = ex.Message; } return(res); }
public override QueryResult Handle(ExecuteQueryAppOperationOptions options, IAppOperationContext operationContext) { QueryResult QResult = new QueryResult(); try { string decimal_sep = System.Globalization.NumberFormatInfo.CurrentInfo.NumberDecimalSeparator; Dictionary <string, object> QueryParams = options.OtherArgs.Values; ConnectDB conn = new ConnectDB(); Class_ManageSettingInstance v_s = new Class_ManageSettingInstance(); List <SettingIRPClass> Las_NameCat = Class_ManageSettingInstance.GetSettingWebQuery("XWEB_QUERY"); string sql_params = v_s.GenerateQueryFromParams(options.OtherArgs.Values, v_s.GetQueryMetaData(Las_NameCat, options.Options.QueryRef.Id, options.OtherArgs.UserId)); List <string> List_Id_Users = new List <string>(); List_Id_Users = conn.GetRegistNum(((WebQueryManagerAppOperationOptionsBase)options).OtherArgs.UserId); Class_IRP_Object Irp = v_s.ExecuteSQL("([ID]>0) " + sql_params, List_Id_Users, "XWEB_QUERY", Las_NameCat, options.Options.QueryRef.Id, ((WebQueryManagerAppOperationOptionsBase)options).OtherArgs.UserId.ToString()); QResult.TotalRowCount = (uint)Irp.Val_Arr.Count; QResult.ResultRowCount = (uint)Irp.Val_Arr.Count; QResult.QueryRef = new QueryReference(); QResult.QueryRef.Id = options.Options.QueryRef.Id; QResult.QueryRef.Version = options.Options.QueryRef.Version; List <uint> indexMap = new List <uint>(); List <Contracts.CommonDataType> CDataType = new List <Contracts.CommonDataType>(); List <Type> rtv = ConnectDB.GetAllTypesFromFlds(Irp.TABLE_NAME, Irp.FLD); if (Irp.Setting_param.IS_SQL_REQUEST) { rtv = Irp.FLD_TYPE; } int int_idx = 0; int double_idx = 0; int string_idx = 0; int float_idx = 0; int bool_idx = 0; int DateTime_idx = 0; int byte_idx = 0; for (int i = 0; i < rtv.Count; i++) { if (rtv[i] == typeof(int)) { CDataType.Add(Contracts.CommonDataType.Integer); indexMap.Add((uint)int_idx); int_idx++; } else if (rtv[i] == typeof(double)) { CDataType.Add(Contracts.CommonDataType.Double); indexMap.Add((uint)double_idx); double_idx++; } else if (rtv[i] == typeof(string)) { CDataType.Add(Contracts.CommonDataType.String); indexMap.Add((uint)string_idx); string_idx++; } else if (rtv[i] == typeof(float)) { CDataType.Add(Contracts.CommonDataType.Double); indexMap.Add((uint)float_idx); float_idx++; } else if (rtv[i] == typeof(bool)) { CDataType.Add(Contracts.CommonDataType.Boolean); indexMap.Add((uint)bool_idx); bool_idx++; } else if (rtv[i] == typeof(DateTime)) { CDataType.Add(Contracts.CommonDataType.DateTime); indexMap.Add((uint)DateTime_idx); DateTime_idx++; } else if (rtv[i] == typeof(byte)) { CDataType.Add(Contracts.CommonDataType.Bytes); indexMap.Add((uint)byte_idx); byte_idx++; } } QResult.ColumnIndexMap = indexMap.ToArray(); QResult.ColumnTypeMap = CDataType.ToArray(); bool?[][] G_BooleanValues = new bool?[Irp.Val_Arr.Count][]; byte[][] G_BytesValues = new byte[Irp.Val_Arr.Count][]; DateTime?[][] G_DateTimeValues = new DateTime?[Irp.Val_Arr.Count][]; double?[][] G_DoubleValues = new double?[Irp.Val_Arr.Count][]; int?[][] G_IntegerValues = new int?[Irp.Val_Arr.Count][]; string[][] G_StringValues = new string[Irp.Val_Arr.Count][]; if (indexMap.Count > 0) { QResult.FirstRowIndex = indexMap.Min(); } if (Irp.Val_Arr.Count > 0) { if (Irp.Val_Arr[0].Count() == CDataType.Count) { QResult.FirstRowIndex = 0; QResult.ResultRowCount = (uint)Irp.Val_Arr.Count(); QResult.TotalRowCount = (uint)Irp.Val_Arr.Count(); for (int i = 0; i < Irp.Val_Arr.Count(); i++) { G_BooleanValues[i] = new bool?[CDataType.Count()]; G_BytesValues[i] = new byte[CDataType.Count()]; G_DateTimeValues[i] = new DateTime?[CDataType.Count()]; G_DoubleValues[i] = new double?[CDataType.Count()]; G_IntegerValues[i] = new int?[CDataType.Count()]; G_StringValues[i] = new string[CDataType.Count()]; List <bool?> BooleanValues = new List <bool?>(); List <byte> BytesValues = new List <byte>(); List <DateTime?> DateTimeValues = new List <DateTime?>(); List <double?> DoubleValues = new List <double?>(); List <int?> IntegerValues = new List <int?>(); List <string> StringValues = new List <string>(); for (int j = 0; j < CDataType.Count; j++) { if (Irp.Val_Arr[i][j] != null) { if (CDataType[j] == Contracts.CommonDataType.Boolean) { BooleanValues.Add(Convert.ToBoolean(Irp.Val_Arr[i][j].ToString())); } if (CDataType[j] == Contracts.CommonDataType.Bytes) { BytesValues.Add(Convert.ToByte(Irp.Val_Arr[i][j])); } if (CDataType[j] == Contracts.CommonDataType.DateTime) { if (Irp.Val_Arr[i][j].ToString() == "") { DateTimeValues.Add(ConnectDB.NullT); } else { DateTimeValues.Add(Convert.ToDateTime(Irp.Val_Arr[i][j])); } } if (CDataType[j] == Contracts.CommonDataType.Double) { if (Irp.Val_Arr[i][j].ToString() == "") { DoubleValues.Add(ConnectDB.NullD); } else { DoubleValues.Add(Convert.ToDouble(Irp.Val_Arr[i][j].ToString().Replace(".", decimal_sep).Replace(",", decimal_sep))); } } if (CDataType[j] == Contracts.CommonDataType.Integer) { if (Irp.Val_Arr[i][j].ToString() == "") { IntegerValues.Add(ConnectDB.NullI); } else { IntegerValues.Add(Convert.ToInt32(Irp.Val_Arr[i][j])); } } if (CDataType[j] == Contracts.CommonDataType.String) { StringValues.Add(Convert.ToString(Irp.Val_Arr[i][j])); } } } G_BooleanValues[i] = BooleanValues.ToArray(); G_BytesValues[i] = BytesValues.ToArray(); G_DateTimeValues[i] = DateTimeValues.ToArray(); G_DoubleValues[i] = DoubleValues.ToArray(); G_IntegerValues[i] = IntegerValues.ToArray(); G_StringValues[i] = StringValues.ToArray(); } } } QResult.BooleanValues = G_BooleanValues; //QResult.BytesValues = G_BytesValues; QResult.DateTimeValues = G_DateTimeValues; QResult.DoubleValues = G_DoubleValues; QResult.IntegerValues = G_IntegerValues; QResult.StringValues = G_StringValues; Logger.Trace(this, options, operationContext); } catch (Exception ex) { Logger.Error(ex); } return(QResult); }
public override PageMetadata Handle(GetPageMetadataAppOperationOptions options, IAppOperationContext operationContext) { PageMetadata pageMeta = new PageMetadata(); pageMeta.PageStyle = new PageStyle(); pageMeta.PageStyle.BackColor = "White"; pageMeta.PageStyle.ForeColor = "Black"; Logger.Trace(this, options, operationContext); return(pageMeta); }
/// <summary> /// /// </summary> /// <param name="options"></param> /// <param name="operationContext"></param> /// <returns></returns> public override CommonOperationResult Handle(StopMeasTaskAppOperationOptions options, IAppOperationContext operationContext) { CommonOperationResult res = new CommonOperationResult(); Task ge = new Task(() => { try { if (options.TaskId != null) { MeasTask mt = GlobalInit.LIST_MEAS_TASK.Find(z => z.Id.Value == options.TaskId.Value); if (mt != null) { WorkFlowProcessManageTasks tasks = new WorkFlowProcessManageTasks(); //int ID = tasks.Create_New_Meas_Task(mt, "Stop"); List <int> SensorIds = new List <int>(); foreach (MeasSubTask item in mt.MeasSubTasks) { foreach (MeasSubTaskStation u in item.MeasSubTaskStations) { SensorIds.Add(u.StationId.Value); } } foreach (MeasStation item in mt.Stations) { SensorIds.Add(item.StationId.Value); } var mt_edit = new MeasTask() { CreatedBy = mt.CreatedBy, DateCreated = mt.DateCreated, ExecutionMode = mt.ExecutionMode, Id = mt.Id, MaxTimeBs = mt.MaxTimeBs, MeasDtParam = mt.MeasDtParam, MeasFreqParam = mt.MeasFreqParam, MeasLocParams = mt.MeasLocParams, MeasOther = mt.MeasOther, MeasSubTasks = mt.MeasSubTasks, MeasTimeParamList = mt.MeasTimeParamList, Name = mt.Name, OrderId = mt.OrderId, Prio = mt.Prio, ResultType = mt.ResultType, Stations = mt.Stations, Status = mt.Status, Task = mt.Task, Type = mt.Type }; if (SensorIds.Count > 0) { bool isOnline = false; WorkFlowProcessManageTasks.Process_Multy_Meas(mt_edit, SensorIds, "Stop", isOnline); res.State = CommonOperationState.Success; } } } Logger.Trace(this, options, operationContext); } catch (Exception ex) { Logger.Trace("StopMeasTask:" + ex.Message); res.State = CommonOperationState.Fault; res.FaultCause = ex.Message; } }); ge.RunSynchronously(); return(res); }
public override ShortMeasurementResults[] Handle(GetShortMeasResultsByTaskIdAppOperationOptions options, IAppOperationContext operationContext) { Logger.Trace(this, options, operationContext); List <ShortMeasurementResults> ShortMeas = new List <ShortMeasurementResults>(); //lock (GlobalInit.LST_MeasurementResults) { List <MeasurementResults> msrt = GlobalInit.LST_MeasurementResults.FindAll(t => t.Id.MeasTaskId.Value == options.TaskId.Value); if (msrt != null) { foreach (MeasurementResults rs in msrt) { ShortMeasurementResults ShMsrt = new ShortMeasurementResults { DataRank = rs.DataRank, Id = rs.Id, Number = rs.N.Value, Status = rs.Status, TimeMeas = rs.TimeMeas, TypeMeasurements = rs.TypeMeasurements }; if (rs.LocationSensorMeasurement != null) { if (rs.LocationSensorMeasurement.Count() > 0) { ShMsrt.CurrentLat = rs.LocationSensorMeasurement[rs.LocationSensorMeasurement.Count() - 1].Lat; ShMsrt.CurrentLon = rs.LocationSensorMeasurement[rs.LocationSensorMeasurement.Count() - 1].Lon; } } ShortMeas.Add(ShMsrt); } } } return(ShortMeas.ToArray()); }
public override MeasurementResults[] Handle(GetMeasResultsByTaskIdAppOperationOptions options, IAppOperationContext operationContext) { Logger.Trace(this, options, operationContext); List <MeasurementResults> res = GlobalInit.LST_MeasurementResults.FindAll(t => t.Id.MeasTaskId.Value == options.TaskId.Value); if (res != null) { return(res.ToArray()); } else { return(null); } }
/// <summary> /// /// </summary> /// <param name="options"></param> /// <param name="operationContext"></param> /// <returns></returns> public override MeasTaskIdentifier Handle(CreateMeasTaskAppOperationOptions options, IAppOperationContext operationContext) { MeasTaskIdentifier md = new MeasTaskIdentifier(); System.Threading.Thread.CurrentThread.Priority = System.Threading.ThreadPriority.Highest; MeasTask mt = options.Task; if (mt.Id == null) { mt.Id = new MeasTaskIdentifier(); } if (mt.Status == null) { mt.Status = "N"; } WorkFlowProcessManageTasks tasks = new WorkFlowProcessManageTasks(); System.Console.WriteLine("Start Create_New_Meas_Task "); int ID = tasks.Create_New_Meas_Task(mt, "New"); md.Value = ID; Logger.Trace(this, options, operationContext); Task tsg = new Task(() => { try { List <int> SensorIds = new List <int>(); if (mt.Stations != null) { foreach (MeasStation ts in mt.Stations) { if (ts.StationId != null) { if (ts.StationId != null) { if (!SensorIds.Contains(ts.StationId.Value)) { SensorIds.Add(ts.StationId.Value); } } } } } WorkFlowProcessManageTasks.Process_Multy_Meas(mt, SensorIds, "New", false); } catch (Exception ex) { System.Console.WriteLine("CreateMeasTaskAppOperationHandler " + ex.Message); } }); tsg.Start(); //tsg.Wait(); return(md); }
public abstract TResult Handle(TOptions options, IAppOperationContext operationContext);