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,
|
Task<int> UpdateAsync(int idWell, int dtoId, DrillParamsDto dto,
|
||||||
CancellationToken token = default);
|
CancellationToken token = default);
|
||||||
|
Task<int> SaveAsync(int idWell, IEnumerable<DrillParamsDto> dtos, CancellationToken token = default);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,20 @@ namespace AsbCloudInfrastructure.Services
|
|||||||
|
|
||||||
return result;
|
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,
|
public async Task<int> UpdateAsync(int idWell, int dtoId, DrillParamsDto dto,
|
||||||
CancellationToken token = default)
|
CancellationToken token = default)
|
||||||
{
|
{
|
||||||
|
@ -117,7 +117,30 @@ namespace AsbCloudWebApi.Controllers
|
|||||||
|
|
||||||
return Ok(result);
|
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>
|
||||||
/// Изменяет значения выбранного режима бурения
|
/// Изменяет значения выбранного режима бурения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
Loading…
Reference in New Issue
Block a user