public async Task <Route> AddAsync(Guid authorId, AddRouteModel model) { TimeSpan duration = new TimeSpan(); switch (model.DurationPeriod) { case DurationPeriod.Hours: duration = TimeSpan.FromHours(model.Duration); break; case DurationPeriod.Days: duration = TimeSpan.FromDays(model.Duration); break; case DurationPeriod.Month: duration = TimeSpan.FromDays(model.Duration * 30); break; default: break; } var route = new Route() { CusomerId = authorId, Name = model.Name, TypeId = 1,//TODO get categoryId Difficulty = model.Difficulty, Duration = duration, Description = model.Description, Waypoints = new List <RouteWaypoints>() }; foreach (var addWaypointModel in model.Waypoints) { var waypoint = addWaypointModel.Adapt <Waypoint>(); waypoint.Location = new NetTopologySuite.Geometries.Point(addWaypointModel.Latitude, addWaypointModel.Longitude); route.Waypoints.Add(new RouteWaypoints() { Waypoint = waypoint }); } context.Routes.Add(route); await context.SaveChangesAsync(); return(route); }
public async Task <ActionResult> Add(AddRouteModel model) { if (ModelState.IsValid == false) { return(BadRequest()); } //TODO get user Id //var userName = httpContextAccessor.HttpContext.User.Identity.Name; var author = await authorService.GetByUserId(userId); var route = await routeService.AddAsync(author.Id, model); return(Ok(route.Id)); }
public ActionResult AddRoute() { DatabaseInterface db = new DatabaseInterface(); AddRouteModel model = new AddRouteModel() { AvailableBuses = db.GetAvailableBuses(), AvailableStops = db.GetAvailableStops(), AvailableDrivers = db.GetAvailableDrivers(), Bus = null, Driver = null, Name = "", RouteId = "", Stops = { }, UpdatingRoute = false }; return(PartialView("AddRoute", model)); }
public ActionResult ModifyRoute(String routeId) { DatabaseInterface db = new DatabaseInterface(); Route route = db.GetRouteByRouteId(int.Parse(routeId)); AddRouteModel model = new AddRouteModel() { AvailableBuses = db.GetAvailableBuses(), AvailableStops = db.GetAvailableStops(), AvailableDrivers = db.GetAvailableDrivers(), Bus = route.Bus, Driver = route.Driver, Name = route.Name, RouteId = routeId, Stops = route.Stops, UpdatingRoute = true }; return(PartialView("AddRoute", model)); }