Exemplo n.º 1
0
        public async Task <List <string> > BOMImport(IFormFile file)
        {
            var ps = await GetI18NByDtoName("BOMDto");

            long size = 0;

            var filename = ContentDispositionHeaderValue
                           .Parse(file.ContentDisposition)
                           .FileName
                           .Trim('"');

            filename = hostingEnv.WebRootPath + $@"\{ filename }";
            size    += file.Length;
            using (FileStream fs = System.IO.File.Create(filename))
            {
                file.CopyTo(fs);
                fs.Flush();

                var res = await _fileHelperService.ExcleToListEntities <BOMDto>(ps, fs);

                foreach (var item in res)
                {
                }
            }


            // System.IO.File.Delete(filename);
            return(new List <string>()
            {
                "OK"
            });
        }
Exemplo n.º 2
0
        public async Task BOMImport(string productId, IFormFile file)
        {
            try
            {
                var datName = "BOMDto";
                var ps      = await GetI18NByDtoName(datName);

                long size = 0;

                var filename = ContentDispositionHeaderValue
                               .Parse(file.ContentDisposition)
                               .FileName
                               .Trim('"');

                filename = _hostingEnv.WebRootPath + $@"\{ filename }";
                size    += file.Length;
                using (FileStream fs = System.IO.File.Create(filename))
                {
                    file.CopyTo(fs);
                    fs.Flush();

                    var res = await _fileHelperService.ExcleToListEntities <BOMDto>(ps, datName, fs);

                    foreach (var bomDtos in res)
                    {
                        foreach (var bomDto in bomDtos)
                        {
                            bomDto.ProductId = productId;
                            // 查询实体,
                            var bom = _repository.FirstOrDefault(r => r.ProductId == bomDto.ProductId && r.PartNoId == bomDto.PartNoId);
                            if (bom == null)
                            {
                                await _repository.InsertAsync(ObjectMapper.Map <BOM>(bomDto));
                            }
                            else
                            {
                                bom.Qty                = bomDto.Qty;
                                bom.Version            = bomDto.Version;
                                bom.MoreSendPercentage = bomDto.MoreSendPercentage;
                                bom.AllowableMoreSend  = bomDto.AllowableMoreSend;
                            }
                        }
                    }
                }
                System.IO.File.Delete(filename);
            }
            catch (Exception ex)
            {
                throw new LYException(ex.Message);
            }
        }