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(); }
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); } }
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); } }
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); }
protected bool Equals(VariableResult other) { return(Code == other.Code && string.Equals(Value1, other.Value1) && string.Equals(Value2, other.Value2)); }