Exemple #1
0
        public IActionResult ReconnFacebookPages(long userId, long groupId, string accessToken)
        {
            int     invalidaccessToken = 0;
            dynamic profile            = Fbpages.GetFbPageData(accessToken);
            string  subscribed_apps    = Fbpages.subscribed_apps(accessToken, Convert.ToString(profile["id"]));

            try
            {
                string x = Convert.ToString(profile);
                _logger.LogError(x);
            }
            catch { }
            if (Convert.ToString(profile) == "Invalid Access Token")
            {
                invalidaccessToken++;
            }
            else
            {
                DatabaseRepository dbr = new DatabaseRepository(_logger, _env);
                Domain.Socioboard.Models.Facebookaccounts fbacc = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(Convert.ToString(profile["id"]), _redisCache, dbr);

                int isSaved = 0;
                if (fbacc != null)
                {
                    fbacc.IsActive           = true;
                    fbacc.UserId             = userId;
                    fbacc.Is90DayDataUpdated = false;
                    try
                    {
                        fbacc.Friends = (Convert.ToInt64(profile["fan_count"]));
                    }
                    catch (Exception)
                    {
                        fbacc.Friends = 0;
                    }
                    try
                    {
                        fbacc.CoverPic = (Convert.ToString(profile["cover"]["source"]));
                    }
                    catch (Exception)
                    {
                    }
                    fbacc.AccessToken = accessToken;
                    isSaved           = dbr.Update <Domain.Socioboard.Models.Facebookaccounts>(fbacc);
                    if (isSaved > 0)
                    {
                        return(Ok("Page Reconnected Successfully"));
                    }
                    else
                    {
                        return(Ok("some thing went wrong"));
                    }
                }
            }
            return(Ok("Page reconnect successfully"));
        }
        public string GetFacebookPageDetails(string ProfileId, string AccessToken)
        {
            dynamic pagedata = Fbpages.GetFbPageData(AccessToken);

            int    fancount = Convert.ToInt16(pagedata["fan_count"]);
            string pageNmae = Convert.ToString(pagedata["name"]);

            ///string facebookpageUrl = "https://graph.facebook.com/v2.5/" + ProfileId + "?access_token=" + AccessToken +"?fan_count";
            // string outputfacepageUrl = getFacebookResponse(facebookpageUrl);
            //JObject pageobj = JObject.Parse(outputfacepageUrl);
            return(Convert.ToString(pagedata["fan_count"]));// outputfacepageUrl;
        }
        public IActionResult AddFacebookPages(long userId, long groupId)
        {
            string data = Request.Form["profileaccesstoken"];

            string[] accesstoken        = data.Split(',');
            int      addedPageCount     = 0;
            int      invalidaccessToken = 0;

            foreach (var item in accesstoken)
            {
                dynamic profile = Fbpages.GetFbPageData(item);
                FacebookApiHelper.MakeSubscribedWithApp(item);
                try
                {
                    string x = Convert.ToString(profile);
                    _logger.LogError(x);
                }
                catch { }
                if (Convert.ToString(profile) == "Invalid Access Token")
                {
                    invalidaccessToken++;
                    //  return Ok("Invalid Access Token");
                }
                else
                {
                    DatabaseRepository dbr = new DatabaseRepository(_logger, _env);
                    Domain.Socioboard.Models.Facebookaccounts fbacc = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(Convert.ToString(profile["id"]), _redisCache, dbr);
                    if (fbacc != null && fbacc.IsActive == true)
                    {
                        addedPageCount++;
                        //return Ok("Facebook Page added by other user.");
                    }
                    else
                    {
                        Groups ngrp = dbr.Find <Domain.Socioboard.Models.Groups>(t => t.adminId == userId && t.id == groupId).FirstOrDefault();
                        if (ngrp == null)
                        {
                            return(Ok("Wrong Group Id"));
                        }
                        // Adding Facebook Page
                        int res = Api.Socioboard.Repositories.FacebookRepository.AddFacebookPage(profile, dbr, userId, ngrp.id, Domain.Socioboard.Enum.FbProfileType.FacebookPage, item, _redisCache, _appSettings, _logger);
                    }
                }
            }
            if (addedPageCount == accesstoken.Length)
            {
                return(Ok("Facebook Pages added by other user."));
            }
            else if (addedPageCount == accesstoken.Length)
            {
                return(Ok("Facebook Pages having Invalid Access Token."));
            }
            else if (invalidaccessToken > 0 && addedPageCount > 0)
            {
                return(Ok("Pages added successfully and " + addedPageCount + " pages added by other user or " + invalidaccessToken + " pages having invalid access token issue"));
            }
            else if (invalidaccessToken > 0)
            {
                return(Ok("Pages added successfully" + invalidaccessToken + " pages having invalid access token issue"));
            }
            else if (addedPageCount > 0)
            {
                return(Ok("Pages added successfully and " + addedPageCount + " pages added by other user"));
            }
            return(Ok("Page added successfully"));
        }