/// <summary> /// Формат строки "[#fmt]#;Ticker=EURUSD#;VolumeRTH=5412#;VolumeGlobex=25701#;OpenInterest=24790#;Date=10062011#;" /// </summary> public static FuturesVolume Parse(string str) { if (string.IsNullOrEmpty(str)) { return(null); } if (!str.StartsWith("[#fmt]#;")) { return(null); } var parts = str.Split(new [] { Separator }, StringSplitOptions.RemoveEmptyEntries); if (parts.Length != 6) { return(null); } var futVol = new FuturesVolume(); for (var i = 1; i < parts.Length; i++) { var keyValue = parts[i].Split(new[] { '=' }, StringSplitOptions.RemoveEmptyEntries); if (keyValue.Length != 2) { continue; } if (keyValue[0] == "Ticker") { futVol.Ticker = keyValue[1]; } else if (keyValue[0] == "VolumeRTH") { futVol.VolumeRTH = ParseStringSafe(keyValue[1]); } else if (keyValue[0] == "VolumeGlobex") { futVol.VolumeGlobex = ParseStringSafe(keyValue[1]); } else if (keyValue[0] == "OpenInterest") { futVol.OpenInterest = ParseStringSafe(keyValue[1]); } else if (keyValue[0] == "Date") { futVol.Date = ParseDateSafe(keyValue[1]); } } return(futVol.IsCompleted ? futVol : null); }
/// <summary> /// Формат строки "[#fmt]#;Ticker=EURUSD#;VolumeRTH=5412#;VolumeGlobex=25701#;OpenInterest=24790#;Date=10062011#;" /// </summary> public static FuturesVolume Parse(string str) { if (string.IsNullOrEmpty(str)) return null; if (!str.StartsWith("[#fmt]#;")) return null; var parts = str.Split(new [] { Separator }, StringSplitOptions.RemoveEmptyEntries); if (parts.Length != 6) return null; var futVol = new FuturesVolume(); for (var i = 1; i < parts.Length; i++) { var keyValue = parts[i].Split(new[] { '=' }, StringSplitOptions.RemoveEmptyEntries); if (keyValue.Length != 2) continue; if (keyValue[0] == "Ticker") futVol.Ticker = keyValue[1]; else if (keyValue[0] == "VolumeRTH") futVol.VolumeRTH = ParseStringSafe(keyValue[1]); else if (keyValue[0] == "VolumeGlobex") futVol.VolumeGlobex = ParseStringSafe(keyValue[1]); else if (keyValue[0] == "OpenInterest") futVol.OpenInterest = ParseStringSafe(keyValue[1]); else if (keyValue[0] == "Date") futVol.Date = ParseDateSafe(keyValue[1]); } return futVol.IsCompleted ? futVol : null; }