예제 #1
0
        public ActionResult Create(StationRouteAddViewModel stationRouteAddViewModel)
        {
            if (!ModelState.IsValid)
            {
                stationRouteAddViewModel.StationsListItems = _stationLogic.GetStationsListItems();
                return View(stationRouteAddViewModel);
            }

            Station station = _stationLogic.GetStationById(stationRouteAddViewModel.StationId);
            Route route = _routeLogic.GetRouteById(stationRouteAddViewModel.RouteId);

            StationRoute stationRoute = new StationRoute
            {
                Id = stationRouteAddViewModel.Id,
                Station = station,
                DepatureDateTime = stationRouteAddViewModel.DepatureDate
                    .Add(stationRouteAddViewModel.DepatureTime),
                ArrivalDateTime = stationRouteAddViewModel.ArrivalDate
                    .Add(stationRouteAddViewModel.ArrivalTime)
            };

            // ???????
            //Mapper.CreateMap<StationRouteAddViewModel, StationRoute>()
            //    .ForMember(x => x.Station, opt => opt.MapFrom(station))
            //    .ForMember(x => x.DepatureDateTime, opt => opt.MapFrom());

            route.WayStations.Add(stationRoute);
            _routeLogic.EditRoute(route);

            return RedirectToAction("Index");
        }
예제 #2
0
        public void EditStationRoute(StationRoute stationRoute)
        {
            db.Entry(stationRoute).State = EntityState.Modified;
            db.SaveChanges();
            //TODO:!

            //TODO: todo list
            //
            //db.Entry(stationRoute).State = EntityState.Modified;

            //bool saveFailed;
            //do
            //{
            //    saveFailed = false;

            //    try
            //    {
            //        db.SaveChanges();
            //    }
            //    catch (DbUpdateConcurrencyException ex)
            //    {
            //        saveFailed = true;

            //        // Update the values of the entity that failed to save from the store
            //        ex.Entries.Single().Reload();
            //    }

            //} while (saveFailed);

            //throw new NotImplementedException();
        }
예제 #3
0
 public void DeleteStationRoute(StationRoute stationRoute)
 {
     db.StationRoutes.Remove(stationRoute);
     db.SaveChanges();
 }
예제 #4
0
 public void AddStationRoute(StationRoute stationRoute)
 {
     db.StationRoutes.Add(stationRoute);
     db.SaveChanges();
 }
예제 #5
0
        public ActionResult Create(RouteAddViewModel routeAddViewModel)
        {
            if (!ModelState.IsValid)
            {
                routeAddViewModel.StationsListItems = _stationLogic.GetStationsListItems();
                return View(routeAddViewModel);
            }

            var start = _stationLogic.GetStationById(routeAddViewModel.StartingStation);
            var last = _stationLogic.GetStationById(routeAddViewModel.LastStation);

            StationRoute startingStation = new StationRoute
            {
                ArrivalDateTime = routeAddViewModel.ArrivalDate.AddHours(routeAddViewModel.ArrivalTime.Hours)
                .AddMinutes(routeAddViewModel.ArrivalTime.Minutes),
                DepatureDateTime = routeAddViewModel.DepatureDate.AddHours(routeAddViewModel.DepatureTime.Hours)
                .AddMinutes(routeAddViewModel.DepatureTime.Minutes),
                Station = start
            };
            StationRoute lastStation = new StationRoute
            {
                ArrivalDateTime = routeAddViewModel.ArrivalDate.AddHours(routeAddViewModel.ArrivalTime.Hours)
               .AddMinutes(routeAddViewModel.ArrivalTime.Minutes),
                DepatureDateTime = routeAddViewModel.DepatureDate.AddHours(routeAddViewModel.DepatureTime.Hours)
                .AddMinutes(routeAddViewModel.DepatureTime.Minutes),
                Station = last
            };

            #region OLD CODE
            //Route route = new Route
            //{
            //    Id = routeAddViewModel.Id,
            //    Name = routeAddViewModel.Name,
            //    Number = routeAddViewModel.Number,
            //    DepatureDateTime = routeAddViewModel.DepatureDate.AddHours(routeAddViewModel.DepatureTime.Hours)
            //        .AddMinutes(routeAddViewModel.DepatureTime.Minutes),
            //    ArrivalDateTime = routeAddViewModel.ArrivalDate.AddHours(routeAddViewModel.ArrivalTime.Hours)
            //        .AddMinutes(routeAddViewModel.ArrivalTime.Minutes),
            //    FullPrice = routeAddViewModel.Price,
            //    StartingStation = startingStation,
            //    LastStation = lastStation,
            //};
            #endregion

            //ToDo: move setting startingStation, lastStation from Mapper to controller
            Mapper.CreateMap<RouteAddViewModel, Route>()
                .ForMember(x => x.DepatureDateTime, o => o.MapFrom(s => s.DepatureDate.AddHours(s.DepatureTime.Hours)
                    .AddMinutes(s.DepatureTime.Minutes)))
                .ForMember(x => x.ArrivalDateTime, o => o.MapFrom(s => s.ArrivalDate.AddHours(s.ArrivalTime.Hours)
                    .AddMinutes(s.ArrivalTime.Minutes)))
                //CAN MINIMIZE BY RENAME FULLPRICE TO PRICE
                .ForMember(x => x.FullPrice, o => o.MapFrom(s => s.Price))
                .ForMember(x => x.StartingStation, o => o.MapFrom(s => startingStation))
                .ForMember(x => x.LastStation, o => o.MapFrom(s => lastStation));

            var route = Mapper.Map<RouteAddViewModel, Route>(routeAddViewModel);

            _routeLogic.AddRoute(route);

            return RedirectToAction("Index");
        }
예제 #6
0
        public ActionResult AddWay(StationRouteAddViewModel stationRouteAddViewModel)
        {
            if (!ModelState.IsValid)
            {
                stationRouteAddViewModel.StationsListItems = _stationLogic.GetStationsListItems();
                return View(stationRouteAddViewModel);
            }

            Station station = _stationLogic.GetStationById(stationRouteAddViewModel.StationId);
            Route route = _routeLogic.GetRouteById(stationRouteAddViewModel.RouteId);

            StationRoute stationRoute = new StationRoute
            {
                Id = stationRouteAddViewModel.Id,
                Station = station,
                DepatureDateTime = stationRouteAddViewModel.DepatureDate
                    .Add(stationRouteAddViewModel.DepatureTime),
                ArrivalDateTime = stationRouteAddViewModel.ArrivalDate
                    .Add(stationRouteAddViewModel.ArrivalTime)
            };

            route.WayStations.Add(stationRoute);
            _routeLogic.EditRoute(route);

            return RedirectToAction("Index");
        }
예제 #7
0
 public void EditStationRoute(StationRoute stationRoute)
 {
     _repository.EditStationRoute(stationRoute);
 }
예제 #8
0
 public void DeleteStationRoute(StationRoute stationRoute)
 {
     _repository.DeleteStationRoute(stationRoute);
 }
예제 #9
0
 public void AddStationRoute(StationRoute stationRoute)
 {
     _repository.AddStationRoute(stationRoute);
 }