示例#1
0
        public async Task <CreateDepartmentResponse> CreateDepartmentAsync(CreateDepartmentRequest request)
        {
            AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
            CreateDepartmentHeaders headers = new CreateDepartmentHeaders();

            return(await CreateDepartmentWithOptionsAsync(request, headers, runtime));
        }
示例#2
0
        public CreateDepartmentResponse CreateDepartment(CreateDepartmentRequest request)
        {
            AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
            CreateDepartmentHeaders headers = new CreateDepartmentHeaders();

            return(CreateDepartmentWithOptions(request, headers, runtime));
        }
示例#3
0
        public CreateDepartmentResponse CreateDepartmentWithOptions(CreateDepartmentRequest request, CreateDepartmentHeaders headers, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime)
        {
            AlibabaCloud.TeaUtil.Common.ValidateModel(request);
            Dictionary <string, object> body = new Dictionary <string, object>()
            {
            };

            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.AuthInfo))
            {
                body["authInfo"] = request.AuthInfo;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.AuthType))
            {
                body["authType"] = request.AuthType;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.BizExt))
            {
                body["bizExt"] = request.BizExt;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.DepartmentName))
            {
                body["departmentName"] = request.DepartmentName;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.DepartmentType))
            {
                body["departmentType"] = request.DepartmentType;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Description))
            {
                body["description"] = request.Description;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.SystemUrl))
            {
                body["systemUrl"] = request.SystemUrl;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.UserId))
            {
                body["userId"] = request.UserId;
            }
            Dictionary <string, string> realHeaders = new Dictionary <string, string>()
            {
            };

            if (!AlibabaCloud.TeaUtil.Common.IsUnset(headers.CommonHeaders))
            {
                realHeaders = headers.CommonHeaders;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(headers.XAcsDingtalkAccessToken))
            {
                realHeaders["x-acs-dingtalk-access-token"] = AlibabaCloud.TeaUtil.Common.ToJSONString(headers.XAcsDingtalkAccessToken);
            }
            AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest
            {
                Headers = realHeaders,
                Body    = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body),
            };
            return(TeaModel.ToObject <CreateDepartmentResponse>(DoROARequest("CreateDepartment", "devicemng_1.0", "HTTP", "POST", "AK", "/v1.0/devicemng/departments", "json", req, runtime)));
        }
示例#4
0
        public async Task <IActionResult> CreateDepartment(
            [FromServices] ICreateDepartmentUseCase createDepartmentUseCase,
            [FromServices] CreateDepartmentPresenter createDepartmentPresenter,
            [FromBody] CreateDepartmentRequest input)
        {
            await createDepartmentUseCase.Execute(new CreateDepartmentInput(input.Name, input.HeadId));

            return(createDepartmentPresenter.ViewModel);
        }
        public async Task <IActionResult> Create(CreateDepartmentRequest model)
        {
            var command = new CreateDepartment.Command {
                CreateDepartmentRequest = model
            };

            return(await ExecuteCommand(command)
                   .ConfigureAwait(false));
        }
		public async Task<IActionResult> CreateDepartment(CreateDepartmentRequest request)
		{
			if (ModelState.IsValid)
			{
				var response = await _createDepartmentRequestClient.GetResponse<CreateDepartmentResponse>(request);
				return Accepted(response.Message);
			}

			return BadRequest(ModelState);
		}
示例#7
0
    public override async Task <GuidRequired> CreateDepartment(CreateDepartmentRequest request, ServerCallContext context)
    {
        var command = new CreateDepartmentCommand
        {
            Name      = request.Name,
            IsEnabled = request.IsEnabled,
            ParentId  = request.ParentId,
        };
        var result = await _organizationApp.CreateDepartmentAsync(command);

        return(result);
    }
示例#8
0
    public async Task <IActionResult> CreateDepartmentAsync([FromBody] CreateDepartmentInput input)
    {
        var request = new CreateDepartmentRequest
        {
            Name      = input.Name,
            IsEnabled = input.IsEnabled,
            ParentId  = input.ParentId,
        };
        var response = (Guid)await _organizationClient.CreateDepartmentAsync(request);

        return(CreatedAtAction(nameof(GetDepartmentAsync), new { Id = response }, default));
    }
示例#9
0
        public async Task <IHttpActionResult> AddDepartment([FromBody] CreateDepartmentRequest createRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var createdDepartment = await _departmentService.CreateDepartmentAsync(createRequest);

            var location = string.Format("/api/departments/{0}", createdDepartment.Id);

            return(Created <Department>(location, createdDepartment));
        }
示例#10
0
        public async Task <IActionResult> CreateDepartmentAsync([FromBody] CreateDepartmentRequest createDepartmentRequest)
        {
            if (string.IsNullOrWhiteSpace(createDepartmentRequest.DepartmentName))
            {
                return(BadRequest("Invalid department name"));
            }

            var model = _mapper.Map <DepartmentModel>(createDepartmentRequest);
            await _departmentManager.InsertDepartmentAsync(model);

            var response = _mapper.Map <CreateDepartmentResponse>(model);

            return(Ok(response));
        }
示例#11
0
        public DepartmentInfo CreateDepartment(
            string name, string code, string path,
            Nullable <bool> isActive, Nullable <DateTime> start, Nullable <DateTime> end)
        {
            CreateDepartmentRequest request = new CreateDepartmentRequest()
            {
                Name      = name,
                Code      = code,
                Path      = path,
                IsActive  = isActive ?? true,
                StartDate = start ?? DateTime.MinValue,
                EndDate   = end ?? DateTime.MinValue
            };
            CreateDepartmentResponse response = CallWebService <
                IOrgUnitManagementServicev1_0, CreateDepartmentRequest, CreateDepartmentResponse>(
                m_service1_0, request, (s, q) => s.CreateDepartment(q));

            return(response.Department);
        }
