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);
        }
Esempio n. 2
0
 /// <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);
 }
Esempio n. 3
0
        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);
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 7
0
        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);
            }
        }
Esempio n. 8
0
        /// <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);
        }
Esempio n. 9
0
        /// <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());
 }
Esempio n. 13
0
        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);
        }
Esempio n. 15
0
        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());
        }
Esempio n. 17
0
        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);
        }
Esempio n. 18
0
        /// <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);
        }
Esempio n. 21
0
        /// <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);
        }
Esempio n. 22
0
        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);
        }
Esempio n. 23
0
        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);
        }
Esempio n. 24
0
        /// <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());
        }
Esempio n. 26
0
        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);
        }
Esempio n. 28
0
 public abstract TResult Handle(TOptions options, IAppOperationContext operationContext);