Ejemplo n.º 1
0
        public async Task <IActionResult> OptimizeRoute(int itineraryId, OptimizeRouteInputModel model)
        {
            var orgId = await GetOrganizationIdBy(itineraryId);

            if (orgId == 0 || !User.IsOrganizationAdmin(orgId))
            {
                return(Unauthorized());
            }

            await _mediator.SendAsync(new OptimizeRouteCommand { ItineraryId = itineraryId });

            return(RedirectToAction("Details", new { id = itineraryId, startAddress = model.StartAddress, endAddress = model.EndAddress }));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> OptimizeRoute(int itineraryId, OptimizeRouteInputModel model)
        {
            var authorizableItinerary = await _mediator.SendAsync(new AuthorizableItineraryQuery(itineraryId));

            if (!await authorizableItinerary.UserCanEdit())
            {
                return(new ForbidResult());
            }

            var user = await _userManager.GetUserAsync(User);

            await _mediator.SendAsync(new OptimizeRouteCommand { ItineraryId = itineraryId, UserId = user?.Id });

            return(RedirectToAction(nameof(Details), new { id = itineraryId }));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> OptimizeRoute(int itineraryId, OptimizeRouteInputModel model)
        {
            var orgId = await GetOrganizationIdBy(itineraryId);

            if (orgId == 0 || !User.IsOrganizationAdmin(orgId))
            {
                return(Unauthorized());
            }

            var user = await _userManager.GetUserAsync(User);

            await _mediator.SendAsync(new OptimizeRouteCommand { ItineraryId = itineraryId, UserId = user?.Id });

            return(RedirectToAction("Details", new { id = itineraryId }));
        }