public List <Page_Campaign_Session> PostP_C_Session([FromBody] Analytics_Input analytics_Input) { List <Page_Campaign_Session> list = new List <Page_Campaign_Session>(); Authorization auth = new Authorization("*****@*****.**"); var result = auth.service.Data.Ga.Get(analytics_Input.ga_id, analytics_Input.from_date, analytics_Input.to_date, analytics_Input.session); result.Dimensions = analytics_Input.campaign + "," + analytics_Input.landing_page_path; if ((analytics_Input.extra != null)) { if (!analytics_Input.extra.Equals("")) { result.Filters = analytics_Input.extra; } } try { var C_session_result = result.Execute(); int count = (int)C_session_result.TotalResults; for (int i = 0; i < count; i++) { IList <string> l = C_session_result.Rows[i]; Page_Campaign_Session PCS = new Page_Campaign_Session(); PCS.Campaign = l[0]; PCS.Landing_Page_Path = l[1]; PCS.Session = l[2]; list.Add(PCS); } }catch (Exception e) { } return(list); }
public string PostSession([FromBody] Analytics_Input analytics_Input) { Authorization auth = new Authorization("*****@*****.**"); var result = auth.service.Data.Ga.Get(analytics_Input.ga_id, analytics_Input.from_date, analytics_Input.to_date, analytics_Input.session); if ((analytics_Input.extra != null)) { if (!analytics_Input.extra.Equals("")) { result.Filters = analytics_Input.extra; } } try { var session_result = result.Execute(); int count = (int)session_result.TotalResults; if (count != 0) { IList <string> l = session_result.Rows[0]; return(l[0]); } } catch (Exception e) { } return("" + 0); }
public GraphStats PostAdminSession([FromBody] Analytics_Input analytics_Input) { Authorization auth = new Authorization(analytics_Input.extra); GraphStats stats = new GraphStats() { dateTime = "", sessions = "0", earned = 0 }; var result = auth.service.Data.Ga.Get("ga:" + analytics_Input.ga_id, analytics_Input.from_date, analytics_Input.to_date, analytics_Input.session); var result1 = auth.service.Data.Ga.Get("ga:" + analytics_Input.ga_id, analytics_Input.from_date, analytics_Input.to_date, analytics_Input.session); result.Filters = "ga:medium=@referral"; result1.Filters = "ga:medium=@referral;ga:country=@Canada"; try { var session_result1 = result1.Execute(); var session_result = result.Execute(); int count1 = (int)session_result1.TotalResults; int count = (int)session_result.TotalResults; if (count != 0) { var temp = session_result.Rows[0]; long total = long.Parse(temp[0]); long premium = 0; if (count1 != 0) { var temp2 = session_result1.Rows[0]; premium = long.Parse(temp2[0]); } long nonPremium = total - premium; Double nonearned = ((Decimal.ToDouble(new RateController().GetRate("non-premium").FirstOrDefault().rate) * nonPremium) / 1000); Double preearned = ((Decimal.ToDouble(new RateController().GetRate("premium").FirstOrDefault().rate) * premium) / 1000); stats.earned = nonearned + preearned; stats.sessions = (total).ToString(); } } catch (Exception e) { } return(stats); }
public List <AdminStats> AdminStatistics([FromBody] Analytics_Input analytics_Input) { //List < List < UserStats >> total_stats = new List<List<UserStats>>(); List <AdminStats> admin_stats = new List <AdminStats>(); GraphController use = new GraphController(); Authorization auth = new Authorization(analytics_Input.extra); var result = auth.service.Data.Ga.Get("ga:" + analytics_Input.ga_id, analytics_Input.from_date, analytics_Input.to_date, analytics_Input.session + ",ga:newUsers"); result.Dimensions = "ga:date, " + analytics_Input.country; result.Filters = "ga:medium=@referral"; try { var response = result.Execute(); if (response.TotalResults != 0) { foreach (var row in response.Rows) { AdminStats temp = new AdminStats() { date = new DateTime(), earning = 0.0, day = "", premium = 0, non_premium = 0, total_traffic = 0, total_earning = 0, country_stats = new List <CountryStats>() }; // UserStats temp = user_stats.Last<UserStats>(); temp = admin_stats.FirstOrDefault(x => x.day == row[0]); if (temp == null) { temp = new AdminStats() { date = new DateTime(), earning = 0.0, day = "", premium = 0, non_premium = 0, total_traffic = 0, total_earning = 0, country_stats = new List <CountryStats>() }; } if (!(temp.day.Equals(row[0]))) { AdminStats stats = new AdminStats() { date = new DateTime(), earning = 0.0, day = "", premium = 0, non_premium = 0, total_traffic = 0, total_earning = 0, country_stats = new List <CountryStats>() }; stats.day = row[0]; stats.date = dateConverter(row[0]); if (row[1].Equals("Canada")) { stats.premium += long.Parse(row[2]); stats.earning += use.GetEarned(row[2], "premium"); stats.total_traffic += long.Parse(row[2]); } else { stats.non_premium += long.Parse(row[2]); stats.earning += use.GetEarned(row[2], "non-premium"); stats.total_traffic += long.Parse(row[2]); } CountryStats cFind = new CountryStats() { country = row[1], sessions = "0", newSessions = "0" }; cFind.sessions = (Int64.Parse(cFind.sessions) + Int64.Parse(row[2])).ToString(); cFind.newSessions = (Int64.Parse(cFind.newSessions) + Int64.Parse(row[3])).ToString(); stats.country_stats.Add(cFind); admin_stats.Add(stats); } else { admin_stats.Remove(temp); CountryStats cTemp = new CountryStats(); if (row[1].Equals("Canada")) { temp.premium += long.Parse(row[2]); temp.earning += use.GetEarned(row[2], "premium"); temp.total_traffic += long.Parse(row[2]); } else { temp.non_premium += long.Parse(row[2]); temp.earning += use.GetEarned(row[2], "non-premium"); temp.total_traffic += long.Parse(row[2]); } CountryStats cFind = new CountryStats() { country = row[1], sessions = "0", newSessions = "0" }; cFind.sessions = (Int64.Parse(row[2])).ToString(); cFind.newSessions = (Int64.Parse(row[3])).ToString(); temp.country_stats.Add(cFind); admin_stats.Add(temp); } } } } catch (Exception e) { } return(admin_stats); }
public Map getMapData([FromBody] Analytics_Input input) { Map res = new Map() { max = 0, min = 0, avg = 0, mapData = new List <MapData>() }; Dictionary <string, countrieees> countries = CountriesList(); ArticleController a = new ArticleController(); var to = System.DateTime.Now; var from = System.DateTime.Now; if (to.Month == 1) { from = new DateTime(to.Year - 1, 12, to.Day); } else { from = new DateTime(to.Year, to.Month - 1, to.Day); } //List < List < UserStats >> total_stats = new List<List<UserStats>>(); List <MapData> map = new List <MapData>(); Authorization auth = new Authorization(input.extra); var result = auth.service.Data.Ga.Get("ga:" + input.ga_id, a.convertDate(from), a.convertDate(to), input.session); result.Dimensions = "ga:countryIsoCode"; try { var session_result = result.Execute(); int count = (int)session_result.TotalResults; int total = 0; if (count != 0) { foreach (var item in session_result.Rows) { total++; if (countries.ContainsKey(item[0])) { map.Add(new MapData() { id = countries[item[0]].id, value = item[1] }); } if (res.max == 0) { res.min = Int32.Parse(item[1]); } if (res.max == 0) { res.max = Int32.Parse(item[1]); } if (res.avg == 0) { res.max = Int32.Parse(item[1]); } if (Int32.Parse(item[1]) <= res.min) { res.min = Int32.Parse(item[1]); } if (Int32.Parse(item[1]) >= res.max) { res.max = Int32.Parse(item[1]); } res.avg = res.avg + Int32.Parse(item[1]); } } res.avg = total == 0 ? res.avg : res.avg / total; res.mapData = map; } catch (Exception e) { } return(res); }
public AdminGraph statAdminGraph([FromBody] Analytics_Input input) { ArticleController a = new ArticleController(); List <GraphStats> stats = new List <GraphStats>(); AdminGraph data = new AdminGraph() { amount = 0.0, graph = stats }; var to = System.DateTime.Now; var from = System.DateTime.Now; if (to.Month == 1) { from = new DateTime(to.Year - 1, 12, to.Day); } else { from = new DateTime(to.Year, to.Month - 1, to.Day); } //List < List < UserStats >> total_stats = new List<List<UserStats>>(); List <GraphStats> list = new List <GraphStats>(); Authorization auth = new Authorization(input.extra); var result = auth.service.Data.Ga.Get("ga:" + input.ga_id, a.convertDate(from), a.convertDate(to), input.session); var result1 = auth.service.Data.Ga.Get("ga:" + input.ga_id, a.convertDate(from), a.convertDate(to), input.session); result.Dimensions = "ga:year,ga:month,ga:day"; result1.Dimensions = "ga:year,ga:month,ga:day"; result.Filters = "ga:medium=@referral"; result1.Filters = "ga:medium=@referral;ga:country=@Canada"; try { var final = result.Execute(); var final1 = result1.Execute(); int count = (int)final.TotalResults; int count1 = (int)final1.TotalResults; if (count != 0 && (count == count1)) { for (int i = 0; i < count; i++) { var item1 = final.Rows[i]; var item2 = final1.Rows[i]; double pEarned = GetEarned(item2[3], "premium"); double nEarned = GetEarned((Int32.Parse(item1[3]) - Int32.Parse(item2[3])).ToString(), "non-premium"); data.amount += pEarned + nEarned; GraphStats temp = new GraphStats() { dateTime = item2[2] + "/" + item1[1] + "/" + item1[0], sessions = (Int32.Parse(item1[3])).ToString(), earned = GetEarned((Int32.Parse(item1[3]) - Int32.Parse(item2[3])).ToString(), "non-premium") + GetEarned(item2[3], "premium") }; stats.Add(new GraphStats() { dateTime = temp.dateTime, sessions = temp.sessions, earned = temp.earned }); } data.graph = stats; } }catch (Exception e) { } return(data); }