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 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 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 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()); } } }