public object SaveWorkerToDB(ExcelWorksheet worksheet, int rowCount, int colCount) { int successCount = 0, badCount = 0; List <Worker> successWorkers = new List <Worker>(); List <ExcelWorker> data = new List <ExcelWorker>(); var result = new object(); for (int row = 2; row <= rowCount; row++) { Worker worker = new Worker(); ExcelWorker excelWorker = new ExcelWorker(); excelWorker.Account = worker.Account = (DateTime.Now.AddSeconds(10).ToFileTime().ToString()).Substring(6); worker.Password = "******"; for (int col = 1; col <= colCount; col++) { switch (col) { case 1: //公司 worker.CompanyId = _commonAppService.GetCompId(worksheet.Cells[row, col].Value.ToString()); excelWorker.Company = worksheet.Cells[row, col].Value.ToString(); break; case 2: //部门 worker.DepartmentId = _commonAppService.GetDepId(worksheet.Cells[row, col].Value.ToString()); excelWorker.Department = worksheet.Cells[row, col].Value.ToString(); break; case 3: //职位 worker.PositionId = _commonAppService.GetPosition(worksheet.Cells[row, col].Value.ToString(), worker.CompanyId); excelWorker.Position = worksheet.Cells[row, col].Value.ToString(); break; case 4: //姓名 excelWorker.Name = worker.Name = worksheet.Cells[row, col].Value.ToString(); break; case 5: //性别 worker.Sex = worksheet.Cells[row, col].Value.ToString() == "男" ? 1 : 0; excelWorker.Sex = worksheet.Cells[row, col].Value.ToString(); break; case 6: //电话号码 excelWorker.PhoneNumber = worker.PhoneNumber = worksheet.Cells[row, col].Value.ToString(); break; case 7: //地址 excelWorker.Address = worker.Address = worksheet.Cells[row, col].Value.ToString(); break; case 8: //证件类型 worker.PaperType = _commonAppService.GetPaperType(worksheet.Cells[row, col].Value.ToString()); excelWorker.PaperType = worksheet.Cells[row, col].Value.ToString(); break; case 9: //证件号码 excelWorker.PaperNumber = worker.PaperNumber = worksheet.Cells[row, col].Value.ToString(); break; case 10: //状态 worker.StateId = _commonAppService.GetState(worksheet.Cells[row, col].Value.ToString(), worker.CompanyId); excelWorker.State = worksheet.Cells[row, col].Value.ToString(); break; case 11: //入职时间 DateTime time = Convert.ToDateTime(worksheet.Cells[row, col].Value.ToString()); worker.EntryTime = time.ToFileTime(); excelWorker.EntryTime = worksheet.Cells[row, col].Value.ToString(); break; default: break; } ; } if (worker.CompanyId != 0 && worker.DepartmentId != 0 && worker.PositionId != 0) { if (!_commonAppService.IsExitWorker(worker.PaperType, worker.PaperNumber, worker.CompanyId)) { excelWorker.IsSuccess = true; successWorkers.Add(worker); successCount++; } else { excelWorker.IsSuccess = false; badCount++; } } else { excelWorker.IsSuccess = false; badCount++; } data.Add(excelWorker); } if (successCount != 0) { _ctx.Worker.AddRange(successWorkers); _commonAppService.ChangeDepWorkerCount(successWorkers); Company company = _ctx.Company.Find(successWorkers[0].CompanyId); company.WokerCount = company.WokerCount + successCount; _ctx.SaveChanges(); } result = new { successCount, badCount, data }; return(result); }