Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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));
        }