// GET: Reservations/Create
        public ActionResult Create()
        {
            var dto = new StartCreateDTO();

            //Adds all Stations with distinct Districs to a List
            var stationsList = db.Stations.Where(e => e.Status == "Accepted").DistinctBy(e => e.District).ToList();

            dto.DistrictDropDown = new SelectList(stationsList, "Id", "District");

            return(View(dto));
        }
        //[HttpPost]
        public ActionResult ShowFreeSlots(StartCreateDTO startDto)
        {
            var station = db.Stations.Find(startDto.Station);
            var reservationsOfTheDay = db.Reservations
                                       .Where(e => e.ChargingPoint.Station.Id == station.Id)
                                       .Where(e => e.Date == startDto.Date).ToList();
            var listOfCargingPoints = station.ChargingPoints.Where(e => e.Station == station).ToList();

            var reservationsList = new List <Reservation>();

            foreach (var item in listOfCargingPoints)
            {
                var openTime  = station.OpenTime;
                var closeTime = station.CloseTime;
                var timeSpan  = TimeSpan.FromMinutes(30);

                while (openTime <= closeTime)
                {
                    if (reservationsOfTheDay
                        .Where(e => e.ChargingPoint.Id == item.Id)
                        .Any(e => e.TimeStart == openTime))
                    {
                        openTime = openTime.Add(timeSpan);
                        continue;
                    }
                    else
                    {
                        var reservation = new Reservation()
                        {
                            TimeStart     = openTime, TimeFinish = openTime.Add(timeSpan),
                            ChargingPoint = item, Date = startDto.Date, Status = "Not Selected"
                        };
                        openTime = openTime.Add(timeSpan);
                        reservationsList.Add(reservation);
                    }
                }
            }

            var showSlotsDto = new ShowFreeSlotsDTO();

            showSlotsDto.Reservations = reservationsList;
            showSlotsDto.Station      = station;

            return(View(showSlotsDto));
        }