Exemplo 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 <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
                }));
            }
        }
Exemplo n.º 2
0
        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));
        }