protected override ValidationResult IsValid(object value, ValidationContext validationContext) { ValidationResult retval = new ValidationResult(""); TravelViewModels rvm = (TravelViewModels)validationContext.ObjectInstance; bool isCorrect = true; if (rvm.StartKm != null) { foreach (char c in rvm.StartKm) { if (!char.IsDigit(c)) { isCorrect = false; break; } } } DatabaseControler dc = new DatabaseControler(); Cars car = dc.GetCarDatabaseModelById(rvm.CarId); if (!isCorrect) { retval.ErrorMessage += "Przebieg jest liczbą. "; } if (rvm.StartKm != null && isCorrect && int.Parse(rvm.StartKm) < car.KmAge) { retval.ErrorMessage += "Przebieg przed podróżą nie może być mniejszy niż aktualny przebieg pojazdu. Aktualny przebieg to: " + car.KmAge + " km. "; } return(string.IsNullOrEmpty(retval.ErrorMessage) ? ValidationResult.Success : retval); }
protected override ValidationResult IsValid(object value, ValidationContext validationContext) { ValidationResult retval = new ValidationResult(""); TravelViewModels rvm = (TravelViewModels)validationContext.ObjectInstance; bool isCorrect = true; if (rvm.Purpose != null) { foreach (char c in rvm.Purpose) { if (!char.IsLetter(c) && !char.IsWhiteSpace(c)) { isCorrect = false; break; } } } if (!isCorrect) { retval.ErrorMessage += "Cel podróży zawiera niepoprawne znaki. "; } return(string.IsNullOrEmpty(retval.ErrorMessage) ? ValidationResult.Success : retval); }
protected override ValidationResult IsValid(object value, ValidationContext validationContext) { ValidationResult retval = new ValidationResult(""); TravelViewModels rvm = (TravelViewModels)validationContext.ObjectInstance; bool isCorrect = true; if (rvm.To != null) { foreach (char c in rvm.To) { if (!char.IsLetter(c) && !char.IsWhiteSpace(c)) { isCorrect = false; break; } } } if (!isCorrect) { retval.ErrorMessage += "Koniec podróży to nazwa miejscowości. "; } return(string.IsNullOrEmpty(retval.ErrorMessage) ? ValidationResult.Success : retval); }
protected override ValidationResult IsValid(object value, ValidationContext validationContext) { ValidationResult retval = new ValidationResult(""); TravelViewModels rvm = (TravelViewModels)validationContext.ObjectInstance; bool isCorrect = true; if (rvm.StopKm != null) { foreach (char c in rvm.StopKm) { if (!char.IsDigit(c)) { isCorrect = false; break; } } } if (!isCorrect) { retval.ErrorMessage += "Przebieg jest liczbą. "; } else if (rvm.StopKm != null) { int start = 0; int stop = int.Parse(rvm.StopKm); if (!rvm.StartTravel && int.TryParse(rvm.StartKm, out start) && start >= stop) { retval.ErrorMessage += "Przebieg przed podróżą nie może być większy lub równy od przebiegu po podróży. "; } } return(string.IsNullOrEmpty(retval.ErrorMessage) ? ValidationResult.Success : retval); }
public TravelViewModels GetCurrentTravel(ApplicationUser user, int carId) { int companyId = getCompanyIdByUser(user); Travel travel = context.Travel.Where(t => t.Car.Id == carId && t.Car.Company.CompanyID == companyId && t.User.Id.Equals(user.Id) && t.Car.CarStatus.Status.Equals("W trasie") && t.CarMileageStop == 0).FirstOrDefault(); TravelViewModels tvm = new TravelViewModels(); if (travel != null && travel.Id != 0) { tvm.From = travel.From; tvm.Notes = travel.Notes; tvm.Purpose = travel.Purpose; tvm.StartKm = travel.CarMileageStart.ToString(); tvm.StopKm = travel.CarMileageStop.ToString(); tvm.To = travel.To; } return(tvm); }
public ActionResult StartTravel(string id) { TravelViewModels tvm = new TravelViewModels(); tvm.Button = "Start"; tvm.Title = "Rozpocznij podróż"; int Id = 0; DatabaseControler dc = new DatabaseControler(); if (!int.TryParse(id, out Id) || dc.IsInTravel(Id)) { return(RedirectToAction("Index", "Home")); } tvm.CarId = Id; tvm.StopKm = "0"; tvm.StartTravel = true; return(View("TravelsForm", tvm)); }
private List <TravelViewModels> getTravelsByCarId(int carId, int month, int year) { List <TravelViewModels> retval = new List <TravelViewModels>(); List <Travel> list = context.Travel.Where(t => t.CarId == carId && t.TravelDate.Month == month && t.TravelDate.Year == year).ToList(); foreach (Travel t in list) { TravelViewModels tvm = new TravelViewModels(); tvm.From = t.From; tvm.Notes = t.Notes; tvm.Purpose = t.Purpose; tvm.StartKm = t.CarMileageStart.ToString(); tvm.StopKm = t.CarMileageStop.ToString(); tvm.To = t.To; tvm.TravelDate = t.TravelDate; retval.Add(tvm); } return(retval); }
public ActionResult StopTravel(string id) { DatabaseControler dc = new DatabaseControler(); var userName = User.Identity.Name; ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var user = userManager.FindByName(userName); int Id = 0; if (!int.TryParse(id, out Id)) { return(RedirectToAction("Index", "Home")); } TravelViewModels tvm = dc.GetCurrentTravel(user, Id); tvm.Button = "Stop"; tvm.Title = "Zakończ podróż"; tvm.CarId = Id; tvm.StopKm = string.Empty; return(View("TravelsForm", tvm)); }
public ActionResult UpdateTravel(TravelViewModels model) { if (!ModelState.IsValid) { return(View("TravelsForm", model)); } DatabaseControler dc = new DatabaseControler(); var userName = User.Identity.Name; ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var user = userManager.FindByName(userName); dc.UpdateTravel(model, user); if (model.StartTravel) { return(RedirectToAction("Index", "Home", new { Message = AccountMessageId.StartTravelSuccess })); } else { return(RedirectToAction("Index", "Home", new { Message = AccountMessageId.StopTravelSuccess })); } }
public void UpdateTravel(TravelViewModels model, ApplicationUser user) { int companyId = getCompanyIdByUser(user); Travel travel = context.Travel.Where(t => t.Car.Id == model.CarId && t.Car.Company.CompanyID == companyId && t.User.Id.Equals(user.Id) && t.Car.CarStatus.Status.Equals("W trasie")).FirstOrDefault(); if (travel != null && travel.Id != 0) { travel.CarMileageStop = int.Parse(model.StopKm); travel.Notes = model.Notes; travel.To = model.To; travel.ModyfiTime = DateTime.Now; travel.TravelDate = DateTime.Now; Cars car = GetCarDatabaseModelById(model.CarId); car.KmAge = int.Parse(model.StopKm); car.CarStatusId = getCarStatusId("Dostępny"); travel.Car = car; context.Entry(travel).State = EntityState.Modified; } else { travel = new Travel(); travel.CarId = model.CarId; travel.CarMileageStart = int.Parse(model.StartKm); travel.CarMileageStop = int.Parse(model.StopKm); travel.CreateTime = DateTime.Now; travel.From = model.From; travel.ModyfiTime = DateTime.Now; travel.Notes = model.Notes; travel.Purpose = model.Purpose; travel.To = model.To; travel.TravelDate = DateTime.Now; travel.UserId = user.Id; Cars car = GetCarDatabaseModelById(model.CarId); car.KmAge = int.Parse(model.StartKm); car.CarStatusId = getCarStatusId("W trasie"); travel.Car = car; context.Entry(travel).State = EntityState.Added; } context.SaveChanges(); }