This commit is contained in:
ngfrolov 2022-12-16 16:09:16 +05:00
commit e3e6a06ef6
3 changed files with 33 additions and 11 deletions

View File

@ -85,8 +85,8 @@ namespace AsbCloudInfrastructure.Repository
}; };
dto.Pressure = new PlanFactDto dto.Pressure = new PlanFactDto
{ {
Fact = entity.FlowFact, Fact = entity.PressureFact,
Plan = entity.FlowPlan Plan = entity.PressurePlan
}; };
dto.TopDriveSpeed = new PlanFactDto dto.TopDriveSpeed = new PlanFactDto
{ {
@ -100,6 +100,27 @@ namespace AsbCloudInfrastructure.Repository
}; };
return dto; return dto;
} }
protected override ProcessMap Convert(ProcessMapDto dto)
{
var entity = dto.Adapt<ProcessMap>();
entity.AxialLoadPlan = dto.AxialLoad.Plan;
entity.AxialLoadFact = dto.AxialLoad.Fact;
entity.FlowPlan = dto.Flow.Plan;
entity.FlowFact = dto.Flow.Fact;
entity.PressurePlan = dto.Pressure.Plan;
entity.PressureFact = dto.Pressure.Fact;
entity.TopDriveSpeedPlan = dto.TopDriveSpeed.Plan;
entity.TopDriveSpeedFact = dto.TopDriveSpeed.Fact;
entity.TopDriveTorquePlan = dto.TopDriveTorque.Plan;
entity.TopDriveTorqueFact = dto.TopDriveTorque.Fact;
return entity;
}
} }
#nullable disable #nullable disable
} }

View File

@ -35,27 +35,28 @@ namespace AsbCloudInfrastructure.Repository
this.userRoleRepository = userRoleRepository; this.userRoleRepository = userRoleRepository;
} }
public async Task<int> InsertAsync(UserExtendedDto dto, CancellationToken token = default) public async Task<int> InsertAsync(UserExtendedDto dto, CancellationToken token)
{ {
dto.Id = default; dto.Id = default;
var entity = Convert(dto); var entity = Convert(dto);
await AssertLoginIsBusyAsync(dto.Login, token); await AssertLoginIsBusyAsync(dto.Login, token);
var userRoles = await userRoleRepository.GetByNamesAsync(dto.RoleNames, token).ConfigureAwait(false); var userRoles = await userRoleRepository.GetByNamesAsync(dto.RoleNames, token).ConfigureAwait(false);
var updatedEntity = await dbContext.Users.AddAsync(entity, token).ConfigureAwait(false); var updatedEntity = await dbContext.Users.AddAsync(entity, token).ConfigureAwait(false);
await dbContext.SaveChangesAsync(token);
if (userRoles?.Any() == true) if (userRoles?.Any() == true)
await UpdateRolesCacheForUserAsync(updatedEntity.Entity.Id, userRoles, token); await UpdateRolesCacheForUserAsync(updatedEntity.Entity.Id, userRoles, token);
await dbContext.SaveChangesAsync(token);
DropCacheUsers(); DropCacheUsers();
return updatedEntity.Entity.Id; return updatedEntity.Entity.Id;
} }
public Task<int> InsertRangeAsync(IEnumerable<UserExtendedDto> newItems, CancellationToken token = default) public Task<int> InsertRangeAsync(IEnumerable<UserExtendedDto> newItems, CancellationToken token)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
public async Task<IEnumerable<UserExtendedDto>> GetAllAsync(CancellationToken token = default) public async Task<IEnumerable<UserExtendedDto>> GetAllAsync(CancellationToken token)
{ {
var dtos = (await GetCacheUserAsync(token)).ToList(); var dtos = (await GetCacheUserAsync(token)).ToList();
if (dtos is null) if (dtos is null)
@ -76,7 +77,7 @@ namespace AsbCloudInfrastructure.Repository
return dto; return dto;
} }
public async Task<UserExtendedDto?> GetOrDefaultAsync(int id, CancellationToken token = default) public async Task<UserExtendedDto?> GetOrDefaultAsync(int id, CancellationToken token)
{ {
var dto = (await GetCacheUserAsync(token)).FirstOrDefault(u => u.Id == id); var dto = (await GetCacheUserAsync(token)).FirstOrDefault(u => u.Id == id);
if (dto is null) if (dto is null)
@ -86,7 +87,7 @@ namespace AsbCloudInfrastructure.Repository
return dto; return dto;
} }
public async Task<int> UpdateAsync(UserExtendedDto dto, CancellationToken token = default) public async Task<int> UpdateAsync(UserExtendedDto dto, CancellationToken token)
{ {
if (dto.Id <= 1) if (dto.Id <= 1)
throw new ArgumentInvalidException($"Invalid id {dto.Id}. You can't edit this user.", nameof(dto)); throw new ArgumentInvalidException($"Invalid id {dto.Id}. You can't edit this user.", nameof(dto));
@ -109,7 +110,7 @@ namespace AsbCloudInfrastructure.Repository
return result.Entity.Id; return result.Entity.Id;
} }
public async Task<int> DeleteAsync(int id, CancellationToken token = default) public async Task<int> DeleteAsync(int id, CancellationToken token)
{ {
var dto = (await GetCacheUserAsync(token)).FirstOrDefault(u => u.Id == id); var dto = (await GetCacheUserAsync(token)).FirstOrDefault(u => u.Id == id);
if (dto is null) if (dto is null)
@ -159,7 +160,7 @@ namespace AsbCloudInfrastructure.Repository
.Select(r => r.Caption) .Select(r => r.Caption)
.Distinct(); .Distinct();
private async Task AssertLoginIsBusyAsync(string login, CancellationToken token = default) private async Task AssertLoginIsBusyAsync(string login, CancellationToken token)
{ {
var existingUserDto = (await GetCacheUserAsync(token)) var existingUserDto = (await GetCacheUserAsync(token))
.FirstOrDefault(u => u.Login.ToLower() == login.ToLower()); .FirstOrDefault(u => u.Login.ToLower() == login.ToLower());

View File

@ -110,7 +110,7 @@ namespace AsbCloudWebApi.Controllers
public override async Task<ActionResult<int>> UpdateAsync([FromBody] ProcessMapDto value, CancellationToken token) public override async Task<ActionResult<int>> UpdateAsync([FromBody] ProcessMapDto value, CancellationToken token)
{ {
value.IdUser = User.GetUserId() ?? -1; value.IdUser = User.GetUserId() ?? -1;
return await base.InsertAsync(value, token); return await base.UpdateAsync(value, token);
} }
} }
#nullable disable #nullable disable