Example #1
0
        public async Task <ActionResult <IEnumerable <PurchaseOrderDetailDTO> > > UploadAsync(
            int id,
            IFormFile file,
            CancellationToken cancellationToken)
        {
            InitUserInfo();
            if (!AllowUpload)
            {
                return(ValidationProblem());
            }
            var filePath = System.IO.Path.GetTempFileName();

            using (var stream = System.IO.File.Create(filePath))
            {
                await file.CopyToAsync(stream, cancellationToken);
            }

            var result = await _purchaseOrderDetailService.UploadExcel(filePath, id, cancellationToken);

            if (result == null)
            {
                AssignToModelState(_purchaseOrderDetailService.Errors);
                return(ValidationProblem());
            }

            List <PurchaseOrderDetailDTO> resultDto = result.Select(_mapper.Map <PurchaseOrderDetailDTO>).ToList();

            foreach (var item in resultDto)
            {
                if (string.IsNullOrEmpty(item.Id) || item.Id == "0")
                {
                    var newguid = Guid.NewGuid().ToString();
                    item.Id = newguid;
                }
            }


            return(CreatedAtAction(nameof(GetIdAsync), new { id = result[0].Id }, null));
        }