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 }
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()); } }