public IActionResult HandoverStart(RentHandoverStartViewModel model) { if (ModelState.IsValid) { HandoverDocument document = new HandoverDocument //TODO Dodać podpisy { CarId = model.CarId, ClientId = model.ClientId, IsTermAccepted = model.IsTermAccepted, RentId = model.RentId, StartDate = model.StartDate, StartFireEx = model.StartFireEx, StartFuel = model.StartFuel, StartManual = model.StartManual, StartMilage = model.StartMilage, StartNotes = model.StartNotes, StartRepairSet = model.StartRepairSet, StartService = model.StartService, StartSpare = model.StartSpare, StartTriangle = model.StartSpare, Id = Guid.NewGuid(), }; _handoverDocumentsRepository.Create(document); //Dodanie do historii przebiegu MilageRecord record = new MilageRecord { CarId = model.CarId, Date = model.StartDate.Date, Milage = model.StartMilage, Id = Guid.NewGuid() }; _milageRecordsRepository.Add(record); //Aktualizacja danych samochodu Car car = _carsRepository.GetCar(model.CarId); car.Milage = model.StartMilage; car.IsAvailable = false; car.IsReserved = false; _carsRepository.Update(car); //Aktualizacja danych wynajmu Rent rent = _rentsRepository.GetRent(model.RentId); rent.IsActive = true; rent.StartDate = model.StartDate.Date; _rentsRepository.Update(rent); return(RedirectToAction("Details", new { id = model.RentId })); } //var dataUri = model.SignatureDataUrl; //var encodedImage = dataUri.Split(",")[1]; //var decodedImage = Convert.FromBase64String(encodedImage); //System.IO.File.WriteAllBytes("signature.png", decodedImage); return(RedirectToAction("HandoverStart", new { id = model.RentId })); }
public IActionResult UpdateMilage(CarUpdateMilageViewModel model) { if (ModelState.IsValid) { MilageRecord record = new MilageRecord { CarId = model.CarId, Milage = model.Milage, Date = model.Date, Id = new Guid() }; _milageRecordsRepository.Add(record); Car car = _carsrepository.GetCar(model.CarId); car.Milage = model.Milage; _carsrepository.Update(car); return(RedirectToAction("details", "cars", new { id = model.CarId })); } return(RedirectToAction("Updatemilage", new { id = model.CarId })); }
public IActionResult AddService(AddServiceViewModel model) { if (ModelState.IsValid) { Car car = _carsrepository.GetCar(model.CarId); Service service = new Service { CarId = model.CarId, ClientId = model.ServiceFacilityId, Milage = model.Milage, Date = model.Date, ServiceType = model.ServiceType, Cost = model.Cost, Id = new Guid() }; MilageRecord record = new MilageRecord { CarId = service.CarId, Date = service.Date, Milage = service.Milage, Id = Guid.NewGuid() }; _milageRecordsRepository.Add(record); Guid fileid = Guid.Empty; if (model.IsInvoiceAdded) { FileHandler fileHandler = new FileHandler(); FileDescription fileDescription = fileHandler.UploadSingleFile(model.File, FileType.Serwis, car.RegistrationNumber, model.Date); _fileDescriptionsRepository.Create(fileDescription); Invoice invoice = new Invoice { Id = Guid.NewGuid(), Number = model.Number, Date = model.Date, Amount = model.Cost, ClientId = model.ServiceFacilityId, InvoiceType = InvoiceType.Koszt, FileDescriptionId = fileDescription.Id }; _invoicesRepository.Add(invoice); service.InvoiceId = invoice.Id; fileid = fileDescription.Id; } car.Milage = model.Milage; car.NextServiceMilage = model.Milage + car.ServiceInterval; _carsrepository.Update(car); _sevicesRepository.Add(service); if (model.IsInvoiceAdded) { ServiceFile serviceFile = new ServiceFile { ServiceId = service.Id, FileDescriptionId = fileid }; _serviceFilesRepository.Add(serviceFile); } return(RedirectToAction("details", "cars", new { id = model.CarId })); } return(RedirectToAction("addservice", "services", new { id = model.CarId })); }