正式用户 非正式用户代码修改

This commit is contained in:
2023-01-03 16:17:01 +08:00
parent 75c598c912
commit caa573551e
14 changed files with 174 additions and 7 deletions
@@ -110,10 +110,17 @@ namespace IRaCIS.Core.Application.Service
}
else
{
var trialType = await _repository.Where<Trial>(t => t.Id == addOrEditTrialExternalUser.TrialId).Select(t => t.TrialType).FirstOrDefaultAsync();
//生成账户 并插入
var generateUser = _mapper.Map<User>(addOrEditTrialExternalUser);
if (trialType == TrialType.NoneOfficial)
{
generateUser.IsTestUser = true;
}
generateUser.Code = _userRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1;
@@ -105,15 +105,21 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task<PageOutput<TrialUserScreeningDTO>> GetTrialUserScreeningList(TrialUserQuery trialUserQuery)
{
var trialType = _trialRepository.Where(t => t.Id == trialUserQuery.TrialId).Select(t => t.TrialType).FirstOrDefault();
//之前已经选择的用户 不放在列表中,现在又要改回去 废弃
var query = _repository.Where<User>(t => t.UserTypeEnum != UserTypeEnum.SuperAdmin)
.WhereIf(!string.IsNullOrWhiteSpace(trialUserQuery.UserRealName), t => (t.FullName).Contains(trialUserQuery.UserRealName))
.WhereIf(!string.IsNullOrWhiteSpace(trialUserQuery.UserName), t => t.UserName.Contains(trialUserQuery.UserName))
//正式或者培训的项目不能允许测试用户
.WhereIf( trialType==TrialType.OfficialTrial||trialType==TrialType.Training, t => t.IsTestUser==false)
.WhereIf(!string.IsNullOrWhiteSpace(trialUserQuery.UserRealName), t => (t.FullName).Contains(trialUserQuery.UserRealName))
.WhereIf(!string.IsNullOrWhiteSpace(trialUserQuery.UserName), t => t.UserName.Contains(trialUserQuery.UserName))
//.WhereIf(!string.IsNullOrWhiteSpace(trialUserQuery.OrganizationName), t => t.OrganizationName.Contains(trialUserQuery.OrganizationName))
.WhereIf(trialUserQuery.UserTypeEnum != null, t => t.UserTypeEnum == trialUserQuery.UserTypeEnum)
.WhereIf(trialUserQuery.UserTypeEnum != null, t => t.UserTypeEnum == trialUserQuery.UserTypeEnum)
//.WhereIf(_userInfo.IsAdmin, t => t.UserTypeRole.Type == UserTypeGroup.TrialUser)
//.WhereIf(!_userInfo.IsAdmin, t => t.UserTypeRole.Type == UserTypeGroup.TrialUser || t.UserTypeEnum != UserTypeEnum.ProjectManager)
.ProjectTo<TrialUserScreeningDTO>(_mapper.ConfigurationProvider, new { trialId = trialUserQuery.TrialId });
.ProjectTo<TrialUserScreeningDTO>(_mapper.ConfigurationProvider, new { trialId = trialUserQuery.TrialId });
return await query.ToPagedListAsync(trialUserQuery.PageIndex,
trialUserQuery.PageSize, string.IsNullOrWhiteSpace(trialUserQuery.SortField) ? "UserRealName" : trialUserQuery.SortField, trialUserQuery.Asc);
@@ -138,6 +138,12 @@ namespace IRaCIS.Application.Services
throw new BusinessValidationFailedException("只有PM/APM拥有操作权限!");
}
//测试用户 只能创建非正式项目
if(_userInfo.IsTestUser && trialAddModel.TrialType != TrialType.NoneOfficial)
{
throw new BusinessValidationFailedException("测试用户 只能创建非正式项目");
}
if (trialAddModel.Id == Guid.Empty || trialAddModel.Id == null)
{
if (await _trialRepository.AnyAsync(u => u.TrialCode == trialAddModel.TrialCode))