private static List <AlertHistoryItemModel> ProduceAlertHistoryItemsAsync(Stream stream) { Debug.Assert(stream != null, "stream is a null reference."); var models = new List <AlertHistoryItemModel>(); try { stream.Position = 0; using (var reader = new StreamReader(stream)) { IEnumerable <ExpandoObject> expandos = ParsingHelper.ParseCsv(reader).ToExpandoObjects(); foreach (ExpandoObject expando in expandos) { AlertHistoryItemModel model = ProduceAlertHistoryItem(expando); if (model != null) { models.Add(model); } } } } finally { } return(models); }
private async static Task <List <AlertHistoryItemModel> > ProduceAlertHistoryItemsAsync(CloudBlockBlob blob) { Debug.Assert(blob != null, "blob is a null reference."); var models = new List <AlertHistoryItemModel>(); var stream = new MemoryStream(); TextReader reader = null; try { await blob.DownloadToStreamAsync(stream); stream.Position = 0; reader = new StreamReader(stream); IEnumerable <ExpandoObject> expandos = ParsingHelper.ParseCsv(reader).ToExpandoObjects(); foreach (ExpandoObject expando in expandos) { AlertHistoryItemModel model = ProduceAlertHistoryItem(expando); if (model != null) { models.Add(model); } } } finally { IDisposable dispStream = stream as IDisposable; if (dispStream != null) { dispStream.Dispose(); } IDisposable dispReader = reader as IDisposable; if (dispReader != null) { dispReader.Dispose(); } } return(models); }
private static List <AlertHistoryItemModel> ProduceAlertHistoryItemsAsync(Stream stream) { Debug.Assert(stream != null, "stream is a null reference."); var models = new List <AlertHistoryItemModel>(); TextReader reader = null; try { stream.Position = 0; reader = new StreamReader(stream); IEnumerable <ExpandoObject> expandos = ParsingHelper.ParseCsv(reader).ToExpandoObjects(); foreach (ExpandoObject expando in expandos) { AlertHistoryItemModel model = ProduceAlertHistoryItem(expando); if (model != null) { models.Add(model); } } } finally { IDisposable dispStream = stream as IDisposable; if (dispStream != null) { dispStream.Dispose(); } IDisposable dispReader = reader as IDisposable; if (dispReader != null) { dispReader.Dispose(); } } return(models); }
private static AlertHistoryItemModel ProduceAlertHistoryItem( ExpandoObject expandoObject, string sourceField) { DateTime date; AlertHistoryItemModel model; string str; Debug.Assert( expandoObject != null, "expandoObject is a null reference."); Debug.Assert( !string.IsNullOrEmpty(sourceField), "sourceField is a null reference or empty string."); model = null; str = ReflectionHelper.GetNamedPropertyValue( expandoObject, sourceField, true, false) as string; if (string.Equals( str, "AlarmTemp", StringComparison.OrdinalIgnoreCase)) { model = new AlertHistoryItemModel() { RuleOutput = str }; model.DeviceId = ReflectionHelper.GetNamedPropertyValue( expandoObject, "deviceid", true, false) as string; model.Value = ReflectionHelper.GetNamedPropertyValue( expandoObject, "tempreading", true, false) as string; } else if (string.Equals( str, "AlarmHumidity", StringComparison.OrdinalIgnoreCase)) { model = new AlertHistoryItemModel() { RuleOutput = str }; model.DeviceId = ReflectionHelper.GetNamedPropertyValue( expandoObject, "deviceid", true, false) as string; model.Value = ReflectionHelper.GetNamedPropertyValue( expandoObject, "humidityreading", true, false) as string; } if (model != null) { str = ReflectionHelper.GetNamedPropertyValue( expandoObject, "time", true, false) as string; if (DateTime.TryParse(str, out date)) { model.Timestamp = date; } model.Value = AttemptNumericFormatting(model.Value); } return(model); }