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); }
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 IActionResult listGroupsBySource() { var result = new SerializeableGroupList(); using (var db = new ClassroomContext()) { var fb = new FacebookConnector(HttpContext.Session); var facebookSet = new SerializableGroupSet(); facebookSet.Name = "Facebook"; var fbGroups = fb.getGroups(); fbGroups.ForEach(x => { var group = new SerializeableSingleGroup(); group.Name = x.name; group.Id = x.id; if (db.FacebookGroups.Where(y => y.id == x.id).Count() != 0) { group.isAdded = true; } else { group.isAdded = false; } facebookSet.Groups.Add(group); }); result.Groups.Add(facebookSet); } return(Json(result)); }
public IActionResult Index(int id) { using (var db = new ClassroomContext()) { return(View(db.Classrooms.Find(id))); } }
public IActionResult ClassRooms() { using (var db = new ClassroomContext()) { return(View(db.Classrooms.ToList())); } }
public IActionResult Users(string role, int id, bool adding = true) { String search = Request.Query["search[value]"]; List <User> allUsers = new List <Models.User>(); int recordsTotal = 0; int recordsFiltered = 0; using (var db = new ClassroomContext()) { if (!string.IsNullOrEmpty(search)) { allUsers = db.Users.Where(u => (u.Username.Contains(search) || u.Firstname.Contains(search) || u.Lastname.Contains(search) || u.Schoolname.Contains(search))).Include(u => u.UserRole).ToList <User>(); } else { allUsers = db.Users.Include(u => u.UserRole).Include(u => u.StudentClassrooms) .ToList <User>(); } allUsers.ForEach( u => u.UserRole.ForEach( ur => db.Entry(ur) .Reference(r => r.Role).Load())); if (!string.IsNullOrEmpty(role)) { allUsers.RemoveAll(u => u.UserRole.Where(ur => ur.Role.Slug.ToLower() == role).Count() == 0); } if (id != 0) { if (adding == true) { allUsers.RemoveAll(u => u.StudentClassrooms.Where(sc => sc.ClassroomId == id).Count() > 0); } else { allUsers.RemoveAll(u => u.StudentClassrooms.Where(sc => sc.ClassroomId == id).Count() == 0); } } recordsTotal = db.Users.Count(); recordsFiltered = allUsers.Count(); } var data = new List <Object>(); allUsers.ForEach(u => { var user = new List <String>(); user.Add(u.Id.ToString()); user.Add(u.Username); user.Add(u.Address); user.Add(u.City); data.Add(user); }); return(Json(new { data, recordsTotal, recordsFiltered })); }
public IActionResult docdata(string id) { using (var db = new ClassroomContext()) { var doc = db.Documents.Find(id); return(Json(doc)); } }
public IActionResult Roles() { List <Role> allRoles = new List <Models.Role>(); using (var db = new ClassroomContext()) { allRoles = db.Roles.ToList <Role>(); } return(View(allRoles)); }
public static void syncGroups() { using (var db = new ClassroomContext()) { var em = new ElasticManager(); var finishedGroups = new List <string>(); List <FacebookGroup> groups = db.FacebookGroups //.Include(x => x.posts) // .ThenInclude(post => post.comments) //.Include(x => x.posts) .Include(x => x.parentAuth) .ToList(); foreach (FacebookGroup group in groups) { if (!finishedGroups.Contains(group.id)) { try { List <FacebookGroupPost> posts = getGroupFeed(group.id, group.parentAuth); db.FacebookGroupPosts.RemoveRange(db.FacebookGroupPosts.ToList()); db.SaveChanges(); var extantDocs = db.Documents.Where(x => x.ExternalParentId == group.id); db.Documents.RemoveRange(extantDocs); foreach (var post in posts) { var convertedDoc = convertToDocument(post); if (convertedDoc != null) { db.Documents.Add(convertToDocument(post)); } } db.SaveChanges(); db.FacebookGroupPosts.AddRange(posts); db.SaveChanges(); finishedGroups.Add(group.id); } catch (Exception ex) { //swallow } } var docPosts = db.Documents.Where(x => x.ExternalParentId == group.id).ToList(); docPosts.ForEach(x => x.Id = x.ExternalId); em.addManyDocuments(docPosts); } //em.fill(); } }
public FacebookConnector(ISession session) { using (var db = new ClassroomContext()) { int?currentId = session.GetInt32(EnumStrings.currentuser); if (currentId != null) { currentUser = db.FacebookAuthSet.Where(x => x.UserId == currentId).FirstOrDefault(); } } }
public IActionResult Index() { List <Classroom> result = new List <Classroom>(); int?userId = HttpContext.Session.GetInt32(EnumStrings.currentuser); using (var db = new ClassroomContext()) { result = db.Classrooms.Where(x => x.StudentClassrooms.Where(y => y.UserId == userId).Count() > 0 || x.OwnerId == userId).ToList(); } return(View(result)); }
public IActionResult removeUserFromClassroom(int id, int userId) { using (var db = new ClassroomContext()) { UserClassrooms uc = new UserClassrooms(); uc = db.StudentClassrooms.Where(sc => sc.UserId == userId && sc.ClassroomId == id).Single(); db.StudentClassrooms.Remove(uc); db.SaveChanges(); } return(Json("fakjea")); }
public IActionResult NewRole(int?id) { if (id != null) { using (var db = new ClassroomContext()) { return(View(db.Roles.Single(r => r.Id == id))); } } return(View(new Role())); }
public IActionResult docdatasave(Document data) { using (var db = new ClassroomContext()) { db.Update(data); db.SaveChanges(); ElasticManager em = new ElasticManager(); em.addDocument(data); } return(Content("success")); }
public IActionResult addUserToClassroom(int id, int userId) { using (var db = new ClassroomContext()) { UserClassrooms uc = new UserClassrooms(); uc.ClassroomId = id; uc.UserId = userId; db.StudentClassrooms.Add(uc); db.SaveChanges(); } return(Json("fakjea")); }
public static bool login(string username, string password, ISession session) { using (var db = new ClassroomContext()) { User checkingUser = db.Users.Where(u => (u.Username == username || u.Email == username) && u.Password == password).SingleOrDefault(); if (checkingUser != null) { session.SetInt32("currentuser", checkingUser.Id); return(true); } } return(false); }
public ClassroomUnitOfWork( ClassroomContext context, IStudentRepository studentRepository, ICourseRepository courseRepository, IGradeRepository gradeRepository, IUserRepository userRepository ) : base(context) { Students = studentRepository; Courses = courseRepository; Grades = gradeRepository; Users = userRepository; }
public static int register(User newUser, string confpassword) { if (isRegistrable(newUser.Username, newUser.Email, newUser.Password, confpassword)) { using (var db = new ClassroomContext()) { db.Users.Add(newUser); db.SaveChanges(); return(newUser.Id); } } return(0); }
public IActionResult NewClassroom(int id) { { using (var db = new ClassroomContext()) { if (id != 0) { var classroom = db.Classrooms.Single(r => r.Id == id); return(View(classroom)); } } } return(View(new Classroom())); }
public void fill() { using (var db = new ClassroomContext()) { if (Client.IndexExists("classroom.search").Exists) { Client.DeleteIndex("classroom.search"); createIndex(); } var result = Client.IndexMany(db.Documents.ToList()); result = Client.IndexMany(db.FacebookGroupPosts.ToList()); } }
public IActionResult Users() { List <User> allUsers = new List <Models.User>(); using (var db = new ClassroomContext()) { allUsers = db.Users.Include(u => u.UserRole) .ToList <User>(); allUsers.ForEach( u => u.UserRole.ForEach( ur => db.Entry(ur) .Reference(r => r.Role).Load())); } return(View(allUsers)); }
public IActionResult SaveNewClassroom(Classroom newRoom) { var db = new ClassroomContext(); newRoom.OwnerId = SecurityHelper.currentUserId(HttpContext.Session); if (newRoom.Id == 0) { db.Classrooms.Add(newRoom); } else { db.Classrooms.Update(newRoom); } db.SaveChanges(); return(Redirect(Url.Action("NewClassroom", "Admin") + "/" + newRoom.Id)); }
public IActionResult Groups() { FacebookConnector fb = new FacebookConnector(HttpContext.Session); List <FacebookGroup> groups = fb.getGroups(); List <FacebookGroupPost> posts = fb.getGroupFeed("302929356816829"); using (var db = new ClassroomContext()) { db.FacebookGroupPosts.UpdateRange(posts); db.SaveChanges(); } List <Document> documents = new List <Document>(); return(View()); }
public static int register(string username, string email, string password, string confpassword) { if (isRegistrable(username, email, password, confpassword)) { using (var db = new ClassroomContext()) { User newUser = new User(); newUser.Username = username; newUser.Email = email; newUser.Password = password; db.Users.Add(newUser); db.SaveChanges(); return(newUser.Id); } } return(0); }
public IActionResult NewUser(int?id) { using (var db = new ClassroomContext()) { ViewData["roles"] = db.Roles.ToList(); } if (id != null) { using (var db = new ClassroomContext()) { var user = db.Users.Include(u => u.UserRole).Single(r => r.Id == id); user.UserRole.ForEach(u => db.Entry(u).Reference(ur => ur.Role).Load()); return(View(user)); } } return(View(new User())); }
public static bool isRegistrable(string username, string email, string password, string confpassword) { if (password != confpassword) { return(false); } using (var db = new ClassroomContext()) { if (db.Users.Where(u => (u.Username == username || u.Email == username)).Count() > 0) { return(false); } else { return(true); } } }
public IActionResult NewRoleSave(int?id) { Role role = new Role(); using (var db = new ClassroomContext()) { if (id != null) { role = db.Roles.Single(r => r.Id == id); } else { db.Roles.Add(role); } role.Name = Request.Form["role_name"]; role.Description = Request.Form["description"]; db.SaveChanges(); } return(Redirect("roles")); }
public IActionResult NewUserSave(User user) { if (!SecurityHelper.isRegistrable(user.Username, user.Email, user.Password, Request.Form["confpassword"])) { return(Redirect("/classroom/admin/newuser")); } using (var db = new ClassroomContext()) { if (user.Id == 0) { db.Users.Add(user); } else { db.Users.Update(user); } db.SaveChanges(); var roles = db.Roles; List <string> roleCodes = new List <string>(); roleCodes.AddRange(Request.Form["roles"].ToString().Split(',').ToList()); List <Role> resultRoles = roles.Where(r => roleCodes.Where(x => x.ToLower() == r.Slug.ToLower()).Count() > 0).ToList(); List <UserRole> existingRoles = db.UserRoles.Where(ur => ur.UserId == user.Id).ToList(); db.UserRoles.RemoveRange(existingRoles); foreach (Role role in resultRoles) { UserRole userRole = new UserRole(); userRole.User = user; userRole.Role = role; db.UserRoles.Add(userRole); } db.SaveChanges(); } return(Redirect("users")); }
public IActionResult saveAuthObject(FacebookAuth auth) { int? userId = HttpContext.Session.GetInt32("currentuser"); dynamic stringResponse; if (userId != null) { using (var db = new ClassroomContext()) { using (var client = new HttpClient()) { client.BaseAddress = new Uri("https://graph.facebook.com/v2.9/"); HttpResponseMessage response = client.GetAsync("oauth/access_token?grant_type=fb_exchange_token&client_id=" + Environment.GetEnvironmentVariable("FACEBOOK_APP_ID") + @"&client_secret=" + Environment.GetEnvironmentVariable("FACEBOOK_APP_SECRET") + @"&fb_exchange_token=" + auth.accessToken).Result; response.EnsureSuccessStatusCode(); // Throw in not success stringResponse = JsonConvert.DeserializeObject <dynamic>(response.Content.ReadAsStringAsync().Result); } User currentUser = db.Users.Find(userId); int? currAuth = db.FacebookAuthSet.Where(x => x.facebookUserId == auth.facebookUserId).Select(x => x.Id).SingleOrDefault(); auth.accessToken = stringResponse.access_token.ToString(); if (currAuth != 0) { auth.Id = (int)currAuth; db.FacebookAuthSet.Update(auth); } else { db.FacebookAuthSet.Add(auth); } auth.User = currentUser; db.SaveChanges(); } } return(Content("success")); }
public StudentsModel(ClassroomContext classroom) { db = classroom; }