public IActionResult GetYTChannelsSB(long groupId)
        {
            var lstYoutubeChannel = new List <YoutubeChannel>();

            try
            {
                var dbr            = new DatabaseRepository(_logger, _appEnv);
                var lstGrpProfiles = GroupProfilesRepository.getGroupProfiles(groupId, _redisCache, dbr);

                foreach (var item in lstGrpProfiles.Where(t => t.profileType == SocialProfileType.YouTube))
                {
                    var YTChnl = GplusRepository.getYTChannel(item.profileId, _redisCache, dbr);
                    if (YTChnl != null)
                    {
                        lstYoutubeChannel.Add(YTChnl);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            return(Ok(lstYoutubeChannel));
        }
        public string UpdateBoard(Domain.Socioboard.Models.MongoBoards boards)
        {
            try
            {
                DatabaseRepository dbr = new DatabaseRepository();
                if (!string.IsNullOrEmpty(boards.twitterHashTag))
                {
                    TwitterRepository twtrepo = new TwitterRepository();
                    boards.twitterHashTag = twtrepo.AddTwitterHashTag(boards.twitterHashTag, boards.id.ToString());
                }
                if (!string.IsNullOrEmpty(boards.instagramHashTag))
                {
                    InstagramRepository instRepo = new InstagramRepository();
                    boards.instagramHashTag = instRepo.AddInstagramHashTag(boards.instagramHashTag, boards.id.ToString());
                }
                if (!string.IsNullOrEmpty(boards.gplusHashTag))
                {
                    GplusRepository gplusRepo = new GplusRepository();
                    boards.gplusHashTag = gplusRepo.AddGplusHashTag(boards.gplusHashTag, boards.id.ToString());
                }

                dbr.Update <Domain.Socioboard.Models.MongoBoards>(boards);
                return("update");
            }
            catch (Exception)
            {
                return("Issue in board updation");
            }
        }
        public IActionResult GetGplusProfilesOnly(long groupId)
        {
            var lstGplusAcc = new List <Googleplusaccounts>();

            try
            {
                var dbr = new DatabaseRepository(_logger, _appEnv);

                var lstGrpProfiles = GroupProfilesRepository.GetAllGroupProfiles(groupId, _redisCache, dbr)
                                     .Where(t => t.profileType == SocialProfileType.GPlus);

                lstGplusAcc.AddRange(
                    from item in lstGrpProfiles
                    select GplusRepository.getGPlusAccount(item.profileId, _redisCache, dbr)
                    into gPlusAcc
                    let userdata = dbr.Single <User>(t => t.Id == gPlusAcc.UserId)
                                   where gPlusAcc != null && userdata.EmailId != gPlusAcc.EmailId
                                   select gPlusAcc);

                return(Ok(lstGplusAcc));
            }
            catch (Exception)
            {
                return(Ok(lstGplusAcc));
            }
        }
        public IActionResult GetAllGAProfiles(long groupId)
        {
            var lstGoogleAnalyticsAccount = new List <GoogleAnalyticsAccount>();

            try
            {
                var dbr            = new DatabaseRepository(_logger, _appEnv);
                var lstGrpProfiles = GroupProfilesRepository.GetAllGroupProfiles(groupId, _redisCache, dbr);

                foreach (var item in lstGrpProfiles.Where(t => t.profileType == SocialProfileType.GoogleAnalytics))
                {
                    var gAAcc = GplusRepository.getGAAccount(item.profileId, _redisCache, dbr);
                    if (gAAcc != null)
                    {
                        lstGoogleAnalyticsAccount.Add(gAAcc);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            return(Ok(lstGoogleAnalyticsAccount));
        }
        public IActionResult GetPrimaryGoogleAcc(long userId, long groupId)
        {
            var userGplusAcc = new Googleplusaccounts();

            try
            {
                var dbr            = new DatabaseRepository(_logger, _appEnv);
                var lstGrpProfiles = GroupProfilesRepository.GetAllGroupProfiles(groupId, _redisCache, dbr);

                lstGrpProfiles = lstGrpProfiles.Where(t => t.profileType == SocialProfileType.GPlus).ToList();
                foreach (var item in lstGrpProfiles)
                {
                    var gPlusAcc = GplusRepository.getGPlusAccount(item.profileId, _redisCache, dbr);
                    var userdata = dbr.Single <User>(t => t.Id == gPlusAcc.UserId);
                    if (gPlusAcc != null && userdata.EmailId == gPlusAcc.EmailId)
                    {
                        userGplusAcc = gPlusAcc;
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            return(Ok(userGplusAcc));
        }
        public IActionResult AddYoutubeChannels(long groupId, long userId)
        {
            string data = Request.Form["profileaccesstoken"];
            var    dbr  = new DatabaseRepository(_logger, _appEnv);

            string[] profiledata = null;

            profiledata = data.Split(',');
            var savedStatus = "";

            foreach (var item in profiledata)
            {
                savedStatus =
                    GplusRepository.AddYoutubeChannels(item, userId, groupId, _redisCache, _appSettings, dbr, _appEnv);
            }

            if (savedStatus == "Youtube already added by you")
            {
                return(BadRequest("Youtube channel is already added by you"));
            }
            if (savedStatus == "Youtube added by any other")
            {
                return(BadRequest("Youtube channel is already added by someone else"));
            }
            return(Ok("Added Successfully"));
        }
        public IActionResult PostCommentsYoutube(string channelId, string videoId, string commentText)
        {
            var dbr = new DatabaseRepository(_logger, _appEnv);

            GplusRepository.PostCommentsYt(channelId, videoId, commentText, _appSettings, _logger, dbr);
            return(Ok(""));
        }
        public async Task <IActionResult> getGplusfeeds(long boardId, int skip, int count)
        {
            try
            {
                DatabaseRepository dbr = new DatabaseRepository(_logger, _env);
                Domain.Socioboard.Models.MongoBoards board = BoardMeRepository.getBoard(boardId, _redisCache, _appSettings, _logger, dbr);
                MongoRepository        mongorepo           = new MongoRepository("MongoBoardGplusHashTag", _appSettings);
                MongoBoardGplusHashTag gplushashtag        = await mongorepo.FindFirstOrDefault <MongoBoardGplusHashTag>(x => x.Boardid.Equals(board.boardId)).ConfigureAwait(false);

                List <MongoBoardGplusFeeds> GplusFeedsList = GplusRepository.AddBoardGplusTagFeeds(gplushashtag.Displayname, board.gplusHashTag, _appSettings, _logger);
                if (GplusFeedsList.Count == 0)
                {
                    MongoRepository boardrepo = new MongoRepository("MongoBoardGplusFeeds", _appSettings);
                    var             builder   = Builders <MongoBoardGplusFeeds> .Sort;
                    var             sort      = builder.Descending(t => t.Publishedtime);
                    IList <MongoBoardGplusFeeds> objTwitterPagelist = await boardrepo.FindWithRange <MongoBoardGplusFeeds>(t => t.Gplusboardaccprofileid.Equals(board.gplusHashTag) && t.Feedlink != null, sort, skip, count);

                    List <MongoBoardGplusFeeds> lstBGFeeds = objTwitterPagelist.ToList();
                    foreach (var items_lstBGFeed in lstBGFeeds)
                    {
                        if (items_lstBGFeed.FromName.Any(c => char.IsSymbol(c)) || items_lstBGFeed.Title.Contains("¾"))
                        {
                            objTwitterPagelist.Remove(items_lstBGFeed);
                        }
                    }
                    return(Ok(objTwitterPagelist));
                }
                return(Ok(GplusFeedsList));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                return(Ok("Something Went Wrong"));
            }
        }
        public IActionResult ReviewedComment(string commentId, string sbUserName, long sbUserId, bool status,
                                             string commentType)
        {
            var dbr = new DatabaseRepository(_logger, _appEnv);

            GplusRepository.ReviewedComment(commentId, sbUserName, sbUserId, status, commentType, _appSettings, _logger,
                                            dbr);
            return(Ok());
        }
 public IActionResult AddYoutubeFeed(string accesstoken, string channelid)
 {
     //connected to gplusrepository for add data in mongodb
     GplusRepository.InitialYtFeedsAdd(channelid, accesstoken, _appSettings, _logger);
     Thread.Sleep(26000);
     GplusRepository.InitialYtCommentsAdd(channelid, accesstoken, _appSettings, _logger);
     Thread.Sleep(26000);
     GplusRepository.InitialYtReplyCommentsAdd(channelid, accesstoken, _appSettings, _logger);
     return(Ok(""));
 }
        public IActionResult AddGoogleAccountPhone(string refreshToken, string accessToken, long groupId, long userId)
        {
            var ret        = string.Empty;
            var objRefresh = string.Empty;
            var dbr        = new DatabaseRepository(_logger, _appEnv);

            var ObjoAuthTokenGPlus = new oAuthTokenGPlus(_appSettings.GoogleConsumerKey,
                                                         _appSettings.GoogleConsumerSecret, _appSettings.GoogleRedirectUri);
            var objToken = new oAuthToken(_appSettings.GoogleConsumerKey, _appSettings.GoogleConsumerSecret,
                                          _appSettings.GoogleRedirectUri);
            var userinfo = new JObject();

            try
            {
                var user = objToken.GetUserInfo("self", accessToken);
                //_logger.LogInformation(user);
                userinfo = JObject.Parse(JArray.Parse(user)[0].ToString());
                var people = objToken.GetPeopleInfo("self", accessToken, Convert.ToString(userinfo["id"]));
                userinfo = JObject.Parse(JArray.Parse(people)[0].ToString());
            }
            catch (Exception ex)
            {
                _logger.LogInformation(ex.Message);
                _logger.LogError(ex.StackTrace);
                ret = "Access Token Not Found";
                return(Ok(ret));
            }

            var gplusAcc = GplusRepository.getGPlusAccount(Convert.ToString(userinfo["id"]), _redisCache, dbr);

            if (gplusAcc != null && gplusAcc.IsActive)
            {
                if (gplusAcc.UserId == userId)
                {
                    return(BadRequest("GPlus account already added by you."));
                }
                return(BadRequest("GPlus account added by other user."));
            }

            var ngrp = dbr.Find <Groups>(t => t.adminId == userId && t.id == groupId).FirstOrDefault();

            if (ngrp == null)
            {
                return(Ok("group not exist"));
            }
            // Adding GPlus Profile
            var x = GplusRepository.AddGplusAccount(userinfo, dbr, userId, ngrp.id, accessToken, refreshToken,
                                                    _redisCache, _appSettings, _logger);

            if (x == 1)
            {
                return(Ok("Gplus Account Added Successfully"));
            }
            return(BadRequest("Issues while adding account"));
        }
        public IActionResult GetGplusFeeds(string profileId, long userId, int skip, int count)
        {
            if (skip + count < 100)
            {
                return(Ok(GplusRepository.getgoogleplusActivity(profileId, _redisCache, _appSettings).Skip(skip)
                          .Take(count)));
            }

            var gplusFeedRepo     = new MongoRepository("MongoGplusFeed", _appSettings);
            var builder           = Builders <MongoGplusFeed> .Sort;
            var sort              = builder.Descending(t => t.PublishedDate);
            var result            = gplusFeedRepo.FindWithRange(t => t.GpUserId.Equals(profileId), sort, skip, count);
            var task              = Task.Run(async() => { return(await result); });
            var lstMongoGplusFeed = task.Result;

            return(Ok(lstMongoGplusFeed));
        }
        public IActionResult AddGaSites(long groupId, long userId)
        {
            string data = Request.Form["profileaccesstoken"];
            var    dbr  = new DatabaseRepository(_logger, _appEnv);

            string[] profiledata = null;

            var lstAddedAccounts    = 0;
            var lstNotAddedAccounts = 0;
            var listStatus          = new ListDictionary();
            var i = "0";


            profiledata = data.Split(',');
            foreach (var item in profiledata)
            {
                i = GplusRepository.AddGaSites(item, userId, groupId, _redisCache, _appSettings, dbr, _appEnv);

                if (i == "added by other")
                {
                    lstNotAddedAccounts++;
                }
                else
                {
                    lstAddedAccounts++;
                }
            }

            listStatus.Add("added", lstAddedAccounts);
            listStatus.Add("notadded", lstNotAddedAccounts);

            if (lstAddedAccounts != 0 && lstNotAddedAccounts == 0)
            {
                return(Ok("Google Analytics Added Successfully"));
            }
            return(Ok(listStatus));
        }
        public IActionResult GoogleLoginPhone(string refreshToken, string accessToken, SBAccountType accType)
        {
            var ret        = string.Empty;
            var objRefresh = string.Empty;

            var ObjoAuthTokenGPlus = new oAuthTokenGPlus(_appSettings.GoogleConsumerKey,
                                                         _appSettings.GoogleConsumerSecret, _appSettings.GoogleRedirectUri);
            var objToken = new oAuthToken(_appSettings.GoogleConsumerKey, _appSettings.GoogleConsumerSecret,
                                          _appSettings.GoogleRedirectUri);
            var userinfo = new JObject();

            try
            {
                var user = objToken.GetUserInfo("self", accessToken);
                _logger.LogInformation(user);
                userinfo = JObject.Parse(JArray.Parse(user)[0].ToString());
            }
            catch (Exception ex)
            {
                _logger.LogInformation(ex.Message);
                _logger.LogError(ex.StackTrace);
                ret = "Access Token Not Found";
                return(Ok(ret));
            }

            var EmailId = string.Empty;

            try
            {
                EmailId = Convert.ToString(userinfo["email"]);
            }
            catch
            {
            }

            if (string.IsNullOrEmpty(EmailId))
            {
                return(Ok("Google Not retuning Email"));
            }


            try
            {
                var inMemUser = _redisCache.Get <User>(EmailId);
                if (inMemUser != null)
                {
                    return(Ok(inMemUser));
                }
            }
            catch (Exception ex)
            {
                _logger.LogInformation(ex.Message);
                _logger.LogError(ex.StackTrace);
            }


            var dbr     = new DatabaseRepository(_logger, _appEnv);
            var lstUser = dbr.Find <User>(t => t.EmailId.Equals(EmailId));

            if (lstUser != null && lstUser.Count() > 0)
            {
                var d1 = DateTime.UtcNow;
                //User userTable = dbr.Single<User>(t => t.EmailId == EmailId);
                //userTable.LastLoginTime = d1;
                lstUser.First().LastLoginTime = d1;
                dbr.Update(lstUser.First());
                _redisCache.Set(lstUser.First().EmailId, lstUser.First());
                return(Ok(lstUser.First()));
            }

            {
                var gplusAcc = GplusRepository.getGPlusAccount(Convert.ToString(userinfo["id"]), _redisCache, dbr);
                if (gplusAcc != null && gplusAcc.IsActive)
                {
                    return(BadRequest("GPlus account added by other user."));
                }


                var user = new User();
                if (accType == SBAccountType.Free)
                {
                    user.AccountType = SBAccountType.Free;
                }
                else if (accType == SBAccountType.Deluxe)
                {
                    user.AccountType = SBAccountType.Deluxe;
                }
                else if (accType == SBAccountType.Premium)
                {
                    user.AccountType = SBAccountType.Premium;
                }
                else if (accType == SBAccountType.Topaz)
                {
                    user.AccountType = SBAccountType.Topaz;
                }
                else if (accType == SBAccountType.Platinum)
                {
                    user.AccountType = SBAccountType.Platinum;
                }
                else if (accType == SBAccountType.Gold)
                {
                    user.AccountType = SBAccountType.Gold;
                }
                else if (accType == SBAccountType.Ruby)
                {
                    user.AccountType = SBAccountType.Ruby;
                }
                else if (accType == SBAccountType.Standard)
                {
                    user.AccountType = SBAccountType.Standard;
                }
                user.PaymentType         = PaymentType.paypal;
                user.ActivationStatus    = SBUserActivationStatus.Active;
                user.CreateDate          = DateTime.UtcNow;
                user.EmailId             = EmailId;
                user.ExpiryDate          = DateTime.UtcNow.AddDays(30);
                user.UserName            = "******";
                user.EmailValidateToken  = "Google";
                user.UserType            = "User";
                user.LastLoginTime       = DateTime.UtcNow;
                user.PaymentStatus       = SBPaymentStatus.UnPaid;
                user.SocialLoginEnableGo = true;
                try
                {
                    user.FirstName = Convert.ToString(userinfo["name"]);
                }
                catch
                {
                }

                user.RegistrationType = SBRegistrationType.Google;

                var SavedStatus = dbr.Add(user);
                var nuser       = dbr.Single <User>(t => t.EmailId.Equals(user.EmailId));
                if (SavedStatus == 1 && nuser != null)
                {
                    var group = new Groups();
                    group.adminId     = nuser.Id;
                    group.createdDate = DateTime.UtcNow;
                    group.groupName   = SocioboardConsts.DefaultGroupName;
                    SavedStatus       = dbr.Add(group);
                    if (SavedStatus == 1)
                    {
                        var ngrp = dbr.Find <Groups>(t =>
                                                     t.adminId == nuser.Id && t.groupName.Equals(SocioboardConsts.DefaultGroupName))
                                   .FirstOrDefault();
                        GroupMembersRepository.CreateGroupMember(ngrp.id, nuser, _redisCache, dbr);
                        // Adding GPlus Profile
                        GplusRepository.AddGplusAccount(userinfo, dbr, nuser.Id, ngrp.id, accessToken, refreshToken,
                                                        _redisCache, _appSettings, _logger);
                    }
                }

                return(Ok(nuser));
            }
        }
 public IActionResult GetAllYtComments(string ChannelId)
 {
     return(Ok(GplusRepository.GetAllYoutubeComments(ChannelId, _redisCache, _appSettings)));
 }
 public IActionResult GetYtVdoCommentsWithReply(string VideoId)
 {
     return(Ok(GplusRepository.GetYoutubeCommentsWithReply(VideoId, _redisCache, _appSettings)));
 }
 public IActionResult GetGplusFilterFeeds(string profileId, long userId, int skip, int count, string postType)
 {
     return(Ok(
                GplusRepository.getgoogleplusActivity(profileId, _redisCache, _appSettings, skip, count, postType)));
 }
        public IActionResult RecGoogleAccount(string code, long userId)
        {
            var ret          = string.Empty;
            var objRefresh   = string.Empty;
            var refreshToken = string.Empty;
            var access_token = string.Empty;
            var dbr          = new DatabaseRepository(_logger, _appEnv);

            var ObjoAuthTokenGPlus = new oAuthTokenGPlus(_appSettings.GoogleConsumerKey,
                                                         _appSettings.GoogleConsumerSecret, _appSettings.GoogleRedirectUri);
            var objToken = new oAuthToken(_appSettings.GoogleConsumerKey, _appSettings.GoogleConsumerSecret,
                                          _appSettings.GoogleRedirectUri);
            var userinfo = new JObject();

            try
            {
                objRefresh = ObjoAuthTokenGPlus.GetRefreshToken(code);
                var objaccesstoken = JObject.Parse(objRefresh);
                _logger.LogInformation(objaccesstoken.ToString());
                try
                {
                    refreshToken = objaccesstoken["refresh_token"].ToString();
                }
                catch
                {
                }

                access_token = objaccesstoken["access_token"].ToString();
                var user = objToken.GetUserInfo("self", access_token);
                //_logger.LogInformation(user);
                userinfo = JObject.Parse(JArray.Parse(user)[0].ToString());
                var people = objToken.GetPeopleInfo("self", access_token, Convert.ToString(userinfo["id"]));
                userinfo = JObject.Parse(JArray.Parse(people)[0].ToString());
            }
            catch (Exception ex)
            {
                //access_token = objaccesstoken["access_token"].ToString();
                //ObjoAuthTokenGPlus.RevokeToken(access_token);
                _logger.LogInformation(ex.Message);
                _logger.LogError(ex.StackTrace);
                ret = "Access Token Not Found";
                return(Ok(ret));
            }

            var gplusAcc = GplusRepository.getGPlusAccount(Convert.ToString(userinfo["id"]), _redisCache, dbr);

            if (gplusAcc != null && gplusAcc.IsActive)
            {
                if (gplusAcc.UserId == userId)
                {
                }
            }

            // Adding GPlus Profile
            var x = GplusRepository.ReconnectGplusAccount(userinfo, dbr, userId, access_token, refreshToken,
                                                          _redisCache, _appSettings, _logger);

            if (x == 1)
            {
                return(Ok("Gplus Account Reconnect Successfully"));
            }
            return(BadRequest("Issues while adding account"));
        }
        public IActionResult GoogleLogin(string code, SBAccountType accType)
        {
            var    refreshToken = string.Empty;
            string accessToken;

            var objoAuthTokenGPlus = new oAuthTokenGPlus(_appSettings.GoogleConsumerKey,
                                                         _appSettings.GoogleConsumerSecret, _appSettings.GoogleRedirectUri);
            var objToken = new oAuthToken(_appSettings.GoogleConsumerKey, _appSettings.GoogleConsumerSecret,
                                          _appSettings.GoogleRedirectUri);
            JObject userInfo;

            try
            {
                var objRefresh     = objoAuthTokenGPlus.GetRefreshToken(code);
                var objAccessToken = JObject.Parse(objRefresh);

                _logger.LogInformation(objAccessToken.ToString());
                try
                {
                    refreshToken = objAccessToken["refresh_token"].ToString();
                }
                catch (Exception ex)
                {
                    _logger.LogError(ex.StackTrace);
                }

                accessToken = objAccessToken["access_token"].ToString();
                var user = objToken.GetUserInfo("self", accessToken);
                _logger.LogInformation(user);
                userInfo = JObject.Parse(JArray.Parse(user)[0].ToString());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.StackTrace);

                return(Ok("Access Token Not Found"));
            }

            var emailId = string.Empty;

            try
            {
                emailId = Convert.ToString(userInfo["email"]);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.StackTrace);
            }

            if (string.IsNullOrEmpty(emailId))
            {
                return(Ok("Google not returning Email"));
            }

            try
            {
                var inMemUser = _redisCache.Get <User>(emailId);
                if (inMemUser != null)
                {
                    return(Ok(inMemUser));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.StackTrace);
            }

            var dbr          = new DatabaseRepository(_logger, _appEnv);
            var signedInUser = dbr.FindFirstMatch <User>(t => t.EmailId.Equals(emailId));


            if (signedInUser != null)
            {
                if (!signedInUser.SocialLoginEnableGo)
                {
                    return(Ok("Account isn't sign-up with google!"));
                }

                CustomTaskFactory.Instance.Start(() =>
                {
                    if (signedInUser.RefrralCode == null)
                    {
                        signedInUser.RefrralCode = $"{SocioboardApiConstants.ApplicationName}" + signedInUser.Id;
                    }

                    signedInUser.LastLoginTime = DateTime.UtcNow;
                    dbr.Update(signedInUser);
                    _redisCache.Set(signedInUser.EmailId, signedInUser);
                });

                return(Ok(signedInUser));
            }

            var googleUser = new User
            {
                AccountType         = accType,
                PaymentType         = PaymentType.paypal,
                ActivationStatus    = SBUserActivationStatus.Active,
                CreateDate          = DateTime.UtcNow,
                EmailId             = emailId,
                ExpiryDate          = DateTime.UtcNow.AddDays(1),
                UserName            = $"{SocioboardApiConstants.ApplicationName}",
                EmailValidateToken  = "Google",
                UserType            = "User",
                LastLoginTime       = DateTime.UtcNow,
                SocialLoginEnableGo = true,
                SocialLoginEnableFb = false,
                PaymentStatus       = SBPaymentStatus.UnPaid,
                RegistrationType    = SBRegistrationType.Google,
                TrailStatus         = UserTrailStatus.active
            };

            if (googleUser.AccountType == SBAccountType.Free)
            {
                googleUser.ExpiryDate = DateTime.UtcNow.AddDays(15);
            }

            try
            {
                googleUser.FirstName = Convert.ToString(userInfo["name"]);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.StackTrace);
            }

            var savedStatus = dbr.Add(googleUser);

            var googleUserAccount = dbr.FindFirstMatch <User>(t => t.EmailId.Equals(googleUser.EmailId));

            CustomTaskFactory.Instance.Start(() =>
            {
                if (savedStatus != 1 || googleUserAccount == null)
                {
                    return;
                }

                _redisCache.Set(emailId, googleUserAccount);

                var group         = new Groups();
                group.adminId     = googleUserAccount.Id;
                group.createdDate = DateTime.UtcNow;
                group.groupName   = SocioboardConsts.DefaultGroupName;
                savedStatus       = dbr.Add(group);

                if (savedStatus != 1)
                {
                    return;
                }

                var groupDetails = dbr.Find <Groups>(t =>
                                                     t.adminId == googleUserAccount.Id &&
                                                     t.groupName.Equals(SocioboardConsts.DefaultGroupName))
                                   .FirstOrDefault();

                if (groupDetails == null)
                {
                    return;
                }

                GroupMembersRepository.CreateGroupMember(groupDetails.id, googleUserAccount, _redisCache, dbr);

                GplusRepository.AddGplusAccount(userInfo, dbr, googleUserAccount.Id, groupDetails.id, accessToken,
                                                refreshToken,
                                                _redisCache, _appSettings, _logger);
            });


            return(Ok(googleUserAccount));
        }
 public IActionResult GetYTVideos(string ChannelId, string sortType)
 {
     return(Ok(GplusRepository.GetYoutubeFeeds(ChannelId, sortType, _redisCache, _appSettings)));
 }