Ejemplo n.º 1
0
        public async Task <bool> ExcelUploadAsync(ExcelUploadDto excelUploadDto)
        {
            if (excelUploadDto.ExcelFile != null &&
                (Path.GetExtension(excelUploadDto.ExcelFile.FileName).Equals(".xlsx") ||
                 Path.GetExtension(excelUploadDto.ExcelFile.FileName).Equals(".xls")))
            {
                using (var stream = new MemoryStream())
                {
                    await excelUploadDto.ExcelFile.CopyToAsync(stream);

                    using (ExcelPackage ep = new ExcelPackage(stream))
                    {
                        ExcelWorksheet worksheet = ep.Workbook.Worksheets[0];
                        int            rowsCount = worksheet.Dimension.Rows;
                        for (int row = 2; row <= rowsCount; row++)
                        {
                            GlobalPoint globalPoint = new GlobalPoint
                            {
                                Latitude  = (float)(double)(worksheet.Cells[row, 2].Value),
                                Longitude = (float)(double)(worksheet.Cells[row, 3].Value)
                            };
                            Airport airport = new Airport
                            {
                                AirportName = worksheet.Cells[row, 1].Value.ToString(),
                                GlobalPoint = globalPoint
                            };

                            Airport isExist = _appDbContext.Airport
                                              .SingleOrDefault(m => m.AirportName == airport.AirportName);
                            if (isExist != null)
                            {
                                _appDbContext.Airport.Remove(isExist);
                                _appDbContext.GlobalPoint.Remove(isExist.GlobalPoint);
                            }
                            await _appDbContext.GlobalPoint.AddAsync(globalPoint);

                            await _appDbContext.Airport.AddAsync(airport);
                        }
                        await _appDbContext.SaveChangesAsync();
                    }
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 2
0
 public async Task <IActionResult> ExcelUploaded(ExcelUploadDto excelUploadDto)
 {
     if (ModelState.IsValid)
     {
         if (await _excelUploadService.ExcelUploadAsync(excelUploadDto))
         {
             ViewBag.Message = "Upload Success!";
         }
         else
         {
             ViewBag.Message = "Upload failed!";
         }
     }
     else
     {
         ViewBag.Message = "Upload failed!";
     }
     return(View());
 }
Ejemplo n.º 3
0
        public async Task <IActionResult> EmployeeExcelUploadAsync([FromForm] ExcelUploadDto excelUploadDto)
        {
            var id = Convert.ToInt32(User.Identity.Name);

            if (excelUploadDto.UploadFile == null)
            {
                return(NotFound());
            }
            try
            {
                var list = await EPPlusHelper.UploadExcel <EmployeeExcelDto>(excelUploadDto.UploadFile);

                // NPOI     EPPlus
                List <Employees> createList = new List <Employees>();
                foreach (var item in list)
                {
                    Employees employee = new Employees();
                    employee             = mapper.Map <Employees>(item);
                    employee.CreateTime  = DateTime.Now;
                    employee.CreateID    = id;
                    employee.IsParent    = 0;
                    employee.EmployeePID = id;
                    employee.Code        = Guid.NewGuid().ToString();
                    employee.Password    = MD5Encrypt.Encrypt("123456");
                    createList.Add(employee);
                }

                string json = JsonSerializer.Serialize(createList);

                await distributedCache.SetStringAsync($"excel_employees_List_ByUser_{id}", json);

                return(Ok(new { code = 0, data = createList }));
            }
            catch (System.Exception ex)
            {
                return(Ok(new { code = 1, data = ex.Message }));
            }
        }