public void IsEmpty_ProjectIdsIsEmptyOrNull_ReturnTrue() { //arrange var scope = new WorkflowAssignScope() { AllArtifacts = true, AllProjects = false, ArtifactIds = new List <int> { 1 }, ProjectIds = new List <int> { } }; var expectedResult = true; //act var result = scope.IsEmpty(); //assert Assert.AreEqual(expectedResult, result); //arrange scope.ProjectIds = null; //act result = scope.IsEmpty(); //assert Assert.AreEqual(expectedResult, result); }
public void IsEmpty_AllParametersIsOk_ReturnFalse() { //arrange var scope = new WorkflowAssignScope() { AllArtifacts = true, AllProjects = true, ArtifactIds = new List <int> { 1 }, ProjectIds = new List <int> { 1 } }; var expectedResult = false; //act var result = scope.IsEmpty(); //assert Assert.AreEqual(expectedResult, result); }
public async Task <IHttpActionResult> AssignProjectsAndArtifactTypesToWorkflow(int workFlowid, [FromBody] WorkflowAssignScope workflowAssign) { await _privilegesManager.Demand(Session.UserId, InstanceAdminPrivileges.AccessAllProjectData); if (workflowAssign == null) { throw new BadRequestException(ErrorMessages.AssignMemberScopeEmpty, ErrorCodes.BadRequest); } if (workflowAssign.IsEmpty()) { return(Ok(AssignProjectsResult.Empty)); } var result = await _workflowRepository.AssignProjectsAndArtifactTypesToWorkflow(workFlowid, workflowAssign); return(Ok(result)); }
public async Task <AssignProjectsResult> AssignProjectsAndArtifactTypesToWorkflow(int workflowId, WorkflowAssignScope scope) { var parameters = new DynamicParameters(); parameters.Add("@WorkflowId", workflowId); parameters.Add("@AllArtifactTypes", scope.AllArtifacts, dbType: DbType.Boolean); parameters.Add("@AllProjects", scope.AllProjects, dbType: DbType.Boolean); parameters.Add("@ArtifactTypesIds", SqlConnectionWrapper.ToDataTable(scope.ArtifactIds, "Int32Collection", "Int32Value")); parameters.Add("@ProjectIds", SqlConnectionWrapper.ToDataTable(scope.ProjectIds, "Int32Collection", "Int32Value")); parameters.Add("@AllProjectsAssignedToWorkflow", dbType: DbType.Boolean, direction: ParameterDirection.Output); parameters.Add("@ErrorCode", dbType: DbType.Int32, direction: ParameterDirection.Output); var result = await _connectionWrapper.ExecuteScalarAsync <int>("AssignProjectsAndArtifactTypesToWorkflow", parameters, commandType : CommandType.StoredProcedure); var errorCode = parameters.Get <int?>("ErrorCode"); if (errorCode.HasValue) { switch (errorCode.Value) { case (int)SqlErrorCodes.GeneralSqlError: throw new Exception(ErrorMessages.GeneralErrorOfAssignProjectsAndArtifactTypesToWorkflow); case (int)SqlErrorCodes.WorkflowWithCurrentIdNotExist: throw new ResourceNotFoundException(ErrorMessages.WorkflowNotExist, ErrorCodes.ResourceNotFound); case (int)SqlErrorCodes.WorkflowWithCurrentIdIsActive: throw new ConflictException(ErrorMessages.WorkflowIsActive, ErrorCodes.WorkflowIsActive); } } return(new AssignProjectsResult() { TotalAssigned = result, AllProjectsAssignedToWorkflow = parameters.Get <bool>("AllProjectsAssignedToWorkflow") }); }