public async Task <ActionResult> AddLinPage(string code)
        {
            Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
            string groupId = HttpContext.Session.GetObjectFromJson <string>("selectedGroupId");
            List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >();

            Parameters.Add(new KeyValuePair <string, string>("Code", code));
            Parameters.Add(new KeyValuePair <string, string>("groupId", groupId));
            Parameters.Add(new KeyValuePair <string, string>("userId", user.Id.ToString()));
            HttpResponseMessage response = await WebApiReq.PostReq("/api/LinkedIn/GetLinkedInCompanyPages", Parameters, "", "", _appSettings.ApiDomain);

            if (response.IsSuccessStatusCode)
            {
                List <Domain.Socioboard.Models.AddlinkedinCompanyPage> lstlinkedinpages = await response.Content.ReadAsAsync <List <Domain.Socioboard.Models.AddlinkedinCompanyPage> >();

                if (lstlinkedinpages.Count > 0)
                {
                    TempData["linPages"] = Newtonsoft.Json.JsonConvert.SerializeObject(lstlinkedinpages);
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    //TempData["Error"] = "No page linked with this account";
                    TempData["Error"] = "Access token not found";
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                TempData["Error"] = "Error while hitting api.";
                return(RedirectToAction("Index", "Home"));
            }
        }
示例#2
0
        public static void updateMongoDbYtGroupsChildComments(Domain.Socioboard.Models.Mongo.MongoYoutubeComments item)
        {
            try
            {
                Helper.DatabaseRepository     dbr               = new Helper.DatabaseRepository();
                Domain.Socioboard.Models.User _SBGrpMember      = dbr.Single <Domain.Socioboard.Models.User>(t => t.Id == Convert.ToInt64(item.sbGrpMemberUserid));
                Domain.Socioboard.Models.User _CmntReviewedById = dbr.Single <Domain.Socioboard.Models.User>(t => t.Id == Convert.ToInt64(item.reviewedBysbUserId));

                if (_SBGrpMember != null)
                {
                    item.sbGrpMemberName  = _SBGrpMember.FirstName + " " + _SBGrpMember.LastName;
                    item.sbGrpMemberEmail = _SBGrpMember.EmailId;
                }
                if (_CmntReviewedById != null)
                {
                    item.reviewedBy = _CmntReviewedById.FirstName + " " + _CmntReviewedById.LastName;
                }

                MongoRepository mongorepo = new MongoRepository("YoutubeVideosCommentsReply");
                try
                {
                    FilterDefinition <BsonDocument> filter = new BsonDocument("commentId", item.commentId);
                    var update = Builders <BsonDocument> .Update.Set("sbGrpMemberName", item.sbGrpMemberName).Set("sbGrpMemberEmail", item.sbGrpMemberEmail).Set("reviewedBy", item.reviewedBy);

                    mongorepo.Update <MongoYoutubeComments>(update, filter);
                }
                catch
                {
                }
            }
            catch
            {
            }
            Console.WriteLine(count++);
        }
        public async Task <ActionResult> AddLinAcc(string code)
        {
            string res = string.Empty;

            Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
            string groupId = HttpContext.Session.GetObjectFromJson <string>("selectedGroupId");
            List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >();

            Parameters.Add(new KeyValuePair <string, string>("Code", code));
            Parameters.Add(new KeyValuePair <string, string>("groupId", groupId));
            Parameters.Add(new KeyValuePair <string, string>("userId", user.Id.ToString()));
            HttpResponseMessage response = await WebApiReq.PostReq("/api/LinkedIn/AddLinkedInAccount", Parameters, "", "", _appSettings.ApiDomain);

            if (response.IsSuccessStatusCode)
            {
                TempData["Success"] = await response.Content.ReadAsStringAsync();

                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                TempData["Error"] = await response.Content.ReadAsStringAsync();

                return(RedirectToAction("Index", "Home"));
            }
        }
示例#4
0
        public async Task <ActionResult> AuthenticateInstagram()
        {
            int count = 0;

            Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
            string profileCount = await ProfilesHelper.GetUserProfileCount(user.Id, _appSettings, _logger);

            try
            {
                count = Convert.ToInt32(profileCount);
            }
            catch (Exception ex)
            {
                TempData["Error"] = "Error while getting profile count.";
                return(RedirectToAction("Index", "Home"));
            }
            int MaxCount = Domain.Socioboard.Helpers.SBHelper.GetMaxProfileCount(user.AccountType);

            if (count >= MaxCount)
            {
                TempData["Error"] = "Max profile Count reached.";
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                HttpContext.Session.SetObjectAsJson("Instagram", "Instagram_Account");
                string authUrl = _appSettings.InsagramAuthUrl + "&client_id=" + _appSettings.InstagramClientKey + "&redirect_uri=" + _appSettings.InstagramCallBackURL;
                return(Redirect(authUrl));
            }
        }
示例#5
0
        public async Task <ActionResult> Instagram(string code)
        {
            string twitterSession = HttpContext.Session.GetObjectFromJson <string>("Instagram");
            string groupId        = HttpContext.Session.GetObjectFromJson <string>("selectedGroupId");

            if (twitterSession.Equals("Instagram_Account"))
            {
                HttpContext.Session.SetObjectAsJson("Instagram", null);
                Domain.Socioboard.Models.User         user       = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
                List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >();
                Parameters.Add(new KeyValuePair <string, string>("code", code));
                Parameters.Add(new KeyValuePair <string, string>("groupId", groupId));
                Parameters.Add(new KeyValuePair <string, string>("userId", user.Id.ToString()));
                HttpResponseMessage response = await WebApiReq.PostReq("/api/Instagram/AddInstagramAccount", Parameters, "", "", _appSettings.ApiDomain);

                if (response.IsSuccessStatusCode)
                {
                    TempData["Success"] = await response.Content.ReadAsStringAsync();

                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    TempData["Error"] = "Error while hitting api.";
                    return(RedirectToAction("Index", "Home"));
                }
            }
            return(View());
        }
        public async Task <ActionResult> ReconnectGoogle(string option)
        {
            int    count        = 0;
            string profileCount = "";

            // List<Domain.Socioboard.Models.Groups> groups = new List<Domain.Socioboard.Models.Groups>();
            Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");


            if (option == "recgplus")
            {
                HttpContext.Session.SetObjectAsJson("Google", "ReconGplusAccount");
                string googleurl = "https://accounts.google.com/o/oauth2/auth?client_id=" + _appSettings.GoogleConsumerKey + "&redirect_uri=" + _appSettings.GoogleRedirectUri + "&scope=https://www.googleapis.com/auth/youtube+https://www.googleapis.com/auth/youtube.readonly+https://www.googleapis.com/auth/youtubepartner+https://www.googleapis.com/auth/youtubepartner-channel-audit+https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile+https://www.googleapis.com/auth/plus.me+https://www.googleapis.com/auth/plus.media.upload+https://www.googleapis.com/auth/plus.stream.write+https://www.googleapis.com/auth/plus.stream.read+https://www.googleapis.com/auth/plus.circles.read&response_type=code&access_type=offline&approval_prompt=force&access.domainRestricted=true";
                // string googleurl = "https://accounts.google.com/o/oauth2/auth?client_id=" + _appSettings.GoogleConsumerKey + "&redirect_uri=" + _appSettings.GoogleRedirectUri + "&scope=https://www.googleapis.com/auth/youtube+https://www.googleapis.com/auth/youtube.readonly+https://www.googleapis.com/auth/youtubepartner+https://www.googleapis.com/auth/youtubepartner-channel-audit+https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile+https://www.googleapis.com/auth/plus.me+https://www.googleapis.com/auth/plus.media.upload+https://www.googleapis.com/auth/plus.stream.write+https://www.googleapis.com/auth/plus.stream.read+https://www.googleapis.com/auth/plus.circles.read+https://www.googleapis.com/auth/plus.circles.write&response_type=code&access_type=offline&approval_prompt=force&access.domainRestricted=true";
                return(Content(googleurl));
            }
            else if (option == "GoogleAnalytics")
            {
                HttpContext.Session.SetObjectAsJson("Google", "ReConnectGoogleAnalytics");
                string googleurl = "https://accounts.google.com/o/oauth2/auth?client_id=" + _appSettings.GoogleConsumerKey + "&redirect_uri=" + _appSettings.GoogleRedirectUri + "&scope=https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile+https://www.googleapis.com/auth/analytics+https://www.googleapis.com/auth/analytics.edit+https://www.googleapis.com/auth/analytics.readonly&response_type=code&access_type=offline&approval_prompt=force&access.domainRestricted=true";

                // string googleurl = "https://accounts.google.com/o/oauth2/auth?client_id=" + _appSettings.GoogleConsumerKey + "&redirect_uri=" + _appSettings.GoogleRedirectUri + "&scope=https://www.googleapis.com/auth/youtube+https://www.googleapis.com/auth/youtube.readonly+https://www.googleapis.com/auth/youtubepartner+https://www.googleapis.com/auth/youtubepartner-channel-audit+https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile+https://www.googleapis.com/auth/plus.me+https://www.googleapis.com/auth/plus.media.upload+https://www.googleapis.com/auth/plus.stream.write+https://www.googleapis.com/auth/plus.stream.read+https://www.googleapis.com/auth/plus.circles.read+https://www.googleapis.com/auth/plus.circles.write&response_type=code&access_type=offline&approval_prompt=force&access.domainRestricted=true";
                return(Content(googleurl));
            }
            else
            {
                HttpContext.Session.SetObjectAsJson("Google", "ReconnectYTAcc");
                string googleurl = "https://accounts.google.com/o/oauth2/auth?client_id=" + _appSettings.GoogleConsumerKey + "&redirect_uri=" + _appSettings.GoogleRedirectUri + "&scope=https://www.googleapis.com/auth/youtube+https://www.googleapis.com/auth/youtube.readonly+https://www.googleapis.com/auth/youtubepartner+https://www.googleapis.com/auth/youtubepartner-channel-audit+https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile+https://www.googleapis.com/auth/plus.me+https://www.googleapis.com/auth/youtube.force-ssl&response_type=code&access_type=offline&approval_prompt=force";
                return(Content(googleurl));
            }
        }
        public async Task <IActionResult> PayUMoneySuccessful(FormCollection form)
        {
            string status = Request.Form["status"].ToString();

            string output = "false";

            if (status == "success")
            {
                string payuMoneyId = Request.Form["payuMoneyId"].ToString();
                string PG_TYPE     = Request.Form["PG_TYPE"].ToString();
                string txnid       = Request.Form["txnid"].ToString();
                string amount      = Request.Form["amount"].ToString();
                string productinfo = Request.Form["productinfo"].ToString();
                Domain.Socioboard.Models.User         user       = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
                Domain.Socioboard.Models.Package      _Package   = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.Package>("Package");
                List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >();
                Parameters.Add(new KeyValuePair <string, string>("userId", user.Id.ToString()));
                Parameters.Add(new KeyValuePair <string, string>("UserName", user.FirstName + " " + user.LastName));
                Parameters.Add(new KeyValuePair <string, string>("email", user.EmailId));
                Parameters.Add(new KeyValuePair <string, string>("amount", amount));
                Parameters.Add(new KeyValuePair <string, string>("PaymentType", user.PaymentType.ToString()));
                Parameters.Add(new KeyValuePair <string, string>("trasactionId", txnid));
                Parameters.Add(new KeyValuePair <string, string>("paymentId", payuMoneyId));
                HttpResponseMessage response = await WebApiReq.PostReq("/api/PaymentTransaction/UpgradeAccount", Parameters, "", "", _appSettings.ApiDomain);

                if (response.IsSuccessStatusCode)
                {
                    try
                    {
                        string data = await response.Content.ReadAsStringAsync();

                        if (data == "payment done")
                        {
                            List <KeyValuePair <string, string> > _Parameters = new List <KeyValuePair <string, string> >();
                            // _Parameters.Add(new KeyValuePair<string, string>("Id", user.Id.ToString()));
                            HttpResponseMessage _response = await WebApiReq.GetReq("/api/User/GetUser?Id=" + user.Id.ToString(), "", "", _appSettings.ApiDomain);

                            if (response.IsSuccessStatusCode)
                            {
                                try
                                {
                                    Domain.Socioboard.Models.User _user = await _response.Content.ReadAsAsync <Domain.Socioboard.Models.User>();

                                    HttpContext.Session.SetObjectAsJson("User", _user);
                                    //SendInvoiceMerchant(_user.PhoneNumber, _user.EmailId, _user.FirstName, amount, productinfo, txnid, _appSettings.PayUMoneyURL);
                                    // output = "true";
                                    return(RedirectToAction("Index", "Home"));
                                }
                                catch { }
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        return(RedirectToAction("Index", "Index"));
                    }
                }
            }
            return(RedirectToAction("Index", "Index"));
        }
        public async Task <IActionResult> AjaxPluginLogin()
        {
            string output = string.Empty;
            string uname  = Request.Form["email"].ToString();
            string pass   = Request.Form["password"].ToString();
            List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >();

            Parameters.Add(new KeyValuePair <string, string>("UserName", uname));
            Parameters.Add(new KeyValuePair <string, string>("Password", pass));
            HttpResponseMessage response = await WebApiReq.PostReq("/api/User/Login", Parameters, "", "", _appSettings.ApiDomain);

            if (response.IsSuccessStatusCode)
            {
                try
                {
                    Domain.Socioboard.Models.User user = await response.Content.ReadAsAsync <Domain.Socioboard.Models.User>();

                    HttpContext.Session.SetObjectAsJson("User", user);
                    if (user.UserType == "SuperAdmin")
                    {
                        return(Content("SuperAdmin"));
                    }
                    output = "1";
                    if (user.ExpiryDate < DateTime.UtcNow)
                    {
                        //return RedirectToAction("UpgradePlans", "Index");
                        // return Content("UpgradePlans");
                        List <KeyValuePair <string, string> > Param = new List <KeyValuePair <string, string> >();
                        Param.Add(new KeyValuePair <string, string>("Id", user.Id.ToString()));
                        HttpResponseMessage respon = await WebApiReq.PostReq("/api/User/UpdateTrialStatus", Param, "", "", _appSettings.ApiDomain);

                        if (respon.IsSuccessStatusCode)
                        {
                            Domain.Socioboard.Models.User _user = await respon.Content.ReadAsAsync <Domain.Socioboard.Models.User>();

                            HttpContext.Session.SetObjectAsJson("User", _user);
                            return(Content("Trail Expire"));
                        }
                    }
                    else if ((user.PayPalAccountStatus == Domain.Socioboard.Enum.PayPalAccountStatus.notadded || user.PayPalAccountStatus == Domain.Socioboard.Enum.PayPalAccountStatus.inprogress) && (user.AccountType != Domain.Socioboard.Enum.SBAccountType.Free))
                    {
                        //return RedirectToAction("PayPalAccount", "Home", new { emailId = user.EmailId,IsLogin = false });
                        return(Content("2"));
                    }
                }
                catch (Exception e)
                {
                    try
                    {
                        output = await response.Content.ReadAsStringAsync();
                    }
                    catch (Exception ex)
                    {
                        _logger.LogError(ex.StackTrace);
                    }
                    return(Content(output));
                }
            }
            return(Content(output));
        }
示例#9
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
            if (user != null)
            {
                SortedDictionary <string, string> strdic = new SortedDictionary <string, string>();
                strdic.Add("UserName", user.EmailId);
                if (string.IsNullOrEmpty(user.Password))
                {
                    strdic.Add("Password", "sociallogin");
                }
                else
                {
                    strdic.Add("Password", user.Password);
                }

                string response = CustomHttpWebRequest.HttpWebRequest("POST", "/api/User/CheckUserLogin", strdic, _appSettings.ApiDomain);

                if (!string.IsNullOrEmpty(response))
                {
                    Domain.Socioboard.Models.User _user = Newtonsoft.Json.JsonConvert.DeserializeObject <Domain.Socioboard.Models.User>(response);
                    HttpContext.Session.SetObjectAsJson("User", _user);
                }
                else
                {
                    HttpContext.Session.Remove("User");
                    HttpContext.Session.Remove("selectedGroupId");
                    HttpContext.Session.Clear();
                }
            }
            base.OnActionExecuting(filterContext);
        }
        public async Task <ActionResult> AddYoutubeAcc(string code)
        {
            Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
            string groupId = HttpContext.Session.GetObjectFromJson <string>("selectedGroupId");
            List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >();

            Parameters.Add(new KeyValuePair <string, string>("code", code));
            Parameters.Add(new KeyValuePair <string, string>("groupId", groupId));
            Parameters.Add(new KeyValuePair <string, string>("userId", user.Id.ToString()));

            HttpResponseMessage response = await WebApiReq.PostReq("/api/Google/GetYoutubeAccount", Parameters, "", "", _appSettings.ApiDomain);

            if (response.IsSuccessStatusCode)
            {
                List <Domain.Socioboard.ViewModels.YoutubeProfiles> lstpages = await response.Content.ReadAsAsync <List <Domain.Socioboard.ViewModels.YoutubeProfiles> >();

                if (lstpages.Count > 0)
                {
                    TempData["Youtube"] = Newtonsoft.Json.JsonConvert.SerializeObject(lstpages);
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    TempData["Error"] = "No Youtube Channels linked with this account";
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                TempData["Error"] = "Error while hitting api.";
                return(RedirectToAction("Index", "Home"));
            }
        }
示例#11
0
 public IActionResult Index()
 {
     //  return RedirectToAction("paymentWithPayUMoney", "Index");
     Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
     if (user == null)
     {
         ViewBag.ApiDomain = _appSettings.ApiDomain;
         ViewBag.Domain    = _appSettings.Domain;
         return(View());
     }
     else
     {
         try
         {
             if (user.ExpiryDate < DateTime.UtcNow)
             {
                 return(RedirectToAction("UpgradePlans", "Index"));
             }
         }
         catch (Exception)
         {
             return(RedirectToAction("Index", "Index"));
         }
         return(RedirectToAction("Index", "Home"));
     }
 }
 public ActionResult IsUserSession()
 {
     Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
     if (user != null)
     {
         return(Content("user"));
     }
     else
     {
         return(Content(""));
     }
 }
示例#13
0
        public static void UpdateSQLYtGrp(Domain.Socioboard.Models.YoutubeGroupInvite item)
        {
            Helper.DatabaseRepository dbr = new Helper.DatabaseRepository();
            if (item.Owner)
            {
                Domain.Socioboard.Models.User _SBUser = dbr.Single <Domain.Socioboard.Models.User>(t => t.Id == item.UserId);
                if (_SBUser != null)
                {
                    item.OwnerName    = _SBUser.FirstName + " " + _SBUser.LastName;
                    item.OwnerEmailid = _SBUser.EmailId;
                    item.SBUserName   = _SBUser.FirstName + " " + _SBUser.LastName;
                    item.SBEmailId    = _SBUser.EmailId;
                    if (_SBUser.ProfilePicUrl == "" || _SBUser.ProfilePicUrl == null)
                    {
                        item.SBProfilePic = "https://i.imgur.com/zqN47Qp.png";
                    }
                    else
                    {
                        item.SBProfilePic = _SBUser.ProfilePicUrl;
                    }

                    dbr.Update(item);
                }
            }
            else
            {
                Domain.Socioboard.Models.User _SBUserOwner = dbr.Single <Domain.Socioboard.Models.User>(t => t.Id == item.AccessSBUserId);
                Domain.Socioboard.Models.User _SBUserMmbr  = dbr.Single <Domain.Socioboard.Models.User>(t => t.Id == item.UserId);
                if (_SBUserOwner != null)
                {
                    item.OwnerName    = _SBUserOwner.FirstName + " " + _SBUserOwner.LastName;
                    item.OwnerEmailid = _SBUserOwner.EmailId;

                    if (_SBUserMmbr != null)
                    {
                        item.SBUserName = _SBUserMmbr.FirstName + " " + _SBUserMmbr.LastName;
                        item.SBEmailId  = _SBUserMmbr.EmailId;
                        if (_SBUserMmbr.ProfilePicUrl == "" || _SBUserMmbr.ProfilePicUrl == null)
                        {
                            item.SBProfilePic = "https://i.imgur.com/zqN47Qp.png";
                        }
                        else
                        {
                            item.SBProfilePic = _SBUserMmbr.ProfilePicUrl;
                        }
                    }

                    dbr.Update(item);
                }
            }
            Console.WriteLine(count++);
        }
        public async Task <IActionResult> ReconnectTwitter(bool code)
        {
            int    count        = 0;
            string profileCount = "";
            List <Domain.Socioboard.Models.Groups> groups = new List <Domain.Socioboard.Models.Groups>();

            Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");

            string sessionSelectedGroupId = HttpContext.Session.GetObjectFromJson <string>("selectedGroupId");



            if (code)
            {
                HttpContext.Session.SetObjectAsJson("Twitter", "Twitter_Account_Follow");
            }
            else
            {
                HttpContext.Session.SetObjectAsJson("Twitter", "Twitter_Account");
            }
            OAuthCredentials credentials = new OAuthCredentials()
            {
                Type              = OAuthType.RequestToken,
                SignatureMethod   = OAuthSignatureMethod.HmacSha1,
                ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,
                ConsumerKey       = _appSettings.twitterConsumerKey,
                ConsumerSecret    = _appSettings.twitterConsumerScreatKey,
                CallbackUrl       = "https://www.socioboard.com/TwitterManager/RecTwitter"
            };
            // Use Hammock to create a rest client
            var client = new RestClient
            {
                Authority   = "https://api.twitter.com/oauth",
                Credentials = credentials,
            };
            // Use Hammock to create a request
            var request = new RestRequest
            {
                Path = "request_token"
            };
            // Get the response from the request
            var _response  = client.Request(request);
            var collection = HttpUtility.ParseQueryString(_response.Content);
            //string str = collection[1].ToString();
            //HttpContext.Current.Session["requestSecret"] = collection[1];
            string rest = "https://api.twitter.com/oauth/authorize?oauth_token=" + collection[0];

            HttpContext.Session.SetObjectAsJson("requestSecret", collection[1]);

            return(Content(rest));
        }
示例#15
0
        public async Task <ActionResult> DropBoxManager(string code)
        {
            Domain.Socioboard.Models.User         user       = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
            List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >();

            Parameters.Add(new KeyValuePair <string, string>("code", code));
            Parameters.Add(new KeyValuePair <string, string>("userId", user.Id.ToString()));
            HttpResponseMessage response = await WebApiReq.PostReq("/api/Dropbox/AddDropBoxAccount", Parameters, "", "", _appSettings.ApiDomain);

            if (response.IsSuccessStatusCode)
            {
            }
            return(Content(""));
        }
示例#16
0
        public void ScheduleLinkedInCompanyPageMessage()
        {
            while (true)
            {
                try
                {
                    DatabaseRepository dbr = new DatabaseRepository();
                    List <Domain.Socioboard.Models.ScheduledMessage> lstScheduledMessage = dbr.Find <Domain.Socioboard.Models.ScheduledMessage>(t => t.profileType == Domain.Socioboard.Enum.SocialProfileType.LinkedInComapanyPage && t.status == Domain.Socioboard.Enum.ScheduleStatus.Pending).ToList();
                    var newlstScheduledMessage = lstScheduledMessage.GroupBy(t => t.profileId).ToList();

                    foreach (var items in newlstScheduledMessage)
                    {
                        try
                        {
                            Domain.Socioboard.Models.LinkedinCompanyPage _LinkedinCompanyPage = dbr.Find <Domain.Socioboard.Models.LinkedinCompanyPage>(t => t.LinkedinPageId == items.Key && t.IsActive).FirstOrDefault();
                            Domain.Socioboard.Models.User _user = dbr.Single <Domain.Socioboard.Models.User>(t => t.Id == _LinkedinCompanyPage.UserId);
                            if (_LinkedinCompanyPage != null)
                            {
                                foreach (var item in lstScheduledMessage)
                                {
                                    try
                                    {
                                        Console.WriteLine(item.socialprofileName + "Scheduling Started");
                                        LinkedInCompanyPageScheduler.PostLinkedInCompanyPageMessage(item, _LinkedinCompanyPage, _user);
                                        Console.WriteLine(item.socialprofileName + "Scheduling");
                                    }
                                    catch (Exception)
                                    {
                                    }
                                }
                                _LinkedinCompanyPage.SchedulerUpdate = DateTime.UtcNow;
                                dbr.Update <Domain.Socioboard.Models.LinkedinCompanyPage>(_LinkedinCompanyPage);
                                Thread.Sleep(60000);
                            }
                        }
                        catch (Exception)
                        {
                            Thread.Sleep(60000);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("issue in web api calling" + ex.StackTrace);
                    Thread.Sleep(60000);
                }
            }
        }
        public async Task <ActionResult> ReConnectfbpage(string code)
        {
            string accessToken = string.Empty;

            try
            {
                accessToken = Socioboard.Facebook.Auth.Authentication.GetAccessToken(_appSettings.FacebookClientId, _appSettings.FacebookRedirectUrl, _appSettings.FacebookClientSecretKey, code);
            }
            catch (Exception ex)
            {
                _logger.LogInformation(ex.Message);
                _logger.LogError(ex.StackTrace);
                TempData["Error"] = "Issue with Token";
                return(RedirectToAction("Index", "Home"));
            }
            Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
            string groupId   = HttpContext.Session.GetObjectFromJson <string>("selectedGroupId");
            string profileId = HttpContext.Session.GetObjectFromJson <string>("profileId");//profileId
            List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >();

            Parameters.Add(new KeyValuePair <string, string>("accesstoken", accessToken));
            Parameters.Add(new KeyValuePair <string, string>("groupId", groupId));
            Parameters.Add(new KeyValuePair <string, string>("profileId", profileId));
            HttpResponseMessage response = await WebApiReq.PostReq("/api/Facebook/GetFacebookPagesDet", Parameters, "", "", _appSettings.ApiDomain);

            if (response.IsSuccessStatusCode)
            {
                List <Domain.Socioboard.Models.Facebookpage> lstpages = await response.Content.ReadAsAsync <List <Domain.Socioboard.Models.Facebookpage> >();

                lstpages = lstpages.Where(t => t.ProfilePageId.Contains(profileId)).ToList();
                if (lstpages.Count > 0)
                {
                    TempData["fbReconnect"] = Newtonsoft.Json.JsonConvert.SerializeObject(lstpages);
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    TempData["Error"] = "Page has not been linked with current login account,please login with linked facebook account";
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                TempData["Error"] = "Error while hitting api.";
                return(RedirectToAction("Index", "Home"));
            }
        }
        public async Task <ActionResult> ReConnectAcc(string code)
        {
            string accessToken = string.Empty;

            try
            {
                accessToken = Socioboard.Facebook.Auth.Authentication.GetAccessToken(_appSettings.FacebookClientId, _appSettings.FacebookRedirectUrl, _appSettings.FacebookClientSecretKey, code);
            }
            catch (Exception ex)
            {
                _logger.LogInformation(ex.Message);
                _logger.LogError(ex.StackTrace);
                TempData["Error"] = "Issue with Token";
                return(RedirectToAction("Index", "Home"));
            }



            Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
            string groupId = HttpContext.Session.GetObjectFromJson <string>("selectedGroupId");

            List <KeyValuePair <string, string> > RecParameters = new List <KeyValuePair <string, string> >();
            string profileId   = HttpContext.Session.GetObjectFromJson <string>("profileId"); //profileId
            string fbreconnect = HttpContext.Session.GetObjectFromJson <string>("fbSocial");  //fbSocial

            RecParameters.Add(new KeyValuePair <string, string>("accessToken", accessToken));
            RecParameters.Add(new KeyValuePair <string, string>("groupId", groupId));
            RecParameters.Add(new KeyValuePair <string, string>("userId", user.Id.ToString()));
            RecParameters.Add(new KeyValuePair <string, string>("reconnect", fbreconnect));
            RecParameters.Add(new KeyValuePair <string, string>("profileId", profileId));



            HttpResponseMessage response = await WebApiReq.PostReq("/api/Facebook/ReconnectFbAccount", RecParameters, "", "", _appSettings.ApiDomain);

            if (response.IsSuccessStatusCode)
            {
                TempData["Success"] = await response.Content.ReadAsStringAsync();

                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                TempData["Error"] = "Error while hitting api.";
                return(RedirectToAction("Index", "Home"));
            }
        }
 public static void AddRequestToWithdraw(string WithdrawAmount, string PaymentMethod, string PaypalEmail, string IbanCode, string SwiftCode, string Other, long UserID, Model.DatabaseRepository dbr)
 {
     Domain.Socioboard.Models.User _User = dbr.Find <Domain.Socioboard.Models.User>(t => t.Id == UserID).First();
     Domain.Socioboard.Models.EwalletWithdrawRequest _EwalletWithdrawRequest = new Domain.Socioboard.Models.EwalletWithdrawRequest();
     _EwalletWithdrawRequest.UserID         = _User.Id;
     _EwalletWithdrawRequest.Other          = Other;
     _EwalletWithdrawRequest.PaymentMethod  = PaymentMethod;
     _EwalletWithdrawRequest.PaypalEmail    = PaypalEmail;
     _EwalletWithdrawRequest.RequestDate    = DateTime.UtcNow;
     _EwalletWithdrawRequest.Status         = Domain.Socioboard.Enum.EwalletStatus.pending;
     _EwalletWithdrawRequest.SwiftCode      = SwiftCode;
     _EwalletWithdrawRequest.UserEmail      = _User.EmailId;
     _EwalletWithdrawRequest.UserName       = _User.FirstName + " " + _User.LastName;
     _EwalletWithdrawRequest.WithdrawAmount = WithdrawAmount;
     dbr.Add(_EwalletWithdrawRequest);
     _User.Ewallet = (Double.Parse(_User.Ewallet) - Double.Parse(WithdrawAmount)).ToString();
     dbr.Update(_User);
 }
        public async Task <IActionResult> paymentWithPayUMoney(bool contesnt)
        {
            Domain.Socioboard.Models.User         user       = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
            Domain.Socioboard.Models.Package      _Package   = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.Package>("Package");
            List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >();

            Parameters.Add(new KeyValuePair <string, string>("key", _appSettings.key));
            string amount = (Convert.ToDouble(_Package.amount) * Convert.ToDouble(_appSettings.moneyconvertion)).ToString();
            string txnid  = Generatetxnid();

            Parameters.Add(new KeyValuePair <string, string>("txnid", txnid));
            Parameters.Add(new KeyValuePair <string, string>("amount", amount));
            Parameters.Add(new KeyValuePair <string, string>("productinfo", _Package.packagename));
            Parameters.Add(new KeyValuePair <string, string>("firstname", user.FirstName));
            Parameters.Add(new KeyValuePair <string, string>("email", user.EmailId));
            Parameters.Add(new KeyValuePair <string, string>("phone", user.PhoneNumber));
            Parameters.Add(new KeyValuePair <string, string>("surl", _appSettings.surl));
            Parameters.Add(new KeyValuePair <string, string>("furl", _appSettings.failUrl));
            string hashString = _appSettings.key.ToString() + "|" + txnid + "|" + amount + "|" + _Package.packagename.ToString() + "|" + user.FirstName.ToString() + "|" + user.EmailId.ToString() + "|||||||||||" + _appSettings.salt.ToString();
            string hash       = Generatehash512(hashString);

            Parameters.Add(new KeyValuePair <string, string>("hash", hash));
            Parameters.Add(new KeyValuePair <string, string>("service_provider", "payu_paisa"));
            HttpResponseMessage response = await WebApiReq.PostReq("/_payment", Parameters, "", "", "https://secure.payu.in");

            if (response.IsSuccessStatusCode)
            {
                // string data = await response.Content.ReadAsStringAsync();
                if (contesnt != false)
                {
                    return(Content(response.RequestMessage.RequestUri.OriginalString));
                }
                else
                {
                    //return Redirect(response.RequestMessage.RequestUri.OriginalString);
                    //return Redirect(response.RequestMessage.RequestUri.OriginalString);
                    return(Content(response.RequestMessage.RequestUri.OriginalString));
                }
            }
            else
            {
                return(null);
            }
        }
示例#21
0
        private static void daywiseSchedulemessages(object o)
        {
            try
            {
                Console.WriteLine(Thread.CurrentThread.Name + " Is Entered in Method");
                object[] arr = o as object[];
                Model.DatabaseRepository dbr = (Model.DatabaseRepository)arr[0];
                IGrouping <string, Domain.Socioboard.Models.DaywiseSchedule> items = (IGrouping <string, Domain.Socioboard.Models.DaywiseSchedule>)arr[1];
                Domain.Socioboard.Models.Facebookaccounts _facebook = dbr.Find <Domain.Socioboard.Models.Facebookaccounts>(t => t.FbUserId == items.Key && t.IsActive).FirstOrDefault();
                Domain.Socioboard.Models.User             _user     = dbr.Single <Domain.Socioboard.Models.User>(t => t.Id == _facebook.UserId);
                if (_facebook != null)
                {
                    foreach (var item in items)
                    {
                        try
                        {
                            Console.WriteLine(item.socialprofileName + "Scheduling Started");
                            FacebookScheduler.PostDaywiseFacebookMessage(item, _facebook, _user);
                            Console.WriteLine(item.socialprofileName + "Scheduling");
                        }
                        catch (Exception)
                        {
                        }

                        item.scheduleTime = DateTime.UtcNow;
                        dbr.Update <Domain.Socioboard.Models.DaywiseSchedule>(item);
                    }
                    //_facebook.SchedulerUpdate = DateTime.UtcNow;

                    //dbr.Update<Domain.Socioboard.Models.Facebookaccounts>(_facebook);
                }
            }
            catch (Exception ex)
            {
                //  Thread.Sleep(60000);
            }
            finally
            {
                noOfthreadRunning--;
                objSemaphore.Release();
                Console.WriteLine(Thread.CurrentThread.Name + " Is Released");
            }
        }
示例#22
0
        public async Task <ActionResult> Pinterest(string code, string state)
        {
            if (state == "None")
            {
                TempData["Error"] = "You did not authorized your account for our app.";
                return(RedirectToAction("Index", "Home"));
            }
            string pinterestSession = HttpContext.Session.GetObjectFromJson <string>("Pinterest");
            string groupId          = HttpContext.Session.GetObjectFromJson <string>("selectedGroupId");

            if (pinterestSession.Equals("Pinterest_Account"))
            {
                HttpContext.Session.SetObjectAsJson("Pinterest", null);
                Domain.Socioboard.Models.User         user       = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
                List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >();
                Parameters.Add(new KeyValuePair <string, string>("code", code));
                Parameters.Add(new KeyValuePair <string, string>("groupId", groupId));
                Parameters.Add(new KeyValuePair <string, string>("userId", user.Id.ToString()));
                HttpResponseMessage response = await WebApiReq.PostReq("/api/Pinterest/AddPinterestAccount", Parameters, "", "", _appSettings.ApiDomain);

                if (response.IsSuccessStatusCode)
                {
                    TempData["Success"] = await response.Content.ReadAsStringAsync();

                    if (TempData["Success"].ToString() == "Something went wrong while fetching accessToken Please try again")
                    {
                        HttpContext.Session.SetObjectAsJson("Pinterest", "Pinterest_Account");
                        string authUrl = Authentication.GetPinterestRedirectLink(_appSettings.PinterestAuthUrl, _appSettings.pinterestConsumerKey, _appSettings.pinterestRedirectionUrl);
                        return(Redirect(authUrl));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                }
                else
                {
                    TempData["Error"] = "Error while hitting api.";
                    return(RedirectToAction("Index", "Home"));
                }
            }
            return(View());
        }
示例#23
0
        private static void TwitterSchedulemessage(object o)
        {
            try
            {
                Console.WriteLine(Thread.CurrentThread.Name + " Is Entered in Method");
                object[] arr = o as object[];
                Model.DatabaseRepository dbr = (Model.DatabaseRepository)arr[0];
                IGrouping <string, Domain.Socioboard.Models.ScheduledMessage> items = (IGrouping <string, Domain.Socioboard.Models.ScheduledMessage>)arr[1];

                Domain.Socioboard.Models.TwitterAccount _TwitterAccount = dbr.Single <Domain.Socioboard.Models.TwitterAccount>(t => t.twitterUserId == items.Key && t.isActive);

                Domain.Socioboard.Models.User _user = dbr.Single <Domain.Socioboard.Models.User>(t => t.Id == _TwitterAccount.userId);

                if (_TwitterAccount != null)
                {
                    foreach (var item in items)
                    {
                        try
                        {
                            Console.WriteLine(item.socialprofileName + "Scheduling Started");
                            TwitterScheduler.PostTwitterMessage(item, _TwitterAccount, _user);
                            Console.WriteLine(item.socialprofileName + "Scheduling");
                        }
                        catch (Exception)
                        {
                            Thread.Sleep(60000);
                        }
                    }
                    _TwitterAccount.SchedulerUpdate = DateTime.UtcNow;
                    dbr.Update <Domain.Socioboard.Models.TwitterAccount>(_TwitterAccount);
                }
            }
            catch (Exception)
            {
                Thread.Sleep(60000);
            }
            finally
            {
                noOfthreadRunning--;
                objSemaphore.Release();
                Console.WriteLine(Thread.CurrentThread.Name + " Is Released");
            }
        }
        public async Task <IActionResult> SBApp(string profileType, string url, string content, string imageUrl, string name, string userImage, string screenName, string tweet, string tweetId, string type)
        {
            Domain.Socioboard.Helpers.PluginData _PluginData = new Domain.Socioboard.Helpers.PluginData();
            _PluginData.profileType = profileType;
            _PluginData.content     = content;
            _PluginData.imageUrl    = imageUrl;
            _PluginData.name        = name;
            _PluginData.screenName  = screenName;
            _PluginData.tweet       = tweet;
            _PluginData.tweetId     = tweetId;
            _PluginData.url         = url;
            _PluginData.userImage   = userImage;
            _PluginData.type        = type;
            Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
            if (user != null)
            {
                if (!string.IsNullOrEmpty(url) && profileType != "pinterest")
                {
                    Domain.Socioboard.Helpers.ThumbnailDetails plugindata = PluginHelper.CreateThumbnail(url);
                    _PluginData._ThumbnailDetails = plugindata;
                }

                ViewBag.plugin = _PluginData;

                List <KeyValuePair <string, string> > parameters = new List <KeyValuePair <string, string> >();
                parameters.Add(new KeyValuePair <string, string>("userId", user.Id.ToString()));
                HttpResponseMessage _response = await WebApiReq.GetReq("/api/GroupProfiles/GetPluginProfile?userId=" + user.Id.ToString(), "", "", _appSettings.ApiDomain);

                if (_response.IsSuccessStatusCode)
                {
                    try
                    {
                        List <Domain.Socioboard.Helpers.PluginProfile> lstsb = new List <Domain.Socioboard.Helpers.PluginProfile>();
                        lstsb = await _response.Content.ReadAsAsync <List <Domain.Socioboard.Helpers.PluginProfile> >();

                        return(View("RMain", lstsb));
                    }
                    catch { }
                }
            }
            return(View("Rlogin"));
        }
示例#25
0
        public static async Task <Domain.Socioboard.Models.User> FbLogin(string accessToken, string BaseUrl)
        {
            Domain.Socioboard.Models.User         user       = null;
            List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >();

            Parameters.Add(new KeyValuePair <string, string>("AccessToken", accessToken));
            HttpResponseMessage response = await WebApiReq.PostReq("/api/User/FacebookLogin", Parameters, "", "", BaseUrl);

            if (response.IsSuccessStatusCode)
            {
                try
                {
                    user = await response.Content.ReadAsAsync <Domain.Socioboard.Models.User>();
                }
                catch
                {
                }
            }
            return(user);
        }
示例#26
0
        public async Task <ActionResult> AddGoogleAccount(string Op)
        {
            int count = 0;

            Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");

            string profileCount = await ProfilesHelper.GetUserProfileCount(user.Id, _appSettings, _logger);

            try
            {
                count = Convert.ToInt32(profileCount);
            }
            catch (Exception ex)
            {
                TempData["Error"] = "Error while getting profile count.";
                return(RedirectToAction("Index", "Home"));
            }

            int MaxCount = Domain.Socioboard.Helpers.SBHelper.GetMaxProfileCount(user.AccountType);

            if (count >= MaxCount)
            {
                TempData["Error"] = "Max profile Count reached.";
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                if (string.IsNullOrEmpty(Op))
                {
                    HttpContext.Session.SetObjectAsJson("Google", "Gplus_Account");
                    string googleurl = "https://accounts.google.com/o/oauth2/auth?client_id=" + _appSettings.GoogleConsumerKey + "&redirect_uri=" + _appSettings.GoogleRedirectUri + "&scope=https://www.googleapis.com/auth/youtube+https://www.googleapis.com/auth/youtube.readonly+https://www.googleapis.com/auth/youtubepartner+https://www.googleapis.com/auth/youtubepartner-channel-audit+https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile+https://www.googleapis.com/auth/plus.me&response_type=code&access_type=offline&approval_prompt=force";
                    return(Redirect(googleurl));
                }
                else
                {
                    HttpContext.Session.SetObjectAsJson("Google", "Ganalytics_Account");
                    string googleurl = "https://accounts.google.com/o/oauth2/auth?approval_prompt=force&access_type=offline&client_id=" + _appSettings.GoogleConsumerKey + "&redirect_uri=" + _appSettings.GoogleRedirectUri + "&scope=https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile+https://www.googleapis.com/auth/analytics+https://www.googleapis.com/auth/analytics.edit+https://www.googleapis.com/auth/analytics.readonly&response_type=code";
                    return(Redirect(googleurl));
                }
            }
        }
        private void SetSession(Domain.Socioboard.Models.User currentLoggedInUser)
        {
            if (currentLoggedInUser != null)
            {
                return;
            }

            var emailId  = string.Empty;
            var password = string.Empty;

            if (Request.Cookies["socioboardemailId"] != null)
            {
                emailId = PluginHelper.Base64Decode(Request.Cookies["socioboardemailId"]);
            }

            if (string.IsNullOrEmpty(emailId))
            {
                return;
            }

            if (Request.Cookies["socioboardToken"] != null)
            {
                password = PluginHelper.Base64Decode(Request.Cookies["socioboardToken"]);
            }

            var requestParameters = new SortedDictionary <string, string>
            {
                { "UserName", emailId }, { "Password", string.IsNullOrEmpty(password) ? "sociallogin" : password }
            };

            var response = CustomHttpWebRequest.HttpWebRequest("POST", "/api/User/CheckUserLogin", requestParameters, _appSettings.ApiDomain);

            if (string.IsNullOrEmpty(response))
            {
                return;
            }

            var user = Newtonsoft.Json.JsonConvert.DeserializeObject <Domain.Socioboard.Models.User>(response);

            HttpContext.Session.SetObjectAsJson("User", user);
        }
示例#28
0
        public async Task <ActionResult> AuthenticateLinkedin(string Op)
        {
            int    count = 0;
            Random ran   = new Random();
            int    x     = ran.Next(8976557);

            Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");

            string profileCount = await ProfilesHelper.GetUserProfileCount(user.Id, _appSettings, _logger);

            try
            {
                count = Convert.ToInt32(profileCount);
            }
            catch (Exception ex)
            {
                TempData["Error"] = "Error while getting profile count.";
                return(RedirectToAction("Index", "Home"));
            }

            int MaxCount = Domain.Socioboard.Helpers.SBHelper.GetMaxProfileCount(user.AccountType);

            if (count >= MaxCount)
            {
                TempData["Error"] = "Max profile Count reached.";
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                if (string.IsNullOrEmpty(Op))
                {
                    HttpContext.Session.SetObjectAsJson("linSocial", "lin_Account");
                    return(Redirect("https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=" + _appSettings.LinkedinApiKey + "&redirect_uri=" + _appSettings.LinkedinCallBackURL + "&state=" + x.ToString() + "&?scope=r_basicprofile+w_share"));
                }
                else
                {
                    HttpContext.Session.SetObjectAsJson("linSocial", "lin_Page");
                    return(Redirect("https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=" + _appSettings.LinkedinApiKey + "&redirect_uri=" + _appSettings.LinkedinCallBackURL + "&state=" + x.ToString() + "&?scope=r_basicprofile+w_share+rw_company_admin"));
                }
            }
        }
        public async Task <IActionResult> Twitter(string oauth_token, string oauth_verifier)
        {
            string groupId        = HttpContext.Session.GetObjectFromJson <string>("selectedGroupId");
            string requestSecret  = HttpContext.Session.GetObjectFromJson <string>("requestSecret");
            string twitterSession = HttpContext.Session.GetObjectFromJson <string>("Twitter");

            if (twitterSession.Equals("Twitter_Account") || twitterSession.Equals("Twitter_Account_Follow"))
            {
                Domain.Socioboard.Models.User         user       = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");
                List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >();
                Parameters.Add(new KeyValuePair <string, string>("requestToken", oauth_token));
                Parameters.Add(new KeyValuePair <string, string>("requestSecret", requestSecret));
                Parameters.Add(new KeyValuePair <string, string>("requestVerifier", oauth_verifier));
                Parameters.Add(new KeyValuePair <string, string>("groupId", groupId));
                Parameters.Add(new KeyValuePair <string, string>("userId", user.Id.ToString()));
                if (twitterSession.Equals("Twitter_Account_Follow"))
                {
                    Parameters.Add(new KeyValuePair <string, string>("follow", "true"));
                }
                HttpContext.Session.SetObjectAsJson("Twitter", null);


                HttpResponseMessage response = await WebApiReq.PostReq("/api/Twitter/AddTwitterAccount", Parameters, "", "", _appSettings.ApiDomain);

                if (response.IsSuccessStatusCode)
                {
                    TempData["Success"] = await response.Content.ReadAsStringAsync();

                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    TempData["Error"] = await response.Content.ReadAsStringAsync();

                    return(RedirectToAction("Index", "Home"));
                }
            }
            return(View());
        }
        public async Task <ActionResult> AddFacebookAcc(string Op)
        {
            int count = 0;

            Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User");

            string profileCount = await ProfilesHelper.GetUserProfileCount(user.Id, _appSettings, _logger);

            try
            {
                count = Convert.ToInt32(profileCount);
            }
            catch (Exception ex)
            {
                TempData["Error"] = "Error while getting profile count.";
                return(RedirectToAction("Index", "Home"));
            }

            int MaxCount = Domain.Socioboard.Helpers.SBHelper.GetMaxProfileCount(user.AccountType);

            if (count >= MaxCount)
            {
                TempData["Error"] = "Max profile Count reached.";
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                if (string.IsNullOrEmpty(Op))
                {
                    HttpContext.Session.SetObjectAsJson("fbSocial", "Fb_Account");
                }
                else
                {
                    HttpContext.Session.SetObjectAsJson("fbSocial", "Fb_Page");
                }
                return(Redirect(Socioboard.Facebook.Auth.Authentication.GetFacebookRedirectLink(_appSettings.FacebookAuthUrl, _appSettings.FacebookClientId, _appSettings.FacebookRedirectUrl)));
            }
        }