public Task <StatusResponse> ImportExcel(IFormFile file) { try { if (file == null || file.Length == 0) { return(Task.FromResult(new StatusResponse { Content = "Not file", OK = false })); } //var path = Path.Combine( // Directory.GetCurrentDirectory(), "wwwroot", // file.FileName); ExcelPackage excelPackage = new ExcelPackage(file.OpenReadStream()); // map du lieu tu excel thanh object var data = excelPackage.ToList <DriverExcelModel>(); List <DataImportDriver> dataImportVehicles = new List <DataImportDriver>(); data.ForEach(x => { dataImportVehicles.Add(new DataImportDriver { Code = x.Code, DoB = x.DoB, IDCardNumber = x.IDCardNumber, Name = x.Name, PhoneNumber = x.PhoneNumber, Sex = x.Sex, StartDate = DateTime.Now, Status = 0 }); }); ImportDriverCommand vehicleCommand = new ImportDriverCommand { Drivers = dataImportVehicles }; var result = _bus.SendCommand(vehicleCommand); return(Task.FromResult(new StatusResponse { OK = true, Content = "" })); } catch (Exception ex) { return(Task.FromResult(new StatusResponse { Content = ex.Message, OK = false })); } }
public Task <object> Handle(ImportDriverCommand command, CancellationToken cancellationToken) { List <Driver> drivers = new List <Driver>(); command.Drivers.ForEach(x => { var driver = new Driver( id: null, name: new Model.ValueObject.Name(x.Name), code: new Model.ValueObject.Code(x.Code), phoneNumber: new Model.ValueObject.PhoneNumber(x.PhoneNumber), status: new Model.ValueObject.Status(x.Status), dateOfBirth: new Model.ValueObject.Day(Convert.ToDateTime(x.DoB)), cardNumber: new Model.ValueObject.CardNumber(x.IDCardNumber), sex: new Model.ValueObject.Sex(x.Sex), startDate: new Model.ValueObject.Day(Convert.ToDateTime(x.StartDate)) ); drivers.Add(driver); }); var result = _driverRepository.ImportExcel(drivers); return(Task.FromResult(result as object)); }