Beispiel #1
0
 public RouteAttraction Delete(Route route, Attraction attraction)
 {
     using (var context = ApplicationDbContext.Get)
     {
         RouteAttraction routeAttraction = context.RouteAttractions.Find(route.RouteID, attraction.AttractionID);
         if (routeAttraction != null)
         {
             context.RouteAttractions.Remove(routeAttraction);
             context.SaveChanges();
         }
         return(routeAttraction);
     }
 }
Beispiel #2
0
 public RouteAttraction Add(Route route, Attraction attraction)
 {
     using (var context = ApplicationDbContext.Get)
     {
         RouteAttraction newtemp = new RouteAttraction()
         {
             RouteId = route.RouteID, Route = route, AtractionId = attraction.AttractionID, Attraction = attraction
         };
         context.RouteAttractions.Add(newtemp);
         context.SaveChanges();
         return(newtemp);
     }
 }
Beispiel #3
0
        public IActionResult Remove(int id)
        {
            Route             newRoute       = _routeRepository.GetUserRoute(User.Identity.Name);
            List <Attraction> AllAtractions1 = _routeAttractionRepository.GetAttractions(newRoute);

            RouteAttraction route = new RouteAttraction()
            {
                RouteId     = newRoute.RouteID,
                Route       = newRoute,
                AtractionId = id,
                Attraction  = _attractionRepository.GetAttraction(id),
                Index       = id - 1
            };

            List <RouteAttraction> routeAttractions = newRoute.RouteAttractions;

            routeAttractions.Remove(route);
            //routeAttractions.RemoveAll(x => x.Attraction == _attractionRepository.GetAttraction(id));

            newRoute.RouteAttractions = routeAttractions;
            _routeRepository.Update(newRoute);
            return(RedirectToAction("index"));
        }
Beispiel #4
0
        public IActionResult Index(Route stuff)
        {
            Route           newRoute = _routeRepository.GetUserRoute(User.Identity.Name);
            RouteAttraction route    = new RouteAttraction()
            {
                RouteId     = newRoute.RouteID,
                Route       = newRoute,
                AtractionId = stuff.TempAtractionID,
                Attraction  = _attractionRepository.GetAttraction(stuff.TempAtractionID),
            };

            List <RouteAttraction> routeAttractions = new List <RouteAttraction>();

            if (newRoute.RouteAttractions != null)
            {
                routeAttractions = newRoute.RouteAttractions;
            }

            route.Index = routeAttractions.Count;
            routeAttractions.Add(route);
            newRoute.RouteAttractions = routeAttractions;
            _routeRepository.Update(newRoute);
            return(RedirectToAction("index"));
        }
Beispiel #5
0
        public override async Task <bool> Delete(int id)
        {
            if (id <= 0)
            {
                throw new InvalidOperationException();
            }

            IReadOnlyCollection <AttractionSubject> toDelete =
                new AttractionSubject[0];

            using (var cp = ContextProviderFactory.Create())
            {
                toDelete =
                    await cp.GetTable <AttractionSubject>()
                    .Where(t => t.AttractionId == id)
                    .ToArrayAsync();
            }

            foreach (var attractionSubject in toDelete)
            {
                await _attractionSubjectsService.Delete(attractionSubject.AttractionId,
                                                        attractionSubject.SubjectId);
            }

            IReadOnlyCollection <RouteAttraction> toDelete2 =
                new RouteAttraction[0];

            using (var cp = ContextProviderFactory.Create())
            {
                toDelete2 =
                    await cp.GetTable <RouteAttraction>()
                    .Where(t => t.AttractionId == id)
                    .ToArrayAsync();
            }

            foreach (var routeAttraction in toDelete2)
            {
                await _routeAttractionService.Delete(routeAttraction.AttractionId, routeAttraction.RouteId);
            }

            IReadOnlyCollection <AttractionPlaceType> toDelete3 =
                new AttractionPlaceType[0];

            using (var cp = ContextProviderFactory.Create())
            {
                toDelete3 =
                    await cp.GetTable <AttractionPlaceType>()
                    .Where(t => t.AttractionId == id)
                    .ToArrayAsync();
            }

            foreach (var attractionPlaceType in toDelete3)
            {
                await _attractionPlaceTypeService.Delete(attractionPlaceType.AttractionId, attractionPlaceType.PlaceTypeId);
            }

            await base.Delete(id);

            await _reviewService.DeleteByObject(PlaceTypesConfig.AttractionCode, id);

            return(true);
        }