public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (!(value is double)) { return(null); } double v = (double)value; double p = parameter as double? ?? 0; return(SingleParam?.Invoke(v) ?? DoubleParam?.Invoke(v, p)); }
static internal async Task LoadState() { //Try catch inside of the Method SingleParam <SuspensionState> res = await new Persistance().LoadJsonAsync <SuspensionState>(SuspensionStateFileNameWithExt); if (res.Success == true) { PointerTo_ListOfEntries = res.value.Entries; PointerTo_SelectedEntry = res.value.SelectedEntry; } }
internal async Task <SingleParam <byte[]> > GetPictureFromURLAsync(string URL) { SingleParam <byte[]> res = new SingleParam <byte[]>(); try { byte[] buffer = await _httpClient.GetByteArrayAsync(URL).ConfigureAwait(false); res.value = buffer; res.Success = true; } catch (Exception ex) { res.Error = ex; } return(res); }
internal async Task <SingleParam <string> > ReadTextFromFileAsync(string fileNameWithExtension) { var res = new SingleParam <String>(); try { Windows.Storage.StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder; StorageFile file = await localFolder.GetFileAsync(fileNameWithExtension).AsTask().ConfigureAwait(false); res.value = await FileIO.ReadTextAsync(file).AsTask().ConfigureAwait(false); res.Success = true; } catch (Exception ex) { res.Error = ex; } return(res); }
internal async Task <SingleParam <string> > GetJsonPayLoadAsync(string URL) { SingleParam <string> res = new SingleParam <string>(); try { using (HttpResponseMessage responseMessage = await _httpClient.GetAsync(URL).ConfigureAwait(false)) { responseMessage.EnsureSuccessStatusCode(); res.value = await responseMessage.Content.ReadAsStringAsync().ConfigureAwait(false); res.Success = true; } } catch (Exception ex) { res.Error = ex; } return(res); }
public Dictionary <string, IParameter> Read(IPackage owner) { Dictionary <string, IParameter> parameters = new Dictionary <string, IParameter>(); if (File.Exists(_FileName)) { StreamReader sr = new StreamReader(_FileName); var txt = sr.ReadToEnd().Trim(); var lines = txt.Split(new char[] { '\n' }); string newline = ""; int dimRow = 0; int paraRow = 0; for (int i = 0; i < lines.Length; i++) { if (lines[i].ToLower().Contains("dimensions")) { dimRow = i; } if (lines[i].ToLower().Contains("parameters")) { paraRow = i; break; } } //read dimensions for (int i = dimRow + 1; i < paraRow;) { i++; newline = lines[i].Trim(); SingleParam <int> gv = new SingleParam <int>(newline) { Dimension = 1, VariableType = ParameterType.Dimension, DimensionNames = dim_name }; i++; newline = lines[i].Trim(); gv.Value = int.Parse(newline); if (!parameters.Keys.Contains(gv.Name)) { parameters.Add(gv.Name, gv); } i++; } if (paraRow == 0) { paraRow = -1; } //read parameters for (int i = paraRow + 1; i < lines.Length;) { i++; newline = TypeConverterEx.Split <string>(lines[i], 1)[0]; string name = newline.Trim(); i++; newline = lines[i]; int Dimension = int.Parse(newline.Trim()); string[] dimensionNames = new string[Dimension]; for (int d = 0; d < Dimension; d++) { i++; dimensionNames[d] = lines[i].Trim(); } i++; newline = lines[i]; int ValueCount = int.Parse(newline.Trim()); i++; newline = lines[i]; int ValueType = int.Parse(newline.Trim()); if (ValueType == 0) { ArrayParam <short> gv = new ArrayParam <short>(name) { ValueType = ValueType, VariableType = ParameterType.Parameter, Dimension = Dimension, DimensionNames = dimensionNames, Owner = owner, }; gv.Values = TypeConverterEx.ChangeType <short>(lines, i + 1, i + ValueCount); if (!parameters.Keys.Contains(gv.Name)) { parameters.Add(gv.Name, gv); } } else if (ValueType == 1) { ArrayParam <int> gv = new ArrayParam <int>(name) { ValueType = ValueType, VariableType = ParameterType.Parameter, Dimension = Dimension, DimensionNames = dimensionNames, Owner = owner, }; gv.Values = TypeConverterEx.ChangeType <int>(lines, i + 1, i + ValueCount); if (!parameters.Keys.Contains(gv.Name)) { parameters.Add(gv.Name, gv); } } else if (ValueType == 2) { ArrayParam <float> gv = new ArrayParam <float>(name) { ValueType = ValueType, VariableType = ParameterType.Parameter, Dimension = Dimension, DimensionNames = dimensionNames, Owner = owner }; gv.Values = TypeConverterEx.ChangeType <float>(lines, i + 1, i + ValueCount); if (!parameters.Keys.Contains(gv.Name)) { parameters.Add(gv.Name, gv); } } else if (ValueType == 3) { ArrayParam <double> gv = new ArrayParam <double>(name) { ValueType = ValueType, VariableType = ParameterType.Parameter, Dimension = Dimension, DimensionNames = dimensionNames, Owner = owner }; gv.Values = TypeConverterEx.ChangeType <double>(lines, i + 1, i + ValueCount); if (!parameters.Keys.Contains(gv.Name)) { parameters.Add(gv.Name, gv); } } else if (ValueType == 4) { ArrayParam <string> gv = new ArrayParam <string>(name) { ValueType = ValueType, VariableType = ParameterType.Parameter, Dimension = Dimension, DimensionNames = dimensionNames, Owner = owner }; gv.Values = TypeConverterEx.ChangeType <string>(lines, i + 1, i + ValueCount); if (!parameters.Keys.Contains(gv.Name)) { parameters.Add(gv.Name, gv); } } i += ValueCount + 1; } IsLoaded = true; foreach (var pr in parameters.Values) { pr.Owner = owner; } return(parameters); } else { Message = string.Format("\r\n Failed to load . The package file does not exist: {0}", _FileName); IsLoaded = false; return(parameters); } }
public override bool Load(ICancelProgressHandler progress) { if (File.Exists(FileName)) { StreamReader sr = new StreamReader(FileName); var txt = sr.ReadToEnd().Trim(); var lines = txt.Split(new char[] { '\n' }); string newline = ""; int dimRow = 0; int paraRow = 0; for (int i = 0; i < lines.Length; i++) { if (lines[i].ToLower().Contains("dimensions")) { dimRow = i; } if (lines[i].ToLower().Contains("parameters")) { paraRow = i; break; } } //read dimensions for (int i = dimRow + 1; i < paraRow;) { i++; newline = lines[i].Trim(); SingleParam <int> gv = new SingleParam <int>(newline) { Dimension = 1, VariableType = ParameterType.Dimension, DimensionNames = dim_name }; i++; newline = lines[i].Trim(); gv.Value = int.Parse(newline); if (!Parameters.Keys.Contains(gv.Name)) { Parameters.Add(gv.Name, gv); } i++; } //read parameters for (int i = paraRow + 1; i < lines.Length;) { i++; newline = TypeConverterEx.Split <string>(lines[i], 1)[0]; string name = newline.Trim(); i++; newline = lines[i]; int Dimension = int.Parse(newline.Trim()); string[] dimensionNames = new string[Dimension]; for (int d = 0; d < Dimension; d++) { i++; dimensionNames[d] = lines[i].Trim(); } i++; newline = lines[i]; int ValueCount = int.Parse(newline.Trim()); i++; newline = lines[i]; int ValueType = int.Parse(newline.Trim()); if (ValueType == 0) { ArrayParam <short> gv = new ArrayParam <short>(name) { ValueType = ValueType, VariableType = ParameterType.Parameter, Dimension = Dimension, DimensionNames = dimensionNames, Owner = this, }; gv.Values = TypeConverterEx.ChangeType <short>(lines, i + 1, i + ValueCount); if (!Parameters.Keys.Contains(gv.Name)) { Parameters.Add(gv.Name, gv); } } else if (ValueType == 1) { ArrayParam <int> gv = new ArrayParam <int>(name) { ValueType = ValueType, VariableType = ParameterType.Parameter, Dimension = Dimension, DimensionNames = dimensionNames, Owner = this, }; gv.Values = TypeConverterEx.ChangeType <int>(lines, i + 1, i + ValueCount); if (!Parameters.Keys.Contains(gv.Name)) { Parameters.Add(gv.Name, gv); } } else if (ValueType == 2) { ArrayParam <float> gv = new ArrayParam <float>(name) { ValueType = ValueType, VariableType = ParameterType.Parameter, Dimension = Dimension, DimensionNames = dimensionNames, Owner = this }; gv.Values = TypeConverterEx.ChangeType <float>(lines, i + 1, i + ValueCount); if (!Parameters.Keys.Contains(gv.Name)) { Parameters.Add(gv.Name, gv); } } else if (ValueType == 3) { ArrayParam <double> gv = new ArrayParam <double>(name) { ValueType = ValueType, VariableType = ParameterType.Parameter, Dimension = Dimension, DimensionNames = dimensionNames, Owner = this }; gv.Values = TypeConverterEx.ChangeType <double>(lines, i + 1, i + ValueCount); if (!Parameters.Keys.Contains(gv.Name)) { Parameters.Add(gv.Name, gv); } } else if (ValueType == 4) { ArrayParam <string> gv = new ArrayParam <string>(name) { ValueType = ValueType, VariableType = ParameterType.Parameter, Dimension = Dimension, DimensionNames = dimensionNames, Owner = this }; gv.Values = TypeConverterEx.ChangeType <string>(lines, i + 1, i + ValueCount); if (!Parameters.Keys.Contains(gv.Name)) { Parameters.Add(gv.Name, gv); } } i += ValueCount + 1; } OnLoaded(progress); return(true); } else { Message = string.Format("\tFailed to load {0}. The package file does not exist: {1}", Name, FileName); OnLoadFailed(Message, progress); return(false); } }
private void SingleParamTest( SingleParam method, string command, string testValue ) { method( testValue ); Assertion.AssertEquals( command + " " + testValue, BufferToString() ); try { method(null); Assertion.Fail("Null"); } catch( ArgumentException ae ) { Assertion.Assert( true ); } try { method(""); Assertion.Fail("Empty"); } catch( ArgumentException ae ) { Assertion.Assert( true ); } try { method("bad value" ); Assertion.Fail("Bad value"); } catch( ArgumentException ae ) { Assertion.Assert( true ); } try { method( CreateString(600) ); Assertion.Fail("Long value"); } catch( ArgumentException ae ) { Assertion.Assert( true ); } }