コード例 #1
0
        public void GetData(object obj)
        {
            GanalyticsHelper objGaHelper = new GanalyticsHelper();
            Guid             user        = Guid.Parse(obj.ToString());

            GoogleAnalyticsAccountRepository gAccRepo = new GoogleAnalyticsAccountRepository();
            ArrayList aslt = gAccRepo.getGoogelAnalyticsAccountsOfUser(user);


            foreach (var item in aslt)
            {
                Array temp = (Array)item;
                objGaHelper.getCountryAnalyticsApi(temp.GetValue(0).ToString(), user);
                objGaHelper.getYearWiseAnalyticsApi(temp.GetValue(0).ToString(), user);
            }
        }
コード例 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            oAuthTokenGa obj     = new oAuthTokenGa();
            Accounts     objAcc  = new Accounts();
            Analytics    objAlyt = new Analytics();
            User         user    = (User)Session["LoggedUser"];

            if (!IsPostBack)
            {
                if (Session["login"] == null)
                {
                    if (user == null)
                    {
                        Response.Redirect("Default.aspx");
                    }
                }

                try
                {
                    string strRefresh = obj.GetRefreshToken(Request.QueryString["code"].ToString());
                    if (!strRefresh.StartsWith("["))
                    {
                        strRefresh = "[" + strRefresh + "]";
                    }
                    JArray objArray = JArray.Parse(strRefresh);
                    GoogleAnalyticsAccount           objGaAcc     = new GoogleAnalyticsAccount();
                    GoogleAnalyticsAccountRepository objGaAccRepo = new GoogleAnalyticsAccountRepository();
                    GanalyticsHelper         objGaHelper          = new GanalyticsHelper();
                    SocialProfilesRepository socioprofilerepo     = new SocialProfilesRepository();
                    SocialProfile            socioprofile         = new SocialProfile();
                    foreach (var item in objArray)
                    {
                        DataSet dsAccount = objAcc.getGaAccounts(item["access_token"].ToString());
                        objGaAcc.RefreshToken  = item["refresh_token"].ToString();
                        objGaAcc.AccessToken   = item["access_token"].ToString();
                        objGaAcc.EmailId       = dsAccount.Tables["title"].Rows[0]["title_Text"].ToString();
                        objGaAcc.EntryDate     = DateTime.Now;
                        objGaAcc.GaAccountId   = dsAccount.Tables["property"].Rows[0]["value"].ToString();
                        objGaAcc.GaAccountName = dsAccount.Tables["property"].Rows[1]["value"].ToString();
                        objGaAcc.Id            = Guid.NewGuid();
                        objGaAcc.IsActive      = true;
                        objGaAcc.UserId        = user.Id;
                        DataSet dsProfile    = objAcc.getGaProfiles(item["access_token"].ToString(), objGaAcc.GaAccountId);
                        int     profileCount = dsProfile.Tables["property"].Select("name='ga:profileId'").Length;
                        string[,] names = new string[profileCount, 2];


                        int tempCount = 0;
                        foreach (DataRow dRow in dsProfile.Tables["property"].Rows)
                        {
                            //if (dRow["name"].Equals("ga:profileId") || dRow["name"].Equals("ga:profileName"))
                            {
                                if (dRow["name"].Equals("ga:profileId"))
                                {
                                    objGaAcc.GaProfileId = dRow["value"].ToString();
                                    names[tempCount, 0]  = dRow["value"].ToString();
                                }
                                if (dRow["name"].Equals("ga:profileName"))
                                {
                                    names[tempCount, 1]    = dRow["value"].ToString();
                                    objGaAcc.GaProfileName = dRow["value"].ToString();
                                }
                                if (tempCount >= profileCount)
                                {
                                    break;
                                }
                                if (names[tempCount, 0] != null && names[tempCount, 1] != null)
                                {
                                    tempCount++;
                                }
                            }
                        }

                        socioprofile.Id          = Guid.NewGuid();
                        socioprofile.ProfileDate = DateTime.Now;
                        socioprofile.ProfileId   = objGaAcc.GaAccountId;
                        socioprofile.ProfileType = "googleanalytics";
                        socioprofile.UserId      = user.Id;

                        if (!objGaAccRepo.checkGoogelAnalyticsUserExists(objGaAcc.GaAccountId, user.Id))
                        {
                            for (int i = 0; i < profileCount; i++)
                            {
                                objGaAcc.GaProfileId   = names[i, 0];
                                objGaAcc.GaProfileName = names[i, 1];
                                if (!objGaAccRepo.checkGoogelAnalyticsProfileExists(objGaAcc.GaAccountId, objGaAcc.GaProfileId, user.Id))
                                {
                                    objGaAccRepo.addGoogleAnalyticsUser(objGaAcc);
                                }
                                else
                                {
                                    objGaAccRepo.updateGoogelAnalyticsUser(objGaAcc);
                                }


                                objGaHelper.getCountryAnalyticsApi(objGaAcc.GaProfileId, user.Id);
                                objGaHelper.getYearWiseAnalyticsApi(objGaAcc.GaProfileId, user.Id);
                                objGaHelper.getMonthWiseAnalyticsApi(objGaAcc.GaProfileId, user.Id);
                                objGaHelper.getDayWiseAnalyticsApi(objGaAcc.GaProfileId, user.Id);
                            }

                            if (!socioprofilerepo.checkUserProfileExist(socioprofile))
                            {
                                socioprofilerepo.addNewProfileForUser(socioprofile);
                            }
                            else
                            {
                                socioprofilerepo.updateSocialProfile(socioprofile);
                            }
                        }
                        else
                        {
                            //objGaAccRepo.updateGoogelAnalyticsUser(objGaAcc);
                            for (int i = 0; i < names.Length; i++)
                            {
                                objGaAcc.GaProfileId   = names[i, 0];
                                objGaAcc.GaProfileName = names[i, 1];
                                if (!objGaAccRepo.checkGoogelAnalyticsProfileExists(objGaAcc.GaAccountId, objGaAcc.GaProfileId, user.Id))
                                {
                                    objGaAccRepo.addGoogleAnalyticsUser(objGaAcc);
                                }
                                else
                                {
                                    objGaAccRepo.updateGoogelAnalyticsUser(objGaAcc);
                                }
                            }
                            if (!socioprofilerepo.checkUserProfileExist(socioprofile))
                            {
                                socioprofilerepo.addNewProfileForUser(socioprofile);
                            }
                            else
                            {
                                socioprofilerepo.updateSocialProfile(socioprofile);
                            }
                        }
                        Response.Redirect("Home.aspx");
                    }
                }
                catch (Exception Err)
                {
                    logger.Error(Err.StackTrace);
                    try
                    {
                        Response.Redirect("/Home.aspx");
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.StackTrace);
                    }
                }
            }
        }