forked from ddrilling/AsbCloudServer
Add DrillParamsController.SaveAsync() it removes old records before add new ones.
This commit is contained in:
parent
aed661f202
commit
caae2f970c
@ -24,5 +24,6 @@ namespace AsbCloudApp.Services
|
||||
|
||||
Task<int> UpdateAsync(int idWell, int dtoId, DrillParamsDto dto,
|
||||
CancellationToken token = default);
|
||||
Task<int> SaveAsync(int idWell, IEnumerable<DrillParamsDto> dtos, CancellationToken token = default);
|
||||
}
|
||||
}
|
||||
|
@ -120,7 +120,20 @@ namespace AsbCloudInfrastructure.Services
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public async Task<int> SaveAsync(int idWell, IEnumerable<DrillParamsDto> dtos,
|
||||
CancellationToken token = default)
|
||||
{
|
||||
db.DrillParams.RemoveRange(db.DrillParams.Where(d => d.IdWell == idWell));
|
||||
|
||||
foreach (var dto in dtos)
|
||||
dto.IdWell = idWell;
|
||||
|
||||
var result = await base.InsertRangeAsync(dtos, token).ConfigureAwait(false);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public async Task<int> UpdateAsync(int idWell, int dtoId, DrillParamsDto dto,
|
||||
CancellationToken token = default)
|
||||
{
|
||||
|
@ -117,7 +117,30 @@ namespace AsbCloudWebApi.Controllers
|
||||
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Удаляет старые режимы бурения по скважине и добавляет новые
|
||||
/// </summary>
|
||||
/// <param name="idWell">Id скважины для добавления</param>
|
||||
/// <param name="drillParams">Новые режимы бурения </param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns>кол-во затронутых изменениями записей</returns>
|
||||
[HttpPost("save")]
|
||||
[ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)]
|
||||
public async Task<IActionResult> SaveAsync(int idWell, IEnumerable<DrillParamsDto> drillParams, CancellationToken token = default)
|
||||
{
|
||||
var idCompany = User.GetCompanyId();
|
||||
|
||||
if (idCompany is null || !await wellService.IsCompanyInvolvedInWellAsync((int)idCompany,
|
||||
idWell, token).ConfigureAwait(false))
|
||||
return Forbid();
|
||||
|
||||
var result = await drillParamsService.SaveAsync(idWell, drillParams,
|
||||
token);
|
||||
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Изменяет значения выбранного режима бурения
|
||||
/// </summary>
|
||||
|
Loading…
Reference in New Issue
Block a user