示例#1
0
        public ActionResult Create(UserGroupVM groupVm)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new OperationResult(OperationResultType.ParamError, "参数错误,请重新检查输入")));
            }
            var result = _userGroupService.Insert(groupVm);

            result.Message = result.Message ?? result.ResultType.GetDescription();
            return(Json(result));
        }
示例#2
0
        public async Task <ActionResult> Create(string groupId, GroupUserModel groupUserModel)
        {
            try
            {
                string accessToken = Session["MicrosoftAccessToken"] as string;
                var    userService = new UserService(accessToken);
                var    user        = await userService.GetUsersByEmail(groupUserModel.UserEmail);

                if (user == null)
                {
                    ModelState.AddModelError("Error", "User with this email does not exist!");
                    ViewBag.Error = TempData["Error"];
                    var roleTypeService = new RoleTypeService(accessToken);
                    var allRoleTypes    = await roleTypeService.GetAllRoleTypes();

                    var defaultRole = allRoleTypes.Single(r => r.RoleKey == (int)RoleTypeEnum.Viewer);
                    ViewBag.RoleTypeId = new SelectList(allRoleTypes, "Id", "RoleName", defaultRole.Id);
                    ViewBag.GroupId    = groupId;
                    return(View(groupUserModel));
                }
                else
                {
                    UserGroup userGroup = new UserGroup
                    {
                        Id                 = Guid.NewGuid().ToString(),
                        GroupId            = groupId,
                        RoleTypeId         = groupUserModel.RoleTypeId,
                        UserId             = user.Id,
                        IsUserDefaultGroup = false
                    };

                    var userGroupService = new UserGroupService(accessToken);
                    await userGroupService.Insert(userGroup);

                    return(RedirectToAction("Index", new { groupId }));
                }
            }
            catch
            {
                return(View());
            }
        }