private TimeSeriesViewModel mapDataCartToTimeseries(BusinessObjects.Models.SeriesDataCartModel.SeriesDataCart dc, int id) { var allWebservices = (List <WebServiceNode>)Session["webServiceList"]; var dict = allWebservices.Distinct().ToDictionary(i => i.ServiceCode, i => i.Organization); var dict1 = allWebservices.Distinct().ToDictionary(i => i.ServiceCode, i => i.Title); var obj = new TimeSeriesViewModel(); obj.SeriesId = id; obj.ServCode = dc.ServCode; obj.ServTitle = dict1.FirstOrDefault(x => x.Key == dc.ServCode).Value; obj.ServURL = dc.ServURL; obj.SiteCode = dc.SiteCode; obj.VariableCode = dc.VariableCode; obj.SiteName = dc.SiteName; obj.VariableName = dc.VariableName; obj.BeginDate = dc.BeginDate; obj.EndDate = dc.EndDate; obj.ValueCount = dc.ValueCount; obj.Latitude = dc.Latitude; obj.Longitude = dc.Longitude; obj.DataType = dc.DataType; obj.ValueType = dc.ValueType; obj.SampleMedium = dc.SampleMedium; //BCC - 08-Aug-2016 - Assign view model general category... obj.GeneralCategory = dc.GeneralCategory; obj.TimeUnit = dc.TimeUnit; obj.TimeSupport = dc.TimeSupport; obj.ConceptKeyword = dc.ConceptKeyword; //BCC - 15-Oct-2015 - Suppress display of IsRegular //obj.IsRegular = dc.IsRegular; obj.VariableUnits = dc.VariableUnits; obj.Organization = dict.FirstOrDefault(x => x.Key == dc.ServCode).Value; //BCC - 07-Sep-2016 - Add additional fields for use with GetSeriesCatalogForBox3... obj.QCLID = dc.QCLID; obj.QCLDesc = dc.QCLDesc; obj.SourceId = dc.SourceId; obj.SourceOrg = dc.SourceOrg; obj.MethodId = dc.MethodId; obj.MethodDesc = dc.MethodDesc; return(obj); }
/// <summary> /// Read the list of series from the XML that is returned by HIS Central /// </summary> /// <param name="reader">the xml reader</param> /// <returns>the list of intermediate 'SeriesDataCart' objects</returns> private BusinessObjects.Models.SeriesDataCartModel.SeriesDataCart ReadSeriesFromHISCentral(XmlReader reader) { var series = new BusinessObjects.Models.SeriesDataCartModel.SeriesDataCart(); while (reader.Read()) { var nodeName = reader.Name.ToLower(); if (reader.NodeType == XmlNodeType.Element) { if (XmlContext.AdvanceReaderPastEmptyElement(reader)) { //Empty element - advance and continue... continue; } switch (nodeName) { case "servcode": reader.Read(); series.ServCode = reader.Value; break; case "servurl": reader.Read(); series.ServURL = reader.Value; break; case "location": reader.Read(); series.SiteCode = reader.Value; break; case "varcode": reader.Read(); series.VariableCode = reader.Value; break; case "varname": reader.Read(); series.VariableName = reader.Value; break; case "begindate": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) series.BeginDate = Convert.ToDateTime(reader.Value, _invariantCulture); else return null; break; case "enddate": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) series.EndDate = Convert.ToDateTime(reader.Value, _invariantCulture); else return null; break; case "valuecount": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) series.ValueCount = Convert.ToInt32(reader.Value); else return null; break; case "sitename": reader.Read(); series.SiteName = reader.Value; break; case "latitude": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) series.Latitude = Convert.ToDouble(reader.Value, CultureInfo.InvariantCulture); else return null; break; case "longitude": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) series.Longitude = Convert.ToDouble(reader.Value, CultureInfo.InvariantCulture); else return null; break; case "datatype": reader.Read(); series.DataType = reader.Value; break; case "valuetype": reader.Read(); series.ValueType = reader.Value; break; case "samplemedium": reader.Read(); series.SampleMedium = reader.Value; break; case "timeunits": reader.Read(); series.TimeUnit = reader.Value; break; case "conceptkeyword": reader.Read(); series.ConceptKeyword = reader.Value; break; case "gencategory": reader.Read(); series.GeneralCategory = reader.Value; break; case "timesupport": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) series.TimeSupport = Convert.ToDouble(reader.Value, CultureInfo.InvariantCulture); break; case "isregular": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) series.IsRegular = Convert.ToBoolean(reader.Value); break; case "variableunitsabbrev": reader.Read(); series.VariableUnits = reader.Value; break; //BCC - 07-Sep-2016 - Added additional reads for use with GetSeriesCatalogForBox3... case "qclid": reader.Read(); series.QCLID = reader.Value; break; case "qcldesc": reader.Read(); series.QCLDesc = reader.Value; break; case "sourceorg": reader.Read(); series.SourceOrg = reader.Value; break; case "sourceid": reader.Read(); series.SourceId = reader.Value; break; case "methodid": reader.Read(); series.MethodId = reader.Value; break; case "methoddesc": reader.Read(); series.MethodDesc = reader.Value; break; } } else if (reader.NodeType == XmlNodeType.EndElement && (nodeName == "seriesrecord" || nodeName == "seriesrecordfull")) { return series; } } return null; }
/// <summary> /// Read the list of series from the XML that is returned by HIS Central /// </summary> /// <param name="reader">the xml reader</param> /// <returns>the list of intermediate 'SeriesDataCart' objects</returns> private BusinessObjects.Models.SeriesDataCartModel.SeriesDataCart ReadSeriesFromHISCentral(XmlReader reader) { var series = new BusinessObjects.Models.SeriesDataCartModel.SeriesDataCart(); while (reader.Read()) { var nodeName = reader.Name.ToLower(); if (reader.NodeType == XmlNodeType.Element) { if (XmlContext.AdvanceReaderPastEmptyElement(reader)) { //Empty element - advance and continue... continue; } switch (nodeName) { case "servcode": reader.Read(); series.ServCode = reader.Value; break; case "servurl": reader.Read(); series.ServURL = reader.Value; break; case "location": reader.Read(); series.SiteCode = reader.Value; break; case "varcode": reader.Read(); series.VariableCode = reader.Value; break; case "varname": reader.Read(); series.VariableName = reader.Value; break; case "begindate": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) { series.BeginDate = Convert.ToDateTime(reader.Value, _invariantCulture); } else { return(null); } break; case "enddate": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) { series.EndDate = Convert.ToDateTime(reader.Value, _invariantCulture); } else { return(null); } break; case "valuecount": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) { series.ValueCount = Convert.ToInt32(reader.Value); } else { return(null); } break; case "sitename": reader.Read(); series.SiteName = reader.Value; break; case "latitude": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) { series.Latitude = Convert.ToDouble(reader.Value, CultureInfo.InvariantCulture); } else { return(null); } break; case "longitude": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) { series.Longitude = Convert.ToDouble(reader.Value, CultureInfo.InvariantCulture); } else { return(null); } break; case "datatype": reader.Read(); series.DataType = reader.Value; break; case "valuetype": reader.Read(); series.ValueType = reader.Value; break; case "samplemedium": reader.Read(); series.SampleMedium = reader.Value; break; case "timeunits": reader.Read(); series.TimeUnit = reader.Value; break; case "conceptkeyword": reader.Read(); series.ConceptKeyword = reader.Value; break; case "gencategory": reader.Read(); series.GeneralCategory = reader.Value; break; case "timesupport": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) { series.TimeSupport = Convert.ToDouble(reader.Value, CultureInfo.InvariantCulture); } break; case "isregular": reader.Read(); if (!String.IsNullOrWhiteSpace(reader.Value)) { series.IsRegular = Convert.ToBoolean(reader.Value); } break; case "variableunitsabbrev": reader.Read(); series.VariableUnits = reader.Value; break; //BCC - 07-Sep-2016 - Added additional reads for use with GetSeriesCatalogForBox3... case "qclid": reader.Read(); series.QCLID = reader.Value; break; case "qcldesc": reader.Read(); series.QCLDesc = reader.Value; break; case "sourceorg": reader.Read(); series.SourceOrg = reader.Value; break; case "sourceid": reader.Read(); series.SourceId = reader.Value; break; case "methodid": reader.Read(); series.MethodId = reader.Value; break; case "methoddesc": reader.Read(); series.MethodDesc = reader.Value; break; } } else if (reader.NodeType == XmlNodeType.EndElement && (nodeName == "seriesrecord" || nodeName == "seriesrecordfull")) { return(series); } } return(null); }