public ViewResult HandoverEnd(Guid id) { Rent rent = _rentsRepository.GetRent(id); HandoverDocument document = _handoverDocumentsRepository.GetHandoverByRent(rent.Id); Client client = _clientsRepository.GetClient(rent.ClientId); Car car = _carsRepository.GetCar(rent.CarId); List <CarDamage> carDamages = _carDamagesRepository.GetCarDamages(car.Id).ToList(); Guid[] guids = new Guid[50]; for (int i = 0; i < guids.Length - 1; i++) { guids[i] = Guid.NewGuid(); } RentHandoverEndViewModel model = new RentHandoverEndViewModel { Id = document.Id, CarId = car.Id, RentId = rent.Id, ClientId = client.Id, CarDamages = carDamages, CarReg = car.RegistrationNumber, ClientName = client.Name, Guids = guids, StartDate = rent.StartDate, StartFireEx = document.StartFireEx, StartFuel = document.StartFuel, StartManual = document.StartManual, StartMilage = document.StartMilage, StartNotes = document.StartNotes, StartRepairSet = document.StartRepairSet, StartService = document.StartService, StartSpare = document.StartSpare, StartTriangle = document.StartTriangle, }; return(View(model)); }
public ViewResult Details(Guid id) { //Task<IActionResult> task = Task.Run(async () => await PDFAsync()); Car car = _carsrepository.GetCar(id); //FileDescription file1 = new FileDescription //{ // Id = Guid.NewGuid(), // Ext = ".jpg", // Description = "test1", // Enabled = true //}; //FileDescription file2 = new FileDescription //{ // Id = Guid.NewGuid(), // Ext = ".jpg", // Description = "test2", // Enabled = true //}; //var file1car1 = new CarFile(); //var file2car1 = new CarFile(); //file1car1.Car = car; //file1car1.CarId = car.Id; //file1car1.FileDescription = file1; //file1car1.FileDescriptionId = file1.Id; //file2car1.Car = car; //file2car1.CarId = car.Id; //file2car1.FileDescription = file2; //file2car1.FileDescriptionId = file2.Id; //_fileDescriptionsRepository.Create(file1); //_fileDescriptionsRepository.Create(file2); //_carFilesRepository.Add(file1car1); //_carFilesRepository.Add(file2car1); //dane dla skończonych wynajmów - id klienta,nazwa klienta, użytkownik,tel,mail, od, do, przebieg start, przebieg koniec, id wynajmu List <Rent> rents = _rentsRepository.GetAllRentsByCar(id).ToList(); Rent currentRent = null; var finishedRents = new List <Tuple <Guid, string, string, string, string, DateTime, DateTime, Tuple <int, int, Guid> > >(); string clientName = ""; if (rents != null) { foreach (var rent in rents) { if (rent.IsFinished) { HandoverDocument document = _handoverDocumentsRepository.GetHandoverByRent(rent.Id); var milage = Tuple.Create(document.StartMilage, document.EndMilage, rent.Id); var finishedrent = new Tuple <Guid, string, string, string, string, DateTime, DateTime, Tuple <int, int, Guid> > (rent.ClientId, _clientsRepository.GetClient(rent.ClientId).Name, rent.UserName, rent.UserPhone, rent.UserMail, rent.StartDate, rent.EndDate, milage); finishedRents.Add(finishedrent); } else { if (rent.IsActive) { currentRent = rent; clientName = _clientsRepository.GetClient(rent.ClientId).Name; } } } } Service lastService = null; IEnumerable <Service> services = _sevicesRepository.GetAllbyCar(car.Id); if (services.Count() > 0) { lastService = services.First(); foreach (var item in services) { item.Client = _clientsRepository.GetClient(item.ClientId); if (item.Date > lastService.Date) { lastService = item; } } } DateTime nextServiceDate = car.RegistrationDate.AddYears(car.YearsServiceInterval); int daysToNextService = (nextServiceDate - DateTime.Now.Date).Days; if (lastService != null) { nextServiceDate = lastService.Date.AddYears(car.YearsServiceInterval); daysToNextService = (DateTime.Now.Date - nextServiceDate).Days; } int milageToNextService = car.NextServiceMilage - car.Milage; IEnumerable <TyreInfo> tyres = _tyreInfosRepository.GetAllByCar(car.Id); foreach (var item in tyres) { if (item.TyreShopId != Guid.Empty) { item.TyreShop = _tyreShopsRepository.GetTyreShop(item.TyreShopId); } else { item.TyreShop = null; } } FinancialInfo financial = _financialInfosRepository.GetCarFinancialInfo(car.Id); IEnumerable <MilageRecord> records = _milageRecordsRepository.GetMilageRecordsByCar(car.Id); InsurancePolicy policy = _insurancePoliciesRepository.GetActiveCarPolicy(car.Id); List <InsurancePolicy> previousPolicies = new List <InsurancePolicy>(); foreach (var item in _insurancePoliciesRepository.GetAllCarPolicies(car.Id)) { if (!item.IsActive) { previousPolicies.Add(item); } } CarDetailsViewModel carDetailsViewModel = new CarDetailsViewModel() { DaysToNextService = daysToNextService, NextServiceDate = nextServiceDate, MilageToNextService = milageToNextService, FinancialInfo = financial, Car = car, Services = services, TyreInfos = tyres, MilageHistory = records, PageTitle = "Szczegóły " + car.RegistrationNumber, IsCurrentlyRented = !car.IsAvailable, PreviousRents = finishedRents, CurrentRent = currentRent, CurrentRentClientName = clientName, InsurancePolicy = policy, PreviousInsurancePolicies = previousPolicies }; return(View(carDetailsViewModel)); }