示例#1
0
        public CreateUserGroupResponse Post(CreateUserGroupRequest request)
        {
            CreateUserGroupResponse resp;

            using (var con = this.TenantDbFactory.ObjectsDB.GetNewConnection())
            {
                con.Open();
                string sql = "";
                if (request.Id > 0)
                {
                    sql = @"UPDATE eb_usergroup SET name = @name,description = @description WHERE id = @id;
                                    INSERT INTO eb_user2usergroup(userid,groupid) SELECT uid,@id FROM UNNEST(array(SELECT unnest(@users) except 
                                        SELECT UNNEST(array(SELECT userid from eb_user2usergroup WHERE groupid = @id AND eb_del = FALSE)))) as uid;
                                    UPDATE eb_user2usergroup SET eb_del = true WHERE userid IN(
                                        SELECT UNNEST(array(SELECT userid from eb_user2usergroup WHERE groupid = @id AND eb_del = FALSE)) except SELECT UNNEST(@users));";
                }
                else
                {
                    sql = @"INSERT INTO eb_usergroup (name,description) VALUES (@name,@description) RETURNING id;
                                       INSERT INTO eb_user2usergroup (userid,groupid) SELECT id, (CURRVAL('eb_usergroup_id_seq')) FROM UNNEST(@users) AS id";
                }

                var   cmd      = this.TenantDbFactory.ObjectsDB.GetNewCommand(con, sql);
                int[] emptyarr = new int[] { };
                cmd.Parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter("name", System.Data.DbType.String, request.Colvalues["groupname"]));
                cmd.Parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter("description", System.Data.DbType.String, request.Colvalues["description"]));
                cmd.Parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter("users", NpgsqlTypes.NpgsqlDbType.Array | NpgsqlTypes.NpgsqlDbType.Integer, (request.Colvalues["userlist"].ToString() != string.Empty) ? request.Colvalues["userlist"].ToString().Split(',').Select(n => Convert.ToInt32(n)).ToArray() : emptyarr));
                cmd.Parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter("id", System.Data.DbType.Int32, request.Id));
                resp = new CreateUserGroupResponse
                {
                    id = Convert.ToInt32(cmd.ExecuteScalar())
                };
            }
            return(resp);
        } //user group creation
示例#2
0
        public IUserGroup CreateUserGroup(string userGroupName)
        {
            CreateUserGroupRequest request = new CreateUserGroupRequest(userGroupName);

            connection.Put(request);

            return(new UserGroup(userGroupName, connection));
        }
示例#3
0
        public async Task <CreateUserGroupResponse> CreateUserGroup(CreateUserGroupRequest o)
        {
            var result = new CreateUserGroupResponse(o.RequestId);

            result.Application = o.Application;
            result.Id          = await Server.CreateUserGroup(o.Application, o.Name, o.Description);

            return(result);
        }
        public async Task <bool> Handle(CreateUserGroupRequest message, IOutputPort <CreateUserGroupResponse> outputPort)
        {
            var entity = await _groupRepository.Create(message.Name, message.Description, message.Role, message.Members);

            //var response = await _userRepository.Create(message.FirstName, message.LastName,message.Email, message.UserName, message.Password);
            //outputPort.Handle(response.Success ? new CreateUserGroupResponse(response.Id, true) : new CreateUserGroupResponse(response.Errors.Select(e => e.Description)));
            outputPort.Handle(new CreateUserGroupResponse(entity.guid.ToString(), true));
            return(true);
        }
        private void ValidateForCreating(CreateUserGroupRequest request)
        {
            if (string.IsNullOrWhiteSpace(request.Name))
            {
                throw new App.Common.Validation.ValidationException("security.addOrUpdateUserGroup.validation.nameIsRequire");
            }
            IUserGroupRepository repo = IoC.Container.Resolve <IUserGroupRepository>();

            if (repo.GetByName(request.Name) != null)
            {
                throw new App.Common.Validation.ValidationException("security.addOrUpdateUserGroup.validation.nameAlreadyExist");
            }
        }
 public CreateUserGroupResponse Create(CreateUserGroupRequest request)
 {
     this.ValidateCreateRequest(request);
     using (App.Common.Data.IUnitOfWork uow = new App.Common.Data.UnitOfWork(RepositoryType.MSSQL))
     {
         IUserGroupRepository  userGroupRepository = IoC.Container.Resolve <IUserGroupRepository>(uow);
         IPermissionRepository permissionRepo      = IoC.Container.Resolve <IPermissionRepository>(uow);
         IList <Permission>    permissions         = permissionRepo.GetPermissions(request.PermissionIds);
         UserGroup             userGroup           = new UserGroup(request.Name, request.Description, permissions);
         userGroupRepository.Add(userGroup);
         uow.Commit();
         return(new CreateUserGroupResponse(userGroup));
     }
 }
示例#7
0
        /// <summary>
        /// 新建用户组
        /// </summary>
        /// <param name="req"><see cref="CreateUserGroupRequest"/></param>
        /// <returns><see cref="CreateUserGroupResponse"/></returns>
        public CreateUserGroupResponse CreateUserGroupSync(CreateUserGroupRequest req)
        {
            JsonResponseModel <CreateUserGroupResponse> rsp = null;

            try
            {
                var strResp = this.InternalRequestSync(req, "CreateUserGroup");
                rsp = JsonConvert.DeserializeObject <JsonResponseModel <CreateUserGroupResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
        public IResponseData <CreateUserGroupResponse> CreateUserGroup(CreateUserGroupRequest request)
        {
            IResponseData <CreateUserGroupResponse> response = new ResponseData <CreateUserGroupResponse>();

            try
            {
                IUserGroupService       userGroupService  = IoC.Container.Resolve <IUserGroupService>();
                CreateUserGroupResponse userGroupResponse = userGroupService.Create(request);
                response.SetData(userGroupResponse);
            }
            catch (ValidationException ex)
            {
                response.SetErrors(ex.Errors);
                response.SetStatus(System.Net.HttpStatusCode.PreconditionFailed);
            }
            return(response);
        }
        public async Task <IActionResult> Post([FromRoute] Request route, [FromBody] CreateUserGroupRequest request)
        {
            IActionResult result = null;

            var id = await Server.CreateUserGroup(route.Application, request.Name, request.Description);

            if (id != Guid.Empty)
            {
                result = Factory.CreateSuccessResponse(id);
            }
            else
            {
                result = Factory.CreateNoContentResponse();
            }

            return(result);
        }
        public CreateUserGroupResponse CreateUserGroup(CreateUserGroupRequest request)
        {
            IUserGroupService userGroupService = IoC.Container.Resolve <IUserGroupService>();

            return(userGroupService.Create(request));
        }
        public ActionResult AddUserGroup(CreateUserGroupRequest createRequest)
        {
            var newUserGroup = _repository.AddUserGroup(createRequest.UserEmail, createRequest.GroupId);

            return(Created($"api/userGroup/{newUserGroup.Id}", newUserGroup));
        }