C# 捕获插入的行并返回到客户端应用程序

C# 捕获插入的行并返回到客户端应用程序,c#,angular,asp.net-web-api,C#,Angular,Asp.net Web Api,我基本上需要捕获插入行的ID并将其返回给angular应用程序。下面的代码来自asp.net web api应用程序。我声明了一个整数数组 int[]documentIds=null mgrDocument包含执行后的id mgrDocument = mgrDocumentService.Create(mgrDocument); 如何将该值添加到整数数组并通过webapi返回它。我有一个foreach循环,因此没有索引,否则我会这样做 documentid[index]=mgrDocument

我基本上需要捕获插入行的ID并将其返回给angular应用程序。下面的代码来自asp.net web api应用程序。我声明了一个整数数组

int[]documentIds=null

mgrDocument包含执行后的id

mgrDocument = mgrDocumentService.Create(mgrDocument);
如何将该值添加到整数数组并通过webapi返回它。我有一个foreach循环,因此没有索引,否则我会这样做

documentid[index]=mgrDocument.ID

一旦检索到所有ID,我需要将其发送到客户端以查询这些ID。然后如何返回这些ID

web api

  [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;

        }

我已经通过实现列表的返回类型解决了这个问题

 [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;

        }
[HttpPost]
[授权书]
[路由(“api/documentupload/create”)]
公共列表创建(DocumentUploadCreateViewModel模型)
{
HttpResponseMessage响应;
var mgrStrategyDocument=新的管理者策略文档();
var mgrDocumentService=GetService();
var mgrstategydocumentservice=GetService();
List documentIds=新列表();
如果(型号!=null)
{
foreach(model.DocumentDetails中的var obj)
{
var mgrDocument=新文档
{
文档类型ID=obj.DocumentTypeId,
文件日期=obj.DocumentDate,
NAME=obj.NAME,
文档内容=convertByteArray(obj.file),
EXTENSION=GetFileExtension(obj.Name)
};
mgrDocument=mgrDocumentService.Create(mgrDocument);
documentid.Add(mgrDocument.ID);
var mangerStrategyDocumentService=GetService();
var mgrStrategyDocument1=新的管理者策略文档()
{
DOCUMENT\u ID=mgrDocument.ID,
MANAGERSTRATEGY_ID=model.ManagerStrategyId
};
mgrStrategyDocument=mgrStrategyDocumentService.Create(mgrStrategyDocument1);
}
返回文档ID;
//return response=Request.CreateResponse(HttpStatusCode.OK,mgrStrategyDocument);
}
返回null;
}

不知道;您的客户希望返回的数据是什么样子的?嗨,caucius,我只需要在这个调用中返回ID。然后,我将使用这些ID再次调用另一个端点managerstrategy文档是什么样子的?看起来你要把它退了;在其中添加一个ID表示如何?是的,我正在返回它,但尚未使用它。这是一个具有值的常用对象。我已更新帖子,以显示MANAGERSTRATEGY_文档的外观
 [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;

        }