コード例 #1
0
        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());
                }
            }
        }
コード例 #3
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 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());
                }
            }
        }