public void GetLinkedinCompanyPageFeeds(oAuthLinkedIn _oauth, string UserId, string PageId)
        {
            LinkedinPageUpdate         objlinkedinpageupdate = new LinkedinPageUpdate();
            LinkedinPagePostRepository objlipagepostRepo     = new LinkedinPagePostRepository();
            List <LinkedinPageUpdate.CompanyPagePosts> objcompanypagepost = new List <LinkedinPageUpdate.CompanyPagePosts>();

            objcompanypagepost = objlinkedinpageupdate.GetPagePosts(_oauth, PageId);
            LinkedinCompanyPagePosts lipagepost = new LinkedinCompanyPagePosts();

            foreach (var item in objcompanypagepost)
            {
                lipagepost.Id           = Guid.NewGuid();
                lipagepost.Posts        = item.Posts;
                lipagepost.PostDate     = Convert.ToDateTime(item.PostDate);
                lipagepost.EntryDate    = DateTime.Now;
                lipagepost.UserId       = Guid.Parse(UserId);
                lipagepost.Type         = item.Type;
                lipagepost.PostId       = item.PostId;
                lipagepost.UpdateKey    = item.UpdateKey;
                lipagepost.PageId       = PageId;
                lipagepost.PostImageUrl = item.PostImageUrl;
                lipagepost.Likes        = item.Likes;
                lipagepost.Comments     = item.Comments;
                if (!objlipagepostRepo.checkLinkedInPostExists(lipagepost.PostId, lipagepost.UserId))
                {
                    objlipagepostRepo.addLinkedInPagepost(lipagepost);
                }
                else
                {
                    objlipagepostRepo.updateLinkedinPostofPage(lipagepost);
                }
            }
        }
        public static void SaveLinkedInCompanyPageFeed(oAuthLinkedIn _oauth, string PageId, long UserId, Helper.AppSettings _appSettings)
        {
            List <LinkedinPageUpdate.CompanyPagePosts> objcompanypagepost = Helper.LinkedInHelper.GetLinkedinCompanyPageFeeds(_oauth, PageId);
            LinkedinCompanyPagePosts lipagepost = new LinkedinCompanyPagePosts();

            foreach (var item in objcompanypagepost)
            {
                lipagepost.Id           = ObjectId.GenerateNewId();
                lipagepost.strId        = ObjectId.GenerateNewId().ToString();
                lipagepost.Posts        = item.Posts;
                lipagepost.PostDate     = Convert.ToDateTime(item.PostDate).ToString("yyyy/MM/dd HH:mm:ss");
                lipagepost.EntryDate    = DateTime.UtcNow.ToString("yyyy/MM/dd HH:mm:ss");
                lipagepost.UserId       = UserId;
                lipagepost.Type         = item.Type;
                lipagepost.PostId       = item.PostId;
                lipagepost.UpdateKey    = item.UpdateKey;
                lipagepost.PageId       = PageId;
                lipagepost.PostImageUrl = item.PostImageUrl;
                lipagepost.Likes        = item.Likes;
                lipagepost.Comments     = item.Comments;
                MongoRepository _CompanyPagePostsRepository = new MongoRepository("LinkedinCompanyPagePosts", _appSettings);
                var             ret  = _CompanyPagePostsRepository.Find <Domain.Socioboard.Models.Mongo.LinkedinCompanyPagePosts>(t => t.PostId == lipagepost.PostId);
                var             task = Task.Run(async() =>
                {
                    return(await ret);
                });
                int count = task.Result.Count;
                if (count < 1)
                {
                    _CompanyPagePostsRepository.Add(lipagepost);
                }
            }
        }
        public IHttpActionResult PsotCommentOnLinkedinCompanyPageUpdate(LinkedInManager LinkedInManager)
        {
            try
            {
                Domain.Socioboard.Domain.LinkedinCompanyPage objlicompanypage = new Domain.Socioboard.Domain.LinkedinCompanyPage();
                objlicompanypage = objLinkedCmpnyPgeRepo.getCompanyPageInformation(LinkedInManager.ProfileId);
                oAuthLinkedIn Linkedin_oauth = new oAuthLinkedIn();
                try
                {
                    Linkedin_oauth.ConsumerKey = ConfigurationManager.AppSettings["LinkedinApiKey"];
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                try
                {
                    Linkedin_oauth.ConsumerSecret = ConfigurationManager.AppSettings["LinkedinSecretKey"];
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                Linkedin_oauth.Verifier    = objlicompanypage.OAuthVerifier;
                Linkedin_oauth.TokenSecret = objlicompanypage.OAuthSecret;
                Linkedin_oauth.Token       = objlicompanypage.OAuthToken;
                Linkedin_oauth.Id          = objlicompanypage.LinkedinPageId;
                Linkedin_oauth.FirstName   = objlicompanypage.LinkedinPageName;
                Company company = new Company();
                string  res     = company.SetCommentOnPagePost(Linkedin_oauth, LinkedInManager.ProfileId, LinkedInManager.Updatekey, LinkedInManager.comment);
                if (res != "Failed")
                {
                    Domain.Socioboard.Domain.LinkedinCompanyPagePosts lipost = new LinkedinCompanyPagePosts();
                    lipost          = objLinkedinPagePostRepository.getCompanyPagPostInformation(LinkedInManager.Updatekey);
                    lipost.Comments = lipost.Comments + 1;
                    objLinkedinPagePostRepository.updateLinkedinPostCommentofPage(lipost);
                }
                string data = new JavaScriptSerializer().Serialize(res);
                return(Ok(data));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                return(Ok("Something Went Wrong"));
            }
        }
Пример #4
0
        public static int UpdateLinkedInComanyPageFeed(Domain.Socioboard.Models.LinkedinCompanyPage linacc, oAuthLinkedIn _oauth)
        {
            DatabaseRepository dbr = new DatabaseRepository();

            Domain.Socioboard.Models.Groupprofiles _grpProfile = dbr.Single <Domain.Socioboard.Models.Groupprofiles>(t => t.profileId.Contains(linacc.LinkedinPageId));
            apiHitsCount = 0;
            if (linacc.lastUpdate.AddHours(1) <= DateTime.UtcNow)
            {
                if (linacc.IsActive)
                {
                    dynamic profile = GetCompanyPageData(_oauth, linacc.LinkedinPageId);
                    try
                    {
                        string NuberOfFollower = profile.num_followers.ToString();
                        linacc.NumFollowers = Convert.ToInt16(NuberOfFollower);
                    }
                    catch {
                        linacc.NumFollowers = linacc.NumFollowers;
                    }
                    try
                    {
                        linacc.CompanyType = profile.company_type.ToString();
                    }
                    catch {
                        linacc.CompanyType = linacc.CompanyType;
                    }
                    try
                    {
                        linacc.LogoUrl         = profile.logo_url.ToString();
                        _grpProfile.profilePic = profile.logo_url.ToString();
                    }
                    catch {
                        linacc.LogoUrl         = linacc.LogoUrl;
                        _grpProfile.profilePic = linacc.LogoUrl;
                    }
                    try
                    {
                        linacc.SquareLogoUrl = profile.square_logo_url.ToString();
                    }
                    catch {
                        linacc.SquareLogoUrl = linacc.SquareLogoUrl;
                    }
                    try
                    {
                        linacc.BlogRssUrl = profile.blog_rss_url.ToString();
                    }
                    catch {
                        linacc.BlogRssUrl = linacc.BlogRssUrl;
                    }
                    try
                    {
                        linacc.UniversalName = profile.universal_name.ToString();
                    }
                    catch {
                        linacc.UniversalName = linacc.UniversalName;
                    }
                    dbr.Update <Domain.Socioboard.Models.LinkedinCompanyPage>(linacc);
                    try
                    {
                        List <LinkedinPageUpdate.CompanyPagePosts> objcompanypagepost = objLinkedinPageUpdate.GetPagePosts(_oauth, linacc.LinkedinPageId);
                        if (apiHitsCount < MaxapiHitsCount && objcompanypagepost != null)
                        {
                            apiHitsCount++;

                            LinkedinCompanyPagePosts lipagepost = new LinkedinCompanyPagePosts();
                            if (objcompanypagepost != null)
                            {
                                foreach (var item in objcompanypagepost)
                                {
                                    lipagepost.Id           = ObjectId.GenerateNewId();
                                    lipagepost.strId        = ObjectId.GenerateNewId().ToString();
                                    lipagepost.Posts        = item.Posts;
                                    lipagepost.PostDate     = Convert.ToDateTime(item.PostDate).ToString("yyyy/MM/dd HH:mm:ss");
                                    lipagepost.EntryDate    = DateTime.UtcNow.ToString("yyyy/MM/dd HH:mm:ss");
                                    lipagepost.UserId       = linacc.UserId;
                                    lipagepost.Type         = item.Type;
                                    lipagepost.PostId       = item.PostId;
                                    lipagepost.UpdateKey    = item.UpdateKey;
                                    lipagepost.PageId       = linacc.LinkedinPageId;
                                    lipagepost.PostImageUrl = item.PostImageUrl;
                                    lipagepost.Likes        = item.Likes;
                                    lipagepost.Comments     = item.Comments;
                                    MongoRepository _CompanyPagePostsRepository = new MongoRepository("LinkedinCompanyPagePosts");
                                    var             ret  = _CompanyPagePostsRepository.Find <Domain.Socioboard.Models.Mongo.LinkedinCompanyPagePosts>(t => t.PostId == lipagepost.PostId);
                                    var             task = Task.Run(async() =>
                                    {
                                        return(await ret);
                                    });
                                    int count = task.Result.Count;
                                    if (count < 1)
                                    {
                                        _CompanyPagePostsRepository.Add(lipagepost);
                                    }
                                }
                            }
                            else
                            {
                                apiHitsCount = MaxapiHitsCount;
                            }
                        }
                    }
                    catch (Exception)
                    {
                    }
                    linacc.lastUpdate = DateTime.UtcNow;

                    dbr.Update <Domain.Socioboard.Models.LinkedinCompanyPage>(linacc);
                }
            }
            else
            {
                apiHitsCount = 0;
            }
            return(0);
        }