Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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();
            }
        }
Ejemplo n.º 4
0
        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;
            }
        }