Esempio n. 1
0
        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
                }));
            }
        }
Esempio n. 2
0
        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));
        }