//protected bool ValidateProduct(TWEditVM modelToValidate) //{ // TravelWarrant travelWarrant = context.TravelWarrant.Find(modelToValidate.TravelWarrantId); // if(modelToValidate.Status.ToString() == "Completed" // && travelWarrant.Status.ToString() == "Recorded") // { // validationDictionary.AddError("Status", "Cannot be completed"); // } // return validationDictionary.IsValid; //} public bool createTravelWarrant(TWCreateVM model) { TravelWarrant travelWarrant = new TravelWarrant { CarId = model.CarId, DriverId = model.DriverId, StartLocation = model.StartLocation, EndLocation = model.EndLocation, StartTime = model.StartTime, EndTime = model.EndTime, NumberOfPassengers = model.NumberOfPassengers, Status = Status.Recorded, }; foreach (var item in context.TravelWarrant) { if (item.CarId == travelWarrant.CarId && (item.Status.ToString() == "Recorded" || item.Status.ToString() == "Confirmed") && (travelWarrant.StartTime >= item.StartTime && travelWarrant.StartTime <= item.EndTime) || (travelWarrant.EndTime >= item.StartTime && travelWarrant.EndTime <= item.EndTime) ) { return(false); } } context.TravelWarrant.Add(travelWarrant); context.SaveChanges(); return(true); }
public IActionResult Create(TWCreateVM model) { if (!travelWarrantService.createTravelWarrant(model)) { TempData["message"] = "Nalog se ne moze kreirati zbog toga sto je automobil vec rezervisan"; return(RedirectToAction("Create", model)); } ; return(RedirectToAction("Index")); }
public TWCreateVM prepareTWCreateVM() { TWCreateVM model = new TWCreateVM { StartTime = DateTime.Now, EndTime = DateTime.Now, Status = Status.Confirmed, carList = context.Car.Select(x => new SelectListItem { Value = x.CarId.ToString(), Text = x.CarModel.CarBrand.Name + " " + x.CarModel.Name + " | " + x.ChassisNumber }).ToList(), driverList = context.Driver.Select(x => new SelectListItem { Value = x.DriverId.ToString(), Text = x.FirstName + " " + x.Surname }).ToList() }; return(model); }
public IActionResult Create() { TWCreateVM model = travelWarrantService.prepareTWCreateVM(); return(View(model)); }