public IQueryable GetMyGroupKey(string owner) { //string gk = ""; using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { var gid_war = context.Group_Status_Table.SingleOrDefault(s => s.groupname == owner + "Friends"); int gid = gid_war.groupid; var raws = context.Group_Key_Table.Where(g => g.groupid == gid && g.username == owner).ToList(); int Maxvn = raws.Max(r => r.version_num); var k2 = context.Group_Key_Table.Where(u => u.groupid == gid && u.version_num == Maxvn && u.username == owner). Select(u => new { groupid = u.groupid, version_num = u.version_num, groupKey = u.groupKey }).ToList(); //gk = k2.groupKey; return(k2.AsQueryable()); } }
public String PostGroupStatus(Group_Status_Table group_status_table) { string status; using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { try { context.Group_Status_Table.Add(group_status_table); if (context.SaveChanges() > 0) { status = group_status_table.groupid.ToString(); return(status); } else { status = "failed"; return(status); } } catch (Exception e) { status = e.ToString(); return(status); } } }
public String AddNewKeyData(string username, string gid, string new_key, string vn) { int group_id_int = int.Parse(gid); int version_no_int = int.Parse(vn); using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { try { Group_Key_Table new_data = new Group_Key_Table { username = username, groupKey = new_key, groupid = group_id_int, version_num = version_no_int }; context.Group_Key_Table.Add(new_data); if (context.SaveChanges() > 0) { return("ok"); } else { return("add failed"); } }catch (Exception e) { return(e.ToString()); } } }
public String UpdateStatustoClean(int gid) { using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { try { Group_Status_Table new_status = new Group_Status_Table { }; new_status.groupid = gid; context.Group_Status_Table.Attach(new_status); new_status.status = 0; context.Entry(new_status).Property(n => n.status).IsModified = true; var st = "fail"; if (context.SaveChanges() > 0) { return("ok"); } else { return(st); } } catch (Exception e) { return(e.ToString()); } } }
public string RemoveRequest(string owner, string new_user, string groupname) { using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { try { var rawToRemove = context.Group_Invitation_Table.Single(i => i.username_to == owner && i.username_from == new_user && i.groupname == groupname); context.Group_Invitation_Table.Remove(rawToRemove); if (context.SaveChanges() < 0) { return("ok"); } else { return("failed in Save Context"); } }catch (Exception e) { return(e.ToString()); } } }
public string uploadPost(Post_Table post_table) { string query_status = "failed"; using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { try { context.Post_Table.Add(post_table); if (context.SaveChanges() > 0) { query_status = "ok"; return(query_status); } else { return(query_status); } } catch (Exception e) { query_status = "failed" + e.ToString(); return(query_status); } } }
public IQueryable FindFriends(string text, string username) { using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { var currently_following = context.Group_Table.Where(g => g.username == username && g.isOwner == "no" && g.isFriend == "yes").ToList(); if (text.Equals("All") || text.Equals("all") || text.Equals("ALL")) { var users = context.Users.Where(u => u.username != username) .Select(u => new { username = u.username, groupname = u.username + "Friends" }).ToList(); var result = from fnew in users from cur in currently_following where fnew.groupname != cur.groupname select fnew; var result_ = result.ToList(); if (result_ == null || !(result_.Any())) { return(users.AsQueryable()); } return(result_.AsQueryable()); } else { var users = context.Users.Where(u => u.username.Contains(text) && u.username != username) .Select(u => new { username = u.username, groupname = u.username + "Friends" }).ToList(); var result = from fnew in users from cur in currently_following where fnew.groupname != cur.groupname select fnew; var result_ = result.ToList(); if (result_ == null || !(result_.Any())) { return(users.AsQueryable()); } return(result_.AsQueryable()); } } }
public List <Group_Status_Table> getAGroup(int id) { using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { var gps = context.Group_Status_Table.Where(g => g.groupid == id).ToList(); return(gps); } }
public List <Post_Table> GetAllPosts() { using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { var posts = context.Post_Table.ToList(); return(posts); } }
public List <Group_Invitation_Table> GetFriendsRequest(string username_to) { using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { var invites = context.Group_Invitation_Table.Where(i => i.username_to == username_to && i.isFriend == "yes").ToList(); return(invites); } }
public Group_Status_Table GetGroupInfo(string groupname) { using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { var gps = context.Group_Status_Table.Single(g => g.groupname == groupname); return(gps); } }
public List <Group_Status_Table> GetAllGroupInfo(string groupname) { using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { var gps = context.Group_Status_Table.ToList(); return(gps); } }
public List <User> GetUserInfo(string username) { using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { var user_info = context.Users.Where(u => u.username == username).ToList(); return(user_info); } }
public int?GetMaxVersion(int gid) { using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { int?maxV = (int?)context.Group_Key_Table.Where(g => g.groupid == gid).Max(g => (int?)g.version_num); return(maxV); } }
//public String PostUser(string username, string password, string emailid, string firstname, string lastname, string mobile) public String PostUser(User user, string defaultGroupKey) { string query_status; using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { try { context.Users.Add(user); int?maxGroupID = (int?)context.Group_Status_Table.Max(g => (int?)g.groupid); Group_Status_Table gst = new Group_Status_Table { groupid = (maxGroupID == null) ? 1 : (int)maxGroupID + 1, groupname = user.username + "Friends", status = 0 }; context.Group_Status_Table.Add(gst); Group_Table gt = new Group_Table { username = user.username, groupid = gst.groupid, groupname = gst.groupname, isFriend = "yes", isOwner = "yes" }; context.Group_Table.Add(gt); Group_Key_Table gk = new Group_Key_Table { username = user.username, groupKey = defaultGroupKey, groupid = gst.groupid, version_num = 1 }; context.Group_Key_Table.Add(gk); int x = context.SaveChanges(); if (x > 0) { query_status = "OK"; return(query_status); } else { query_status = "failed"; return(query_status); } } catch (Exception e) { query_status = e.ToString(); return(query_status); } } }
public string GetPublicKey(string username) { string pk = ""; using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { var pub = context.Users.Single(u => u.username == username); pk = pub.publickey; return(pk); } }
public IQueryable UserAuth(string username, string password) { using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { var user = context.Users.Where(u => u.username == username && u.password == password) .Select(u => new { username = u.username, password = u.password, }).ToList(); return(user.AsQueryable()); } }
public string AcceptGroupRequest(Group_Key_Table group_key_table, string gname, string owner) { string query_result = "failed"; using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { string s = ""; try { context.Group_Key_Table.Add(group_key_table); s += "group_key_added "; Group_Table group_table = new Group_Table { username = group_key_table.username, groupid = group_key_table.groupid, groupname = gname, isOwner = "no", isFriend = "no" }; context.Group_Table.Add(group_table); s += "group_table_added "; var rawToRemove = context.Group_Invitation_Table.Single(t => t.username_from == group_key_table.username && t.username_to == owner && t.groupid == group_key_table.groupid); context.Group_Invitation_Table.Remove(rawToRemove); s += "removed_raw "; if (context.SaveChanges() > 0) { query_result = "ok"; return(query_result); } else { return(s + query_result); } } catch (Exception e) { query_result = s + e.ToString(); return(query_result); } } }
public IQueryable GetMyPosts(string username) { using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { var query = from posts in context.Post_Table from groups in context.Group_Table.Where(t => t.username == username) where groups.groupid == posts.groupid select posts; var result = query.ToList(); var public_post = context.Post_Table.Where(p => p.privacy == "Public" && p.ownerusername != username).ToList(); var final_result = result.Union(public_post).OrderByDescending(g => g.timestamp); return(final_result.AsQueryable()); } }
public string addRequest(Group_Invitation_Table data) { string status = "failed"; using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { var already_exists = context.Group_Invitation_Table.SingleOrDefault(u => u.username_from == data.username_from && u.groupid == data.groupid); if (already_exists is null) { try { if (data == null) { return("its null"); } context.Group_Invitation_Table.Add(data); if (context.SaveChanges() > 0) { status = "SENT"; return(status); } else { status = "failed in save"; return(status); } } catch (Exception e) { status = e.ToString(); return(status); } } else { return("SENT"); } } }
public IQueryable GetStatusAndDetails(int gid) { using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { try { var stat = context.Group_Status_Table.Single(g => g.groupid == gid); if (stat.status == 1) { int?maxV = (int?)context.Group_Key_Table.Where(g => g.groupid == gid).Max(g => (int?)g.version_num); var users = context.Group_Key_Table.Where(u => u.groupid == gid && u.version_num == maxV).ToList(); var user_details_ = from u in users from user in context.Users.ToList() where u.username == user.username select new { username = u.username, publicKey = user.publickey }; var result = user_details_.ToList(); return(result.AsQueryable()); } else { return(null); } }catch (Exception e) { return(null); } } }
public string GetGroupKey(int gid, int vn, string owner) { string gk = ""; using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { if (vn == 0) { var raws = context.Group_Key_Table.Where(g => g.groupid == gid && g.username == owner).ToList(); int Maxvn = raws.Max(r => r.version_num); var k2 = context.Group_Key_Table.Single(u => u.groupid == gid && u.version_num == Maxvn && u.username == owner); gk = k2.groupKey; return(gk); } else { var k1 = context.Group_Key_Table.Single(u => u.groupid == gid && u.version_num == vn && u.username == owner); gk = k1.groupKey; return(gk); } } }
public string RemoveGroup(int gid, string gname, string username) { string check_ = ""; using (MlaDatabaseEntities context = new MlaDatabaseEntities()) { var f = context.Group_Table.Single(g => g.groupid == gid && g.username == username); if (f.isOwner == "yes") { return("Can not Remove Owner"); } check_ += "Ownership checked "; try { var gt_ = context.Group_Table.Single(t => t.groupname == gname && t.groupid == gid && t.username == username); string grp_name = gt_.groupname; context.Group_Table.Remove(gt_); check_ += " gt removed "; int?maxV = (int?)context.Group_Key_Table.Where(g => g.groupid == gid).Max(g => (int?)g.version_num); var gk_ = context.Group_Key_Table.Single(t => t.groupid == gid && t.username == username && t.version_num == maxV); context.Group_Key_Table.Remove(gk_); check_ += "gkt removed "; //update status Group_Status_Table new_status = new Group_Status_Table { }; new_status.groupid = gid; context.Group_Status_Table.Attach(new_status); new_status.status = 1; context.Entry(new_status).Property(n => n.status).IsModified = true; check_ += " status checked"; if (context.SaveChanges() > 0) { return("removed"); } else { return("failed"); } } catch (Exception e) { return(check_ + e.ToString()); } } }