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 <VehicleExcelModel>(); List <DataImportVehicle> dataImportVehicles = new List <DataImportVehicle>(); data.ForEach(x => { dataImportVehicles.Add(new DataImportVehicle { Code = x.Code, DriverID = _driverService.GetByCode(x.CodeDriver)?.ID, LicensePlate = x.LicensePlate, MaxLoad = x.MaxLoad, Name = x.Name, Note = x.Note, TypeVehicleID = _vehicleTypeService.GetByCode(x.TypeVehicle)?.ID }); }); ImportVehicleCommand vehicleCommand = new ImportVehicleCommand { Vehicles = 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(ImportVehicleCommand request, CancellationToken cancellationToken) { List <Vehicle> vehicles = new List <Vehicle>(); request.Vehicles.ForEach(x => { var vehicle = new Vehicle( id: x.ID, licensePlate: new LicensePlate(x.LicensePlate), driver: new Driver(new Identity(x.DriverID.Value)), maxLoad: new MaxLoad(x.MaxLoad), name: new Name(x.Name), vehicleType: new VehicleType(x.TypeVehicleID.Value), note: new Note(x.Note), code: new Code(x.Code), volume: new Volume(x.Volume) ); vehicles.Add(vehicle); }); var result = _vehicleRepository.ImportExcel(vehicles); return(Task.FromResult(result as object)); }