/// <summary> /// This method converts a GtResult object into a xml format. /// </summary> /// <param name="result"> Object to serialize.</param> /// <returns>An string with the object serialized.</returns> public string Serialize(GtResult result) { #region Preconditions if (result == null) { throw new ArgumentNullException("result"); } #endregion string xml = null; // Create a new XmlSerializer instance with the type of the result class XmlSerializer serializer = new XmlSerializer(result.GetType()); // Create a new streamWriter to write the serialized object to a file StringWriter stringWriter = new StringWriter(); //Write the object serialized in the stringWriter file serializer.Serialize(stringWriter, result); xml = stringWriter.ToString(); stringWriter.Close(); return(xml); }
public void getAllResults(GtAccount account) { List <GtQueryDetails> detailsList = new List <GtQueryDetails>(); detailsList = account.Queries; GtResultXmlSerializer serialize = new GtResultXmlSerializer(); String serializado = ""; List <GtResult> listResults = new List <GtResult>(); foreach (GtQueryDetails details in detailsList) { String id = details.TableId.ToString(); log.Info("Requesting:" + details.Tittle); RetrievedData = GetStatistics(id, details); Result = getResult(RetrievedData, details); listResults.Add(Result); } if (!Directory.Exists(@ConfigurationManager.AppSettings["ResultPath"])) { Directory.CreateDirectory(@ConfigurationManager.AppSettings["ResultPath"]); } serializado = serialize.SerializeUtf8(listResults); StreamWriter file = new StreamWriter(@ConfigurationManager.AppSettings["ResultPath"] + "result.xml"); file.Write(serializado); file.Close(); }
public void getAllSingleResults(GtAccount account) { List <GtQueryDetails> detailsList = new List <GtQueryDetails>(); detailsList = account.Queries; GtResultXmlSerializer serialize = new GtResultXmlSerializer(); String serializado = ""; string path = @ConfigurationManager.AppSettings["ResultPath"]; string filePath; if (!Directory.Exists(@ConfigurationManager.AppSettings["ResultPath"])) { Directory.CreateDirectory(@ConfigurationManager.AppSettings["ResultPath"]); } for (int i = 0; i < detailsList.Count(); i++) { String id = detailsList[i].TableId.ToString(); log.Info("Requesting:" + detailsList[i].Tittle); RetrievedData = GetStatistics(id, detailsList[i]); Result = getResult(RetrievedData, detailsList[i]); serializado = serialize.SerializeUtf8(Result); filePath = "result_" + detailsList[i].Name + ".xml"; StreamWriter file = new StreamWriter(path + filePath); file.Write(serializado); file.Close(); } }
public GtResult getResult(DataFeed feed, GtQueryDetails details) { string dimensionPrefix; string dimensionSufix; try { IList <AtomEntry> feedCollection = feed.Entries.ToList <AtomEntry>(); GtResult result = new GtResult(); //Uncomment this line to display also the name of the profileId requested. //result.AccountName = feed.DataSource.TableName; result.AccountTittle = details.Tittle; result.Metrics = new List <MetricsDTO>(); foreach (DataEntry entri in feedCollection) { if (entri.Dimensions.Count != 0) { foreach (Metric metric in entri.Metrics) { List <String> dimensionValues = new List <String>(); for (int i = 0; i < entri.Dimensions.Count; i++) { dimensionPrefix = ""; dimensionSufix = ""; if (i == 0) { dimensionPrefix = ConfigurationManager.AppSettings["dimensionPrefix"]; } if (i == entri.Dimensions.Count - 1) { dimensionSufix = ConfigurationManager.AppSettings["dimensionSufix"]; } dimensionValues.Add(dimensionPrefix + entri.Dimensions[i].Value + dimensionSufix); } MetricsDTO metricDTO = new MetricsDTO(); metricDTO.DimensionsValues = dimensionValues; metricDTO.MetricValue = Math.Round(metric.FloatValue, 2); metricDTO.MetricName = metric.Name.Replace("ga:", "") + ConfigurationManager.AppSettings["metricSufix"]; result.Metrics.Add(metricDTO); } } else { foreach (Metric metric in entri.Metrics) { MetricsDTO metricDTO = new MetricsDTO(); metricDTO.MetricValue = Math.Round(metric.FloatValue, 2); metricDTO.MetricName = metric.Name.Replace("ga:", ""); result.Metrics.Add(metricDTO); } } } return(result); } catch (GDataRequestException ex) { throw ex; } }