示例#12
0
        public IActionResult CreateDepartment([FromBody] CreateDepartmentRequest createDepartmentRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (_dbContext.Departments.Any(u => u.Name == createDepartmentRequest.Name))
            {
                return(BadRequest($"Name {createDepartmentRequest.Name} is not unique"));
            }

            if (string.IsNullOrEmpty(createDepartmentRequest.Name))
            {
                return(BadRequest($"Department name is empty"));
            }

            var dbDepartment = new Department
            {
                Name = createDepartmentRequest.Name
            };

            using (var txn = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    _dbContext.Departments.Add(dbDepartment);
                    _dbContext.SaveChanges();

                    txn.Commit();
                }
                catch
                {
                    txn.Rollback();
                    throw;
                }
            }

            return(Ok(dbDepartment.DepartmentToWebDepartment()));
        }
示例#13
0
        public async Task <IActionResult> CreateDepartmentAsync([FromBody] CreateDepartmentRequest department)
        {
            try
            {
                _logger.LogInformation("Creating new department");

                var currentUserId         = GetCurrentUserId();
                var isRequestingUserAdmin = await _userBusiness
                                            .CheckAdminPrivilegesAsync(currentUserId)
                                            .ConfigureAwait(false);

                if (!isRequestingUserAdmin)
                {
                    _logger.LogInformation($"User with id {currentUserId} tried to manipulate department data.");
                    return(Unauthorized());
                }

                var newUser = await _masterDataBusiness
                              .CreateDepartmentAsync(department.DepartmentName)
                              .ConfigureAwait(false);

                return(Ok(newUser.Map()));
            }
            catch (DepartmentAlreadyExistsException)
            {
                _logger.LogInformation("Could not create department because it already exists");
                return(BadRequest());
            }
            catch (MissingDataException)
            {
                _logger.LogInformation("Could not create department due to missing data");
                return(BadRequest());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Unexpected error while creating new user");
                return(StatusCode(500));
            }
        }
        public DepartmentViewModel CreateDepartment(CreateDepartmentRequest request, string createdBy, IEnumerable <string> roles = null)
        {
            if (roles.Count() == 0 || roles == null)
            {
                return(null);
            }

            if (request.Id.IsEmpty())
            {
                throw new Exception(Constants.ERR_EMPTY_ID);
            }
            else if (request.Id.Length > Constants.CONSTRAINT_DEPID_MAXLEN)
            {
                throw new Exception(Constants.ERR_DEPID_MAXLEN);
            }

            if (request.RoomNumber.IsEmpty())
            {
                throw new Exception(Constants.ERR_EMPTY_ROOMNUM);
            }
            else if (request.RoomNumber.Length > Constants.CONSTRAINT_ROOMNUM_MAXLEN)
            {
                throw new Exception(Constants.ERR_ROOMNUM_MAXLEN);
            }

            if (request.Hotline.Length > Constants.CONSTRAINT_HOTLINE_MAXLEN)
            {
                throw new Exception(Constants.ERR_HOTLINE_MAXLEN);
            }

            var repo = _unitOfWork.Repository <Department>();

            var creatingDepartment = _mapper.Map <Department>(request);

            try
            {
                creatingDepartment.CreatedBy = createdBy;
                creatingDepartment.UpdatedBy = createdBy;
                repo.Insert(creatingDepartment);
                repo.Commit();
            }
            catch (DbUpdateException due)
            {
                var se = due.GetBaseException() as SqlException;
                if (se != null)
                {
                    if (se.Errors.Count > 0)
                    {
                        switch (se.Errors[0].Number)
                        {
                        case 547:     // Foreign Key violation
                            throw new Exception(Constants.ERR_ROLE_FK);

                        case 2627:
                            throw new Exception(Constants.ERR_PK_EXIST);

                        default:
                            throw;
                        }
                    }
                }
            }



            return(_mapper.Map <DepartmentViewModel>(creatingDepartment));
        }
示例#15
0
        /// <summary>
        /// 创建部门
        /// 文档:https://exmail.qq.com/qy_mng_logic/doc#10008
        /// </summary>
        /// <param name="department">部门信息</param>
        /// <returns>返回结果</returns>
        public CreateDepartmentResult Create(CreateDepartmentRequest department)
        {
            var accessToken = Client.GetToken();

            return(Client.PostAsJson <CreateDepartmentResult>("/department/create", new { accessToken.access_token }, department));
        }
        public async Task <ActionResult <BaseResponse <DepartmentViewModel> > > PostAccount([FromBody] CreateDepartmentRequest request)
        {
            try
            {
                var raw       = Request.Headers.FirstOrDefault(x => x.Key.Equals("Authorization")).Value;
                var requester = IdentityManager.GetUsernameFromToken(raw);
                var roles     = IdentityManager.GetRolesFromToken(raw);

                var result = _departmentService.CreateDepartment(request, requester, roles);

                if (result == null)
                {
                    return(BadRequest(new ErrorResponse(StatusCodes.Status400BadRequest.ToString()
                                                        , "Failed to create a department")));
                }

                return(Created(result.Id.ToString(), new BaseResponse <DepartmentViewModel>()
                {
                    Data = result
                }));
            }
            catch (Exception ex)
            {
                if (ex.Message.StartsWith("ERR"))
                {
                    return(BadRequest(new ErrorResponse(ex.Message)));
                }
                else
                {
                    throw;
                }
            }
        }