Example #1
0
        public CommonRtnEntity Add([FromBody] InRoleInfo info)
        {
            IRoleInfoServices services = new RoleInfoServices();

            int result = 0;

            RoleInfo roleInfo = info.Info;

            //编辑
            if (roleInfo.ID > 0)
            {
                roleInfo.UpdateTime = DateTime.Now;
                services.Update(roleInfo);
                result = roleInfo.ID;
            }
            else
            {
                result = services.Add(roleInfo);
            }

            CommonRtnEntity rtnInfo = new CommonRtnEntity()
            {
                Success = result > 0,
                Data    = result,
                Message = result > 0 ? "添加成功!" : "添加失败!"
            };

            return(rtnInfo);
        }
        public HttpResponseMessage IsUserInEachRole(string roles)
        {
            if (client == null)
            {
                return(InvalidConfig());
            }

            try
            {
                string userName = User.Identity.Name;
                if (string.IsNullOrEmpty(userName))
                {
                    return(CreateResponse(new { error = "Cannot determine the user." }, HttpStatusCode.Unauthorized));
                }

                if (string.IsNullOrEmpty(roles))
                {
                    return(CreateResponse(new { error = "Invalid list of roles." }, (HttpStatusCode)422));
                }

                string[] roleNames = roles.Split(',');

                InRoleInfo[] info = new InRoleInfo[roleNames.Length];
                for (int i = 0; i < roleNames.Length; i++)
                {
                    string r = roleNames[i];
                    info[i] = new InRoleInfo(r, User.IsInRole(r));
                }

                return(CreateResponse(new UserInEachRole(info, User.Identity), HttpStatusCode.OK));
            }
            catch (Exception e)
            {
                return(CreateResponse(new { error = e.Message }, (HttpStatusCode)500));
            }
        }