Add nsi list export
This commit is contained in:
@ -28,5 +28,24 @@ namespace Hcs.Client.Api
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Возвращает перечень общесистемных справочников с указанием даты последнего изменения каждого из них
|
||||
/// </summary>
|
||||
/// <param name="listGroup">Группа справочников, где NSI - общесистемный, а NSIRAO - ОЖФ</param>
|
||||
/// <param name="token">Токен отмены</param>
|
||||
/// <returns>Перечень общесистемных справочников</returns>
|
||||
public async Task<NsiListType> ExportNsiListAsync(ListGroup listGroup, CancellationToken token = default)
|
||||
{
|
||||
try
|
||||
{
|
||||
var request = new ExportNsiListRequest(client);
|
||||
return await request.ExecuteAsync(listGroup, token);
|
||||
}
|
||||
catch (NoResultsRemoteException)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
using Hcs.Client.Internal;
|
||||
using Hcs.Service.Async.NsiCommon;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Hcs.Client.Api.Request.NsiCommon
|
||||
{
|
||||
internal class ExportNsiListRequest(ClientBase client) : NsiCommonRequestBase(client)
|
||||
{
|
||||
internal async Task<NsiListType> ExecuteAsync(ListGroup listGroup, CancellationToken token)
|
||||
{
|
||||
// http://open-gkh.ru/NsiCommon/exportNsiListRequest.html
|
||||
var request = new exportNsiListRequest
|
||||
{
|
||||
Id = Constants.SIGNED_XML_ELEMENT_ID,
|
||||
version = "10.0.1.2",
|
||||
ListGroup = listGroup
|
||||
};
|
||||
|
||||
var result = await SendAndWaitResultAsync(request, async asyncClient =>
|
||||
{
|
||||
var response = await asyncClient.exportNsiListAsync(CreateRequestHeader(), request);
|
||||
return response.AckRequest.Ack;
|
||||
}, token);
|
||||
|
||||
return result.Item as NsiListType;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -124,6 +124,7 @@
|
||||
<Compile Include="Client\Api\Request\HouseManagement\ImportSupplyResourceContractDataRequest.cs" />
|
||||
<Compile Include="Client\Api\Request\HouseManagement\ImportSupplyResourceContractProjectRequest.cs" />
|
||||
<Compile Include="Client\Api\Request\NsiCommon\ExportNsiItemRequest.cs" />
|
||||
<Compile Include="Client\Api\Request\NsiCommon\ExportNsiListRequest.cs" />
|
||||
<Compile Include="Client\Api\Request\NsiCommon\NsiCommonRequestBase.cs" />
|
||||
<Compile Include="Client\Api\Request\Nsi\NsiRequestBase.cs" />
|
||||
<Compile Include="Client\Api\Request\OrgRegistryCommon\ExportDataProviderRequest.cs" />
|
||||
|
||||
@ -76,6 +76,7 @@ namespace Hcs.TestApp
|
||||
//nsiCommonScenario.ExportNsiItem2();
|
||||
//nsiCommonScenario.ExportNsiItem16();
|
||||
//nsiCommonScenario.ExportNsiItem276();
|
||||
//nsiCommonScenario.ExportNsiList();
|
||||
|
||||
//orgRegistryCommonScenario.ExportDataProvider();
|
||||
//orgRegistryCommonScenario.ExportOrgRegistry();
|
||||
|
||||
@ -25,5 +25,11 @@ namespace Hcs.TestApp.Scenario
|
||||
var result = client.NsiCommon.ExportNsiItemAsync(276, ListGroup.NSI).Result;
|
||||
Console.WriteLine("Scenario execution " + (result != null ? "succeeded" : "failed"));
|
||||
}
|
||||
|
||||
internal void ExportNsiList()
|
||||
{
|
||||
var result = client.NsiCommon.ExportNsiListAsync(ListGroup.NSI).Result;
|
||||
Console.WriteLine("Scenario execution " + (result != null ? "succeeded" : "failed"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user