Exemple #1
0
        public async Task RemoveTripFromRoute(int tripOnrouteId)
        {
            await CheckPermission();

            var service = new TripOnRoutesService(_logger, _mapper);
            await service.RemoveTripsOnRouteFromRoute(tripOnrouteId);
        }
        public async Task <JsonResult> ByRouteAndTripId(int routeId, int TripId)
        {
            await CheckPermission();

            var service = new TripOnRoutesService(_logger, _mapper);
            var result  = await service.TripWithStationsByRouteIdAndTripId(routeId, TripId);

            return(Json(result));
        }
Exemple #3
0
        public async Task <JsonResult> AddOrUpdateTripToRoute([FromBody] TripOnRoutesService.TripOnRouteWithStationsDto input)
        {
            await CheckPermission();

            var service = new TripOnRoutesService(_logger, _mapper);

            //Добавляем новый трип без добавления на роут
            if (input.RouteId == 0 && input.Days != null && input.TripWithDateTimeStations != null)
            {
                ValidateTripData(input);
                return(Json(await service.AddTripOnRoute(input)));
            }
            //Добавляем существующий трип на роут
            if ((input.TripId != 0 || input.TripIds.AnyOrNotNull()) && input.Id == 0 && input.RouteId != 0)
            {
                var tripIds = new List <int>();
                if (input.TripId != 0)
                {
                    tripIds.Add(input.TripId);
                }
                else
                {
                    tripIds.AddRange(input.TripIds);
                }

                return(Json(await service.AddExistingTripsOnRouteToRoute(input.RouteId, tripIds)));
            }

            //Обновляем существующий трип(Врятле работает) хД)
            if (input.Id != 0 && input.Days != null && input.Days.Any())
            {
                ValidateTripData(input);
                return(Json(await service.UpdateTripOnRoute(input)));
            }

            throw Error.CommonError;
        }