Exemple #1
0
        //  [SessionExpireFilter]
        public ActionResult YammerLogin()
        {
            AuthenticationClient authentication = new AuthenticationClient();
            var returnValue  = authentication.AuthenticateUserWithUserName(TempData["yammeremail"].ToString());
            var loggedinUser = returnValue.user;

            return(AuthenticatedUser(loggedinUser));
        }
        public string PostOpenGraphForGroups(string text, string subject, string imageurl, string sender, string[] userEmailIds, string GroupIdPost, string GroupName)
        {
            var imageCount   = imageurl.Split('@');
            var grpCount     = GroupIdPost.Split('%');
            var grpNameCount = GroupName.Split('%');

            text = text.Replace("\r\n", "*");
            var textSplit = text.Split('*');

            var user = (SignUpWCF.User)Session["user"];

            if (user.YammerToken == null || user.YammerToken == "0")
            {
                return("gettoken");
            }
            else
            {
                var sub = "";
                for (var j = 0; j < grpCount.Count(); j++)
                {
                    for (var i = 0; i < imageCount.Count(); i++)
                    {
                        if (imageCount[i] != "")
                        {
                            TimeSpan span      = new TimeSpan(DateTime.Now.GetHashCode());
                            var      timestamp = span.GetHashCode();

                            var image = imageCount[i].Replace("../../Images",
                                                              ConfigurationManager.AppSettings["HostingPrefix"] +
                                                              "/images/yammer");
                            var httpWebRequest =
                                (HttpWebRequest)WebRequest.Create("https://www.yammer.com/api/v1/activity.json");
                            httpWebRequest.ContentType = "application/json";
                            httpWebRequest.Headers.Set("Authorization", "Bearer " + user.YammerToken + "");
                            httpWebRequest.Method = "POST";
                            string cononicalurl = ConfigurationManager.AppSettings["HostingPrefix"] +
                                                  "/yammer/BackToSite?id=" + timestamp;
                            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
                            {
                                if (image == "")
                                {
                                    image = ConfigurationManager.AppSettings["HostingPrefix"] +
                                            "/images/yammer/icon.png";
                                    subject = "An Appreciation from " + user.FirstName + " " + user.LastName;
                                }
                                else if (image.IndexOf("bronze") != -1 || image.IndexOf("gold") != -1 ||
                                         image.IndexOf("silver") != -1)
                                {
                                    subject = "A Medal from " + user.FirstName + " " + user.LastName;
                                }
                                else if (image.IndexOf("idea") != -1 || image.IndexOf("key") != -1 ||
                                         image.IndexOf("thankyou") != -1)
                                {
                                    subject = "A Badge from " + user.FirstName + " " + user.LastName;
                                }

                                string jsonUserEmailId = "";
                                string subjectTo       = "";
                                foreach (string userEmailId in userEmailIds)
                                {
                                    string userEmailIdTrim = userEmailId.Trim();
                                    if (userEmailIdTrim != "")
                                    {
                                        AuthenticationClient authentication = new AuthenticationClient();
                                        var returnValue = authentication.AuthenticateUserWithUserName(userEmailIdTrim);
                                        var sendtouser  = returnValue.user;

                                        if (jsonUserEmailId == "")
                                        {
                                            jsonUserEmailId = "{\"email\":\"" + userEmailIdTrim + "\"}";
                                            subjectTo       = sendtouser.FirstName + " " + sendtouser.LastName;
                                        }
                                        else
                                        {
                                            jsonUserEmailId = jsonUserEmailId + ", {\"email\":\"" + userEmailIdTrim +
                                                              "\"}";
                                            subjectTo = subjectTo + ", " + sendtouser.FirstName + " " +
                                                        sendtouser.LastName;
                                        }
                                    }
                                }

                                sub = subject + " to " + subjectTo + " (This message was posted by " + user.FirstName + " " + user.LastName + " to " + grpNameCount[j] + " group)";

                                //string json =
                                //    "{ \"activity\": { \"actor\": { \"email\": \"" + user.EmailAddress +
                                //    "\" },\"action\": \"create\", \"object\": { \"url\": \"" +
                                //    cononicalurl + "\", \"title\": \"" + sub +
                                //    "\", \"image\": \"" + image + "\",\"group_id \":\" " + grpCount[j] + "\", \"description\":\"" +
                                //    textSplit[0] +
                                //    "\" }, \"message\":  \"\"} }";
                                var objects    = new YammerObject();
                                var actor      = new YammerActor();
                                var activity   = new YammerActivity();
                                var yammerOuth = new YammerOath();
                                objects.url         = cononicalurl;
                                objects.title       = sub;
                                objects.image       = image;
                                objects.description = textSplit[0];
                                actor.email         = user.EmailAddress;
                                activity.action     = "create";
                                activity.message    = "";
                                activity.Object     = objects;
                                activity.actor      = actor;
                                yammerOuth.activity = activity;
                                var json  = new JavaScriptSerializer().Serialize(yammerOuth);
                                var final = json.Replace("Object", "object");
                                streamWriter.Write(final);
                                streamWriter.Flush();
                                streamWriter.Close();
                                //Thread.Sleep(2000);
                            }
                            var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                            {
                                var result = streamReader.ReadToEnd();
                            }

                            PostOnWallGroup(cononicalurl, text, sub, user.YammerToken, grpCount[j]);
                        }
                        Thread.Sleep(2000);
                    }
                }
            }
            return("posted");
        }
        public string SaveOpenGraphForGroups(string text, string subject, string imageurl, string sender, string[] userEmailIds, string GroupIdPost, string GroupName)
        {
            var imageCount   = imageurl.Split('@');
            var grpCount     = GroupIdPost.Split('%');
            var grpNameCount = GroupName.Split('%');

            text = text.Replace("\r\n", "*");
            var textSplit = text.Split('*');

            var user = (SignUpWCF.User)Session["user"];

            if (user.YammerToken == null || user.YammerToken == "0")
            {
                return("gettoken");
            }
            else
            {
                var sub = "";
                for (var j = 0; j < grpCount.Count(); j++)
                {
                    for (var i = 0; i < imageCount.Count(); i++)
                    {
                        if (imageCount[i] != "")
                        {
                            var image = imageCount[i].Replace("../../Images",
                                                              ConfigurationManager.AppSettings["HostingPrefix"] +
                                                              "/images/yammer");

                            if (image == "")
                            {
                                image = ConfigurationManager.AppSettings["HostingPrefix"] +
                                        "/images/yammer/icon.png";
                                subject = "An Appreciation from " + user.FirstName + " " + user.LastName;
                            }
                            else if (image.IndexOf("bronze") != -1 || image.IndexOf("gold") != -1 ||
                                     image.IndexOf("silver") != -1)
                            {
                                subject = "A Medal from " + user.FirstName + " " + user.LastName;
                            }
                            else if (image.IndexOf("idea") != -1 || image.IndexOf("key") != -1 ||
                                     image.IndexOf("thankyou") != -1)
                            {
                                subject = "A Badge from " + user.FirstName + " " + user.LastName;
                            }

                            string jsonUserEmailId = "";
                            string subjectTo       = "";
                            foreach (string userEmailId in userEmailIds)
                            {
                                string userEmailIdTrim = userEmailId.Trim();
                                if (userEmailIdTrim != "")
                                {
                                    AuthenticationClient authentication = new AuthenticationClient();
                                    var returnValue = authentication.AuthenticateUserWithUserName(userEmailIdTrim);
                                    var sendtouser  = returnValue.user;

                                    if (jsonUserEmailId == "")
                                    {
                                        jsonUserEmailId = "{\"email\":\"" + userEmailIdTrim + "\"}";
                                        subjectTo       = sendtouser.FirstName + " " + sendtouser.LastName;
                                    }
                                    else
                                    {
                                        jsonUserEmailId = jsonUserEmailId + ", {\"email\":\"" + userEmailIdTrim +
                                                          "\"}";
                                        subjectTo = subjectTo + ", " + sendtouser.FirstName + " " +
                                                    sendtouser.LastName;
                                    }
                                }
                            }

                            sub = subject + " to " + subjectTo + " (This message was posted by " + user.FirstName + " " + user.LastName + " to " + grpNameCount[j] + " group)";
                            var common = new CommonClient();
                            common.InsertYammerContent(user.EmailAddress, null, image, sub, grpCount[j], text, user.YammerToken);
                        }
                    }
                }
            }
            return("posted");
        }
        public string PostOpenGraph(string text, string subject, string imageurl, string sender, string[] userEmailIds)
        {
            var imageCount = imageurl.Split('@');

            text = text.Replace("\r\n", "*");
            var textSplit = text.Split('*');
            var user      = (SignUpWCF.User)Session["user"];

            if (user.YammerToken == null || user.YammerToken == "0")
            {
                return("gettoken");
            }
            else
            {
                for (var i = 0; i < imageCount.Count(); i++)
                {
                    if (imageCount[i] != "")
                    {
                        TimeSpan span      = new TimeSpan(DateTime.Now.GetHashCode());
                        var      timestamp = span.GetHashCode();

                        var image          = imageCount[i].Replace("../../Images", ConfigurationManager.AppSettings["HostingPrefix"] + "/images/yammer");
                        var httpWebRequest =
                            (HttpWebRequest)WebRequest.Create("https://www.yammer.com/api/v1/activity.json");
                        httpWebRequest.ContentType = "application/json";
                        httpWebRequest.Headers.Set("Authorization", "Bearer " + user.YammerToken + "");
                        httpWebRequest.Method = "POST";
                        string cononicalurl = ConfigurationManager.AppSettings["HostingPrefix"] + "/yammer/BackToSite?id=" + timestamp;
                        using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
                        {
                            if (image == "")
                            {
                                image   = ConfigurationManager.AppSettings["HostingPrefix"] + "/images/yammer/icon.png";
                                subject = "An Appreciation from " + user.FirstName + " " + user.LastName;
                            }
                            else if (image.IndexOf("bronze") != -1 || image.IndexOf("gold") != -1 || image.IndexOf("silver") != -1)
                            {
                                subject = "A Medal from " + user.FirstName + " " + user.LastName;
                            }
                            else if (image.IndexOf("idea") != -1 || image.IndexOf("key") != -1 || image.IndexOf("thankyou") != -1)
                            {
                                subject = "A Badge from " + user.FirstName + " " + user.LastName;
                            }

                            string jsonUserEmailId = "";
                            string subjectTo       = "";
                            foreach (string userEmailId in userEmailIds)
                            {
                                string userEmailIdTrim = userEmailId.Trim();
                                if (userEmailIdTrim != "")
                                {
                                    var authentication = new AuthenticationClient();
                                    var returnValue    = authentication.AuthenticateUserWithUserName(userEmailIdTrim);
                                    var sendtouser     = returnValue.user;

                                    if (jsonUserEmailId == "")
                                    {
                                        jsonUserEmailId = "{\"email\":\"" + userEmailIdTrim + "\"}";
                                        subjectTo       = sendtouser.FirstName + " " + sendtouser.LastName;
                                    }
                                    else
                                    {
                                        jsonUserEmailId = jsonUserEmailId + ", {\"email\":\"" + userEmailIdTrim + "\"}";
                                        subjectTo       = subjectTo + ", " + sendtouser.FirstName + " " + sendtouser.LastName;
                                    }
                                }
                            }

                            subject = subject + " to " + subjectTo;

                            string json =
                                "{ \"activity\": { \"actor\": { \"email\": \"" + user.EmailAddress + "\" },\"action\": \"create\", \"object\": { \"url\": \"" +
                                cononicalurl + "\", \"title\": \"" + subject +
                                "\", \"image\": \"" + image + "\", \"description\":\"" +
                                textSplit[0] +
                                "\" }, \"message\":  \"\", \"users\": [" + jsonUserEmailId + "]} }";
                            //string json = "{ \"activity\": { \"actor\": { \"name\": \"sankar\", \"email\": \"[email protected]\" },\"action\": \"create\", \"object\": { \"url\": \"https://www.bexcellent.com\", \"title\": \"I have Received a Badge\", \"image\": \"http://demo.bexcellent.com/images/gold-medal-recieved.png\", \"description\": \"You are Appreciated\" }, \"message\": \"Test from open graph!\", \"users\": [{ \"name\": \"venkat\", \"email\": \"[email protected]\"}]} }";
                            streamWriter.Write(json);
                            streamWriter.Flush();
                            streamWriter.Close();
                            //Thread.Sleep(1000);
                        }
                        var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                        using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                        {
                            streamReader.ReadToEnd();
                        }

                        PostOnWall(cononicalurl, text, subject, user.YammerToken);
                    }
                }
            }
            return("posted");
        }