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