Пример #1
0
        public IHttpActionResult getGod()
        {
            results res    = new results();
            string  userid = "";

            try
            {
                userid = HttpContext.Current.Session["sid"].ToString();
                if (userid == "")
                {
                    res.result = 0;//未登录
                    return(Ok(res));
                }
            }
            catch
            {
                res.result = 0;//未登录
                return(Ok(res));
            }
            using (var db = new oucfreetalkEntities())
            {
                var search = (from it in db.accountaccess
                              where it.studentid == userid && it.classid == -2
                              select it).ToList();//确认是否为狗管理
                if (search.Count != 0)
                {
                    res.result = 2;//你已经是狗管理了
                    return(Ok(res));
                }
                else
                {
                    accountaccess ata = new accountaccess();
                    ata.studentid  = userid;
                    ata.createtime = DateTime.Now;
                    ata.classid    = -2;
                    try
                    {
                        db.accountaccess.Add(ata);
                        if (db.SaveChanges() == 0)
                        {
                            res.result = 4;//服务器错误
                            return(Ok(res));
                        }
                        res.result = 1;//授予成功
                        return(Ok(res));
                    }
                    catch
                    {
                        res.result = 3;//服务器错误
                        return(Ok(res));
                    }
                }
            }
        }
Пример #2
0
        public IHttpActionResult setAccess(setaccessdata sad)
        {
            results res    = new results();
            string  userid = "";

            try
            {
                userid = HttpContext.Current.Session["sid"].ToString();
                if (userid == "")
                {
                    res.result = 0;//未登录
                    return(Ok(res));
                }
            }
            catch
            {
                res.result = 0;//未登录
                return(Ok(res));
            }
            using (var db = new oucfreetalkEntities())
            {
                var search = (from it in db.accountaccess
                              where it.studentid == userid && it.classid == -2
                              select it).ToList();
                if (search.Count == 0)
                {
                    res.result = 2;//不是管理员的管理员
                    return(Ok(res));
                }
                if (sad.accessclass != -1)
                {
                    var search_access = (from it in db.postclass
                                         where it.id == sad.accessclass
                                         select it).ToList();
                    if (search_access.Count == 0)
                    {
                        res.result = 5;//权限不存在
                        return(Ok(res));
                    }
                }
                var search_stu_access = (from it in db.accountaccess
                                         where it.studentid == sad.stuid && (it.classid == sad.accessclass || it.classid == -1)
                                         select it).ToList();
                if (search_stu_access.Count != 0)
                {
                    res.result = 6;//已有权限或者更高权限
                    return(Ok(res));
                }

                try
                {
                    accountaccess ata = new accountaccess();
                    ata.studentid  = userid;
                    ata.createtime = DateTime.Now;
                    ata.classid    = sad.accessclass;
                    db.accountaccess.Add(ata);
                    if (sad.accessclass == -1)//如果添加的是板块总管理员,删除其他版主身份
                    {
                        for (int i = 0; i < search_stu_access.Count; i++)
                        {
                            if (search_stu_access[i].classid != -2)
                            {
                                db.accountaccess.Remove(search_stu_access[i]);
                            }
                        }
                    }
                    if (db.SaveChanges() == 0)
                    {
                        res.result = 4;//服务器错误
                        return(Ok(res));
                    }
                    res.result = 1;
                    return(Ok(res));
                }
                catch
                {
                    res.result = 3;
                    return(Ok(res));
                }
            }
        }