Exemple #1
0
        public string AlredyExistTimetable(TimetablePomModel timetablePom)
        {
            List <Timetable> timetablesFromDb = _unitOfWork.Timetables.GetAll().ToList();

            if (timetablesFromDb == null)
            {
                return("null");
            }

            int dayIdForDb  = _unitOfWork.Days.Find(a => a.Name == timetablePom.DayId).FirstOrDefault().Id;
            int lineIdForDb = _unitOfWork.Lines.Find(l => l.RegularNumber == timetablePom.LineId).FirstOrDefault().Id;

            Timetable alreadyExistsTimetable = timetablesFromDb.Where(tt => tt.LineId == lineIdForDb &&
                                                                      tt.DayId == dayIdForDb && tt.Departures.Contains(timetablePom.Departures.ToString())).FirstOrDefault();

            if (alreadyExistsTimetable == null)
            {
                return("No");
            }

            return("Yes"); //vec postoji u bazi
        }
Exemple #2
0
        public IHttpActionResult PostTimetable(TimetablePomModel timetablePom)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            List <Timetable> listTimetableFromDb = _unitOfWork.Timetables.GetAll().ToList();

            Timetable newTimetable = new Timetable();


            int dayIdd = 0;
            //_unitOfWork.Days.GetIdDay(timetablePom.DayId).Id;
            List <Day> d = _unitOfWork.Days.GetAll().ToList();

            foreach (var item in d)
            {
                if (item.Name == timetablePom.DayId)
                {
                    dayIdd = item.Id;
                    break;
                }
            }

            int lineIdd = _unitOfWork.Lines.GetIdLine(timetablePom.LineId).Id;
            //List<Line> l = _unitOfWork.Lines.GetAll().ToList();

            bool existsTimetable = false;

            foreach (var item in listTimetableFromDb)
            {
                if (item.LineId == lineIdd && item.DayId == dayIdd)
                {
                    existsTimetable = true; //ne smije upisati vec postoji
                    break;
                }
            }



            newTimetable.LineId     = lineIdd;
            newTimetable.DayId      = dayIdd;
            newTimetable.Departures = timetablePom.Departures;

            if (!existsTimetable)
            {
                newTimetable.Departures += ":00|";
                _unitOfWork.Timetables.Add(newTimetable);
                _unitOfWork.Complete();
                return(Ok(newTimetable.Id));
            }
            else
            {
                Timetable timetable2 = new Timetable();
                foreach (var item in listTimetableFromDb)
                {
                    if (item.LineId == newTimetable.LineId && item.DayId == newTimetable.DayId)
                    {
                        timetable2 = item;
                    }
                }

                timetable2.Departures += newTimetable.Departures + "|";

                string vremena = timetable2.Departures;

                List <TimeSpan> listTimeSpan = new List <TimeSpan>();

                string[] nizVremena = vremena.Split('|');
                for (int i = 0; i < nizVremena.Length - 1; i++)
                {
                    listTimeSpan.Add(TimeSpan.Parse(nizVremena[i]));
                }

                List <TimeSpan> sortiranaVremena = listTimeSpan.OrderBy(dd => dd.Hours).ThenBy(dddd => dddd.Minutes).ToList();

                string noviString = "";
                foreach (var item in sortiranaVremena)
                {
                    noviString += item.ToString() + "|";
                }

                timetable2.Departures = noviString;
                _unitOfWork.Timetables.Update(timetable2);
                _unitOfWork.Complete();

                return(Ok());
            }
        }