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());
                }
            }
        }
Пример #2
0
        //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 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);
                }
            }
        }