Захват вставленных строк и возврат к клиентскому приложению - PullRequest
0 голосов
/ 05 июля 2019

Мне нужно захватить идентификаторы вставленных строк и вернуть их в угловое приложение.Код ниже взят из приложения asp.net web api.Я объявил целочисленный массив

int [] documentIds = null.

mgrDocument содержит идентификатор после выполнения

mgrDocument = mgrDocumentService.Create(mgrDocument);

Как добавить это значение в массив целых чисел и вернуть его через webapi.У меня есть цикл foreach, поэтому у меня нет индекса, в противном случае я бы сделал

documentIds [index] = mgrDocument.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;

        }

Вот как выглядит 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

1 Ответ

0 голосов
/ 07 июля 2019

Я решил это с помощью методаintint возвращаемого типа 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;

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...