Ejemplo n.º 1
0
        public string[] CreateSettlementStatement(int year, int[] weeks, int?truckid = null)
        {
            System.Console.WriteLine($"Creating settlements {year}/{weeks[0]} {truckid?.ToString()}");
            List <string> files = new List <string>();

            Task.Run(async() =>
            {
                FuelChargeRepository fuelRepository       = new FuelChargeRepository(year, weeks);
                SettlementRepository settlementRepository = new SettlementRepository();
                List <SettlementHistory> settlements      = await settlementRepository.GetSettlementsByWeekAsync(year, weeks);
                if (settlements.Count() > 0)
                {
                    if (truckid != null)
                    {
                        settlements = FilterSettlementsByTruck(settlements, (int)truckid).ToList();
                    }

                    SettlementWorkbookGenerator generator = new SettlementWorkbookGenerator(settlements, fuelRepository);
                    foreach (string driver in GetDrivers(settlements, truckid))
                    {
                        string file = generator.Generate(year, weeks, driver);
                        files.Add(file);
                    }
                }
                else
                {
                    System.Console.WriteLine($"No settlements found for the specified {year} and {string.Join(",", weeks)}");
                }
            }
                     ).Wait();

            return(files.ToArray());
        }
Ejemplo n.º 2
0
        private static void Setup()
        {
            var settlementRepo = new SettlementRepository();
            var fuelRepo       = new FuelChargeRepository();

            Task.WhenAll(
                settlementRepo.EnsureDatabaseAsync(),
                fuelRepo.EnsureDatabaseAsync()
                ).Wait();
            System.Console.WriteLine("Setup database.");
        }
Ejemplo n.º 3
0
        private static void SaveFuelCharges(string file)
        {
            System.Console.WriteLine($"Saving {file} fuel charges to database.");
            FuelChargeRepository repository = new FuelChargeRepository();

            var loadTask = repository.LoadAsync(file);

            Task.Run(async() => {
                await repository.EnsureDatabaseAsync();
                await loadTask;
                repository.SaveAsync(repository.Charges);
                System.Console.WriteLine($"Saved {repository.Charges?.Count()} charge(s).");
            }).Wait();
        }
Ejemplo n.º 4
0
 public SettlementWorkbookGenerator(List <SettlementHistory> settlements,
                                    FuelChargeRepository fuelRepository = null)
 {
     this._settlements    = settlements;
     this._fuelRepository = fuelRepository;
 }