public ICollection <string> ValidateTrip(AddTripForm model) { var errors = new List <string>(); if (string.IsNullOrEmpty(model.StartPoint) || model.StartPoint.Contains(" ")) { errors.Add("Start point cannot be empty"); } if (string.IsNullOrEmpty(model.EndPoint) || model.EndPoint.Contains(" ")) { errors.Add("End point cannot be empty"); } if (model.Seats < SeatsMinCount || model.Seats > SeatsMaxCount) { errors.Add($"The provided seats are not valid. They must be between {UserMinPassword} and {DefaultMaxLength}."); } if (DateTime.TryParse(model.DepartureTime, out var date) == false) { errors.Add($"Date of trim is not a valid"); } //if (IsImageUrl(model.ImagePath) == false) //{ // errors.Add($"The provided image URL iS not valid."); //} return(errors); }
public HttpResponse Add(AddTripForm model) { var errors = this.validator.ValidateTrip(model); if (errors.Any()) { return(Redirect("/Trips/Add")); } var departure = DateTime.ParseExact(model.DepartureTime, "dd.MM.yyyy HH:mm", System.Globalization.CultureInfo.InvariantCulture); var trip = new Trip { StartPoint = model.StartPoint, EndPoint = model.EndPoint, DepartureTime = departure, ImagePath = model.ImagePath, Seats = model.Seats, Description = model.Description, }; ; var user = this.data.Users.First(x => x.Id == this.User.Id); var userTrip = new UserTrip { Trip = trip, User = user }; trip.UserTrips.Add(userTrip); this.data.Trips.Add(trip); this.data.SaveChanges(); return(Redirect("/Trips/All")); }