public IActionResult saveGroupToRoom(int roomId, string groupset, string groupid) { using (var db = new ClassroomContext()) { if (groupset.ToLower() == "facebook") { var faceGroup = new FacebookGroup(); var fb = new FacebookConnector(HttpContext.Session); var fbGroups = fb.getGroups(); faceGroup = fbGroups.Where(x => x.id == groupid).FirstOrDefault(); faceGroup.ClassroomId = roomId; if (db.FacebookGroups.Where(x => x.id == groupid && x.ClassroomId == roomId).Count() == 0) { db.FacebookAuthSet.Update(faceGroup.parentAuth); db.FacebookGroups.Add(faceGroup); } else { db.FacebookGroups.Remove(db.FacebookGroups.Where(x => x.id == groupid && x.ClassroomId == roomId).First()); } } db.SaveChanges(); } return(Content("success")); }
public List <FacebookGroup> GetGroupName(string accesstoken) { List <FacebookGroup> lstGroupName = new List <FacebookGroup>(); try { FacebookClient fb = new FacebookClient(); fb.AccessToken = accesstoken; dynamic groups = fb.Get("me/groups"); foreach (var item in groups["data"]) { try { FacebookGroup objFacebookGroup = new FacebookGroup(); objFacebookGroup.Name = item["name"].ToString(); objFacebookGroup.GroupId = item["id"].ToString(); lstGroupName.Add(objFacebookGroup); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } return(lstGroupName); }
public static List <FacebookGroupPost> getGroupFeed(string groupId, FacebookAuth givenAuth = null) { string requestString = groupId + "/feed?fields=permalink_url,description,message,from,comments{message,from}"; requestString += "&access_token=" + givenAuth.accessToken; FacebookGroup group = new FacebookGroup(); using (var db = new ClassroomContext()) { group = db.FacebookGroups.Where(x => x.id == groupId).SingleOrDefault(); } string resultRaw = fireGetRequest(requestString); JToken resultJson = JObject.Parse(resultRaw)["data"]; List <FacebookGroupPost> result = JsonConvert.DeserializeObject <List <FacebookGroupPost> >(resultJson.ToString()); result.ForEach(x => { x.comments = new List <FacebookComment>(); x.parentGroup = group; }); foreach (JToken post in JObject.Parse(resultRaw)["data"]) { if (post["comments"] != null) { foreach (JToken comment in post["comments"]["data"]) { FacebookComment newComment = JsonConvert.DeserializeObject <FacebookComment>(comment.ToString()); result.Where(x => x.id == post["id"].ToString()).ToList().ForEach(x => x.comments.Add(newComment)); } } } return(result); }
/// <AddFacebookGroup> /// Add New Facebook Group /// </summary> /// <param name="group">Set Values in a FacebookGroup Class Property and Pass the same Object of FacebookGroup Class as a parameter (SocioBoard.Domain.FacebookGroup).</param> public void AddFacebookGroup(FacebookGroup group) { //Creates a database connection and opens up a session using (NHibernate.ISession session = SessionFactory.GetNewSession()) { //Begin session trasaction and opens up. using (NHibernate.ITransaction transaction = session.BeginTransaction()) { //Proceed action, to save new facebook Group. session.Save(group); transaction.Commit(); } //End trsaction } //End session }
//public List<FacebookGroup> GetFacebookUserGroup(dynamic group, dynamic profile,string token) //{ // List<FacebookGroup> temp = new List<FacebookGroup>(); // List<FacebookGroup> lstfacebookgroup1 = new List<FacebookGroup>(); // FacebookGroup objfacegroup = new FacebookGroup(); // User user = (User)HttpContext.Current.Session["LoggedUser"]; // FacebookFeedRepository fbfeedrepo = new FacebookFeedRepository(); // if (group != null) // { // foreach (var result in group["data"]) // { // objfacegroup.GroupiId = result["id"]; // temp.Add(objfacegroup); // } // foreach (var result in temp) // { // result.GroupiId // } // } //} //Saving FacebookGroups of user into database i.e. FacebookGroups table public void GetFacebookGroups(dynamic group, dynamic profile) { FacebookGroup fbgroup = new FacebookGroup(); User user = (User)HttpContext.Current.Session["LoggedUser"]; FacebookGroupRepository fbgrouprepo = new FacebookGroupRepository(); if (group != null) { try { fbgroup.Id = Guid.NewGuid(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { fbgroup.UserId = user.Id; } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { fbgroup.ProfileId = profile["id"].ToString(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } fbgroup.GroupId = group["id"]; fbgroup.Icon = group["icon"]; fbgroup.Cover = ""; fbgroup.Owner = group["owner"]["name"]; fbgroup.Name = group["name"]; fbgroup.Description = group["description"]; fbgroup.Link = group["link"]; fbgroup.Privacy = group["privacy"]; fbgroup.UpdatedTime = Convert.ToDateTime(group["updated_time"]); fbgroup.EntryDate = DateTime.Now; if (!fbgrouprepo.checkFacebookGroupExists(fbgroup.GroupId.ToString(), fbgroup.ProfileId.ToString())) { fbgrouprepo.AddFacebookGroup(fbgroup); } } }
public static List <FacebookGroup> GetFacebookGroups(string accessToken) { var lstAddFacebookGroup = new List <FacebookGroup>(); var fb = new FacebookClient { AccessToken = accessToken }; if (accessToken == null) { return(lstAddFacebookGroup); } try { dynamic output = fb.Get($"{FbConstants.FacebookApiVersion}/me/groups"); foreach (var item in output["data"]) { try { var objAddFacebookGroup = new FacebookGroup { ProfileGroupId = item["id"].ToString(), Name = item["name"].ToString(), AccessToken = accessToken }; lstAddFacebookGroup.Add(objAddFacebookGroup); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); return(null); } return(lstAddFacebookGroup); }
public SitemapGroupViewModel(FacebookGroup group, IEnumerable<FileInfo> posts) { Group = group; Posts = posts; }
/*========================================================================================================================== | METHOD: GET GROUPS (ASYNCHRONOUS) \-------------------------------------------------------------------------------------------------------------------------*/ /// <summary> /// Populates the collection with a list of <see cref="SkeptiForum.Archive.FacebookGroup"/> objects based on a query to the /// Facebook API. /// </summary> /// <param name="publicOnly"> /// Determines if only public groups should be listed. Set to false to load closed and private groups; be aware that this /// may introduce potential privacy concerns if also loading posts. Optionally overrides the value set for the collection. /// </param> /// <param name="filter"> /// Sets the filter to use in evaluating whether or not to include a group in the collection. This is intended to exclude /// groups not affiliated with the Skepti-Forum project. Optionally overrides the value set for the collection. /// </param> /// <returns>A collection of dynamic objects, each representing the JSON response from the Facebook Graph API.</returns> public override async Task<Collection<dynamic>> GetGroupsAsync(bool? publicOnly = null, string filter = null) { /*------------------------------------------------------------------------------------------------------------------------ | Establish defaults \-----------------------------------------------------------------------------------------------------------------------*/ string fields = ArchiveManager.Configuration?.Queries?.Groups?.Fields ?? "id,name,privacy"; int limit = ArchiveManager.Configuration?.Queries?.Groups?.Limit ?? 750; publicOnly = publicOnly ?? ArchiveManager.Configuration?.Queries?.Groups?.PublicOnly ?? true; filter = filter ?? ArchiveManager.Configuration?.Queries?.Groups?.Filter ?? "Skepti-Forum"; /*------------------------------------------------------------------------------------------------------------------------ | Establish variables \-----------------------------------------------------------------------------------------------------------------------*/ dynamic groupCollection = new Collection<dynamic>(); dynamic groupResults = await GetClient().GetTaskAsync("me/groups?limit=" + limit + "&fields=" + fields); /*------------------------------------------------------------------------------------------------------------------------ | Loop through each group and add it to the collection \-----------------------------------------------------------------------------------------------------------------------*/ foreach (dynamic group in groupResults.data) { if (!String.IsNullOrEmpty(filter) && !group.name.Contains(filter)) continue; if (publicOnly == true && !group.privacy.Equals("open", StringComparison.InvariantCultureIgnoreCase)) continue; FacebookGroup facebookGroup = new FacebookGroup(group); groupCollection.Add(facebookGroup); } return groupCollection; }