Esempio n. 1
0
 private void variableReadCallBack(VariableResult result)
 {
     result.Value = result.Name.CompareTo("coile0") == 0 ? _coile[0].ToString() :
                    result.Name.CompareTo("coile1") == 0 ? _coile[1].ToString() :
                    result.Name.CompareTo("coile2") == 0 ? _coile[2].ToString() :
                    _coile[3].ToString();
 }
Esempio n. 2
0
        public async Task SaveVariableResults(VariableResult data)
        {
            var existingData = await GetVariableResultStorageModel(data.VariableId, data.ScenarioId);

            var dataModel = new VariableResultStorageModel
            {
                Id         = existingData?.Id ?? Guid.NewGuid(),
                ScenarioId = data.ScenarioId,
                ModelId    = data.ModelId,
                VariableId = data.VariableId,
                Sets       = data.Sets,
            };
            var itemBundles = data.Data
                              .Select((val, index) => new { Index = index, Value = val })
                              .GroupBy(i => i.Index / ItemStorageBundleSize)
                              .Select(x => new VariableResultItemBundleStorageModel
            {
                VariableResultId = dataModel.Id,
                ItemBundle       = x.Select(v => v.Value).ToList(),
            })
                              .ToList();
            await _variableResultsCollection.ReplaceOneAsync(x => x.Id == dataModel.Id, dataModel, new UpdateOptions
            {
                IsUpsert = true,
            });

            await _variableResultItemsBundleCollection.DeleteManyAsync(x => x.VariableResultId == dataModel.Id);

            if (itemBundles.Any())
            {
                await _variableResultItemsBundleCollection.InsertManyAsync(itemBundles);
            }
        }
Esempio n. 3
0
        public async Task SaveVariableResults(VariableResult data)
        {
            var existingData = await GetVariableResultStorageModel(data.VariableId, data.ScenarioId);

            var dataModel = new VariableResultStorageModel
            {
                Id         = existingData?.Id ?? Guid.NewGuid(),
                ScenarioId = data.ScenarioId,
                ModelId    = data.ModelId,
                VariableId = data.VariableId,
                Sets       = data.Sets,
            };
            var itemsModel = data.Data.Select(d => new VariableResultItemStorageModel
            {
                VariableResultId = dataModel.Id,
                Coordinates      = d.C,
                Value            = d.V,
            }).ToList();
            await _variableResultsCollection.ReplaceOneAsync(x => x.Id == dataModel.Id, dataModel, new UpdateOptions
            {
                IsUpsert = true,
            });

            await _variableResultItemsCollection.DeleteManyAsync(x => x.VariableResultId == dataModel.Id);

            if (itemsModel.Any())
            {
                await _variableResultItemsCollection.InsertManyAsync(itemsModel);
            }
        }
Esempio n. 4
0
        internal bool[] ReadCoiles()
        {
            bool[]         resval = new bool[4];
            FunctionResult res    = new FunctionResult();

            //_ddeAppClient.FunctionCall(_serverName, "GetCoiles", res);

            VariableResult result = new VariableResult("coile0", DdeVariableType.Integer);

            _ddeAppClient.VariableRead(_serverName, "coile0", result);
            resval[0] = bool.Parse(result.Value);
            _ddeAppClient.VariableRead(_serverName, "coile1", result);
            resval[1] = bool.Parse(result.Value);
            _ddeAppClient.VariableRead(_serverName, "coile2", result);
            resval[2] = bool.Parse(result.Value);
            _ddeAppClient.VariableRead(_serverName, "coile3", result);
            resval[3] = bool.Parse(result.Value);

            return(resval);
        }
Esempio n. 5
0
 protected bool Equals(VariableResult other)
 {
     return(Code == other.Code && string.Equals(Value1, other.Value1) && string.Equals(Value2, other.Value2));
 }