[英]Capture inserted rows and return to the client application
我基本上需要捕获插入行的 id 并将其返回给 angular 应用程序。 下面的代码来自asp.net web api 应用程序。 我已经声明了一个整数数组
int[] documentIds = null 。
mgrDocument 包含执行后的 id
mgrDocument = mgrDocumentService.Create(mgrDocument);
如何将该值添加到整数数组并通过 webapi 返回它。 我有一个 foreach 循环,因此没有索引,否则我会做
documentIds[index] = mgrDocument.ID;
检索到所有 id 后,我需要将其发送给客户端以查询这些 id。 然后我如何返回这些 ID。
网络接口
[HttpPost]
[SkipTokenAuthorization]
[Route("api/documentupload/create")]
public HttpResponseMessage Create(DocumentUploadCreateViewModel model)
{
HttpResponseMessage response;
var mgrStrategyDocument = new MANAGERSTRATEGY_DOCUMENT();
var mgrDocumentService = GetService<DOCUMENT>();
var mgrStrategyDocumentService = GetService<MANAGERSTRATEGY_DOCUMENT>();
int[] documentIds = null;
if (model != null)
{
foreach (var obj in model.DocumentDetails)
{
var mgrDocument = new DOCUMENT
{
DOCUMENT_TYPE_ID = obj.DocumentTypeId,
DOCUMENT_DATE = obj.DocumentDate,
NAME = obj.Name,
DOCUMENT_CONTENT = convertByteArray(obj.file),
EXTENSION = GetFileExtension(obj.Name)
};
mgrDocument = mgrDocumentService.Create(mgrDocument);
documentIds[obj] = mgrDocument.ID;
var mangerStrategyDocumentService = GetService<MANAGERSTRATEGY_DOCUMENT>();
var mgrStrategyDocument1 = new MANAGERSTRATEGY_DOCUMENT()
{
DOCUMENT_ID = mgrDocument.ID,
MANAGERSTRATEGY_ID = model.ManagerStrategyId
};
mgrStrategyDocument = mgrStrategyDocumentService.Create(mgrStrategyDocument1);
}
return response = Request.CreateResponse(HttpStatusCode.OK, mgrStrategyDocument);
}
return null;
}
这就是 MANAGERSTRATEGY_DOCUMENT 的样子
{Permal.BSG.Manager.Core.Model.MANAGERSTRATEGY_DOCUMENT}
CREATED_BY_ID: 0
DATE_CREATED: {07/07/2019 08:01:17}
DOCUMENT: {Permal.BSG.Manager.Core.Model.DOCUMENT}
DOCUMENT_ID: 590834
ID: 186423
LAST_MODIFIED: {07/07/2019 08:01:17}
LAST_MODIFIED_BY_ID: 0
MANAGERSTRATEGY_ID: 7079
ManagerStrategy: null
我已经通过implementint return type of List解决了
[HttpPost]
[SkipTokenAuthorization]
[Route("api/documentupload/create")]
public List<int> Create(DocumentUploadCreateViewModel model)
{
HttpResponseMessage response;
var mgrStrategyDocument = new MANAGERSTRATEGY_DOCUMENT();
var mgrDocumentService = GetService<DOCUMENT>();
var mgrStrategyDocumentService = GetService<MANAGERSTRATEGY_DOCUMENT>();
List<int> documentIds = new List<int>();
if (model != null)
{
foreach (var obj in model.DocumentDetails)
{
var mgrDocument = new DOCUMENT
{
DOCUMENT_TYPE_ID = obj.DocumentTypeId,
DOCUMENT_DATE = obj.DocumentDate,
NAME = obj.Name,
DOCUMENT_CONTENT = convertByteArray(obj.file),
EXTENSION = GetFileExtension(obj.Name)
};
mgrDocument = mgrDocumentService.Create(mgrDocument);
documentIds.Add(mgrDocument.ID);
var mangerStrategyDocumentService = GetService<MANAGERSTRATEGY_DOCUMENT>();
var mgrStrategyDocument1 = new MANAGERSTRATEGY_DOCUMENT()
{
DOCUMENT_ID = mgrDocument.ID,
MANAGERSTRATEGY_ID = model.ManagerStrategyId
};
mgrStrategyDocument = mgrStrategyDocumentService.Create(mgrStrategyDocument1);
}
return documentIds;
//return response = Request.CreateResponse(HttpStatusCode.OK, mgrStrategyDocument);
}
return null;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.