public Hashtable get(int idSite, PiwikPeriod period, PiwikDate date, string segment = null) { Parameter[] parameters = { new SimpleParameter("idSite", idSite), new PeriodParameter("period", period), new PiwikDateParameter("date", date), new SimpleParameter("segment", segment), }; return this.sendRequest<Hashtable>("get", new List<Parameter>(parameters)); }
public Object GetUniqueVisitors(int idSite, PiwikPeriod period, PiwikDate date, string segment = null) { Parameter[] parameters = { new SimpleParameter("idSite", idSite), new PeriodParameter("period", period), new PiwikDateParameter("date", date), new SimpleParameter("segment", segment), }; if (PiwikPeriod.isMultipleDates(period, date)) { return sendRequest<Hashtable>("getUniqueVisitors", new List<Parameter>(parameters)); } return sendRequest<ArrayList>("getUniqueVisitors", new List<Parameter>(parameters)); }
public Object GetNumberOfVisitsByVisitCount(int idSite, PiwikPeriod period, PiwikDate date, string segment = null) { Parameter[] parameters = { new SimpleParameter("idSite", idSite), new PeriodParameter("period", period), new PiwikDateParameter("date", date), new SimpleParameter("segment", segment), }; if (PiwikPeriod.isMultipleDates(period, date)) { return this.sendRequest<Hashtable>("getNumberOfVisitsByVisitCount ", new List<Parameter>(parameters)); } else { return this.sendRequest<ArrayList>("getNumberOfVisitsByVisitCount ", new List<Parameter>(parameters)); } }
public Object getWebsites(int idSite, PiwikPeriod period, PiwikDate date, string segment = null, Boolean expanded = false) { Parameter[] parameters = { new SimpleParameter("idSite", idSite), new PeriodParameter("period", period), new PiwikDateParameter("date", date), new SimpleParameter("segment", segment), new SimpleParameter("expanded", expanded), }; if (PiwikPeriod.isMultipleDates(period, date)) { return this.sendRequest<Hashtable>("getWebsites", new List<Parameter>(parameters)); } else { return this.sendRequest<ArrayList>("getWebsites", new List<Parameter>(parameters)); } }
public Object getRefererType(int idSite, PiwikPeriod period, PiwikDate date, string segment = null, RefererType refererType = null) { Parameter[] parameters = { new SimpleParameter("idSite", idSite), new PeriodParameter("period", period), new PiwikDateParameter("date", date), new SimpleParameter("segment", segment), new RefererTypeParameter("typeReferer", refererType), }; if (PiwikPeriod.isMultipleDates(period, date)) { return this.sendRequest<Hashtable>("getRefererType", new List<Parameter>(parameters)); } else { return this.sendRequest<ArrayList>("getRefererType", new List<Parameter>(parameters)); } }
public Object getMobileOS(int idSite, PiwikPeriod period, PiwikDate date) { List<String> mobileOS = new List<String>(); mobileOS.Add("IPH"); // iPhone mobileOS.Add("AND"); // Android mobileOS.Add("IPD"); // iPod mobileOS.Add("IPA"); // iPad mobileOS.Add("BLB"); // Blackberry mobileOS.Add("WP7"); // Windows Phone 7 mobileOS.Add("W65"); // Windows Mobile 6.5 mobileOS.Add("W61"); // Windows Mobile 6.1 mobileOS.Add("WOS"); // Palm webOS mobileOS.Add("POS"); // Palm OS mobileOS.Add("QNX"); // QNX & RIM Tablet OS mobileOS.Add("SYM"); // Symbian OS String segment = String.Empty; foreach (String OS in mobileOS) { segment += "operatingSystem==" + OS + ","; } return this.getOS(idSite, period, date, segment); }
/// <summary> /// Update an existing scheduled report /// </summary> /// <param name="idReport">The ID of the report to update</param> /// <param name="idSite">ID of the piwik site</param> /// <param name="description">Description of the report</param> /// <param name="period">A piwik period</param> /// <param name="hour">Defines the hour at which the report will be sent</param> /// <param name="reportType">The report type</param> /// <param name="reportFormat">The report format</param> /// <param name="includedStatistics">The included statistics</param> /// <param name="emailMe">true if the report should be sent to the own user</param> /// <param name="additionalEmails">A string array of additional email recipients</param> /// <returns>True if update was successful</returns> public Boolean updateReport( int idReport, int idSite, string description, PiwikPeriod period, int hour, ReportType reportType, ReportFormat reportFormat, List<Statistic> includedStatistics, Boolean emailMe, string[] additionalEmails = null ) { Dictionary<string, Object> additionalParameters = new Dictionary<string, Object>() { { "emailMe", emailMe.ToString().ToLower() }, { "displayFormat", 1 }, { "additionalEmails", additionalEmails } }; Parameter[] p = { new SimpleParameter("idReport", idReport), new SimpleParameter("idSite", idSite), new SimpleParameter("description", description), new PeriodParameter("period", period), new SimpleParameter("hour", hour), new SimpleParameter("reportType", reportType.ToString()), new SimpleParameter("reportFormat", reportFormat.ToString()), new ArrayParameter("reports", includedStatistics.Select(i => i.ToString()).ToArray(), false), new DictionaryParameter("parameters", additionalParameters) }; return this.sendRequest<Boolean>("updateReport", new List<Parameter>(p)); }
public static Boolean isMultipleDates(PiwikPeriod period, PiwikDate date) { return !String.Equals(PiwikPeriod.RANGE.getPeriod(), period.getPeriod()) && (date is AbsoluteRangeDate || date is RelativeRangeDate); }
public PeriodParameter(string name, PiwikPeriod period) : base(name) { this.period = period; }
public static Boolean isMultipleDates(PiwikPeriod period, PiwikDate date) { return (!String.Equals(PiwikPeriod.RANGE.getPeriod(), period.getPeriod()) && (date is AbsoluteRangeDate || date is RelativeRangeDate)); }