Esempio n. 1
0
        public GraphStats articleTraffic([FromBody] trafficInput input)
        {
            ArticleController use     = new ArticleController();
            user_traffic      traffic = new user_traffic();
            GraphStats        total   = new GraphStats()
            {
                dateTime = "", sessions = "", earned = 0
            };

            traffic.non_premium = 0;
            traffic.premium     = 0;

            get_admin_gid_Result res;
            DateTime             join;

            using (var data = db.get_joining_date(input.id))
            {
                join = data.FirstOrDefault <get_joining_date_Result>().date;
            }
            using (var data = db.get_admin_gid(input.site_url))
            {
                res = data.FirstOrDefault <get_admin_gid_Result>();
            }

            Authorization auth = new Authorization(res.Email);

            var result  = auth.service.Data.Ga.Get("ga:" + res.ga_id, use.convertDate(join), use.convertDate(System.DateTime.Now), input.session);
            var result1 = auth.service.Data.Ga.Get("ga:" + res.ga_id, use.convertDate(join), use.convertDate(System.DateTime.Now), input.session);

            result.Filters  = "ga:landingPagePath=@" + use.convertUrl(input.url, input.site_url) + ";ga:campaign=@" + input.uid + ";ga:medium=@referral";
            result1.Filters = "ga:landingPagePath=@" + use.convertUrl(input.url, input.site_url) + ";ga:campaign=@" + input.uid + ";ga:medium=@referral;ga:country=@Canada";
            try
            {
                var session_result  = result.Execute();
                var session_result1 = result1.Execute();
                int count           = (int)session_result.TotalResults;
                if (count != 0)
                {
                    IList <string> l = session_result.Rows[0];
                    traffic.non_premium = traffic.non_premium + long.Parse(l[0]);
                }
                traffic.non_premium = traffic.non_premium + 0;
                int count2 = (int)session_result1.TotalResults;
                if (count2 != 0)
                {
                    IList <string> lp = session_result1.Rows[0];
                    traffic.premium = traffic.premium + long.Parse(lp[0]);
                }
                traffic.premium = traffic.premium + 0;

                traffic.non_premium = traffic.non_premium - traffic.premium;

                total.earned   = total.earned + GetEarned(traffic.premium.ToString(), "premium") + GetEarned(traffic.non_premium.ToString(), "non-premium");
                total.sessions = (traffic.premium + traffic.non_premium).ToString();
            }catch (Exception e)
            {
            }
            return(total);
        }
Esempio n. 2
0
        public List <GraphStats> trafficGraph([FromBody] trafficInput input)
        {
            ArticleController    use = new ArticleController();
            get_admin_gid_Result res;
            List <GraphStats>    stats = new List <GraphStats>();

            using (var data = db.get_admin_gid(input.site_url))
            {
                res = data.FirstOrDefault <get_admin_gid_Result>();
            }
            Authorization auth    = new Authorization(res.Email);
            var           result  = auth.service.Data.Ga.Get(("ga:" + res.ga_id), use.convertDate(input.fromDate), use.convertDate(input.toDate), "ga:sessions");
            var           result1 = auth.service.Data.Ga.Get(("ga:" + res.ga_id), use.convertDate(input.fromDate), use.convertDate(input.toDate), "ga:sessions");

            if (input.extra == "month" || input.extra == "week")
            {
                result.Dimensions  = "ga:month,ga:day";
                result1.Dimensions = "ga:month,ga:day";
            }
            else if (input.extra == "year")
            {
                result.Dimensions  = "ga:year,ga:month";
                result1.Dimensions = "ga:year,ga:month";
            }

            result.Filters  = "ga:landingPagePath=@" + use.convertUrl(input.url, input.site_url) + ";ga:campaign=@" + input.uid + ";ga:medium=@referral";
            result1.Filters = "ga:landingPagePath=@" + use.convertUrl(input.url, input.site_url) + ";ga:campaign=@" + input.uid + ";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];
                        GraphStats temp2 = new GraphStats()
                        {
                            dateTime = item2[1] + "/" + item2[0], sessions = item2[2], earned = GetEarned(item2[2], "premium")
                        };
                        GraphStats temp = new GraphStats()
                        {
                            dateTime = item1[1] + "/" + item1[0], sessions = (Int32.Parse(item1[2]) - Int32.Parse(temp2.sessions)).ToString(), earned = GetEarned((Int32.Parse(item1[2]) - Int32.Parse(temp2.sessions)).ToString(), "non-premium")
                        };
                        stats.Add(new GraphStats()
                        {
                            dateTime = temp.dateTime, sessions = (Int32.Parse(temp.sessions) + Int32.Parse(temp2.sessions)).ToString(), earned = temp.earned + temp2.earned
                        });
                    }
                }
            }catch (Exception e)
            {
            }
            return(stats);
        }
        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);
        }
Esempio n. 4
0
        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);
        }