public async Task <IActionResult> UpdateDeparture(AddDepartureDTO request) { ServiceResponse <GetDeparturesDTO> response = await _routeService.UpdateDeparture(request); if (!response.Success) { return(BadRequest(response)); } return(Ok(response)); }
public async Task <ServiceResponse <GetDeparturesDTO> > AddDeparture(AddDepartureDTO newDeparture) { ServiceResponse <GetDeparturesDTO> response = new ServiceResponse <GetDeparturesDTO>(); List <DepartureDTO> departures = new List <DepartureDTO>(); // Doesnt work without the date string time = "23/10/2020. " + newDeparture.Time; try { DateTime tmp;// = Convert.ToDateTime(time); tmp = new DateTime(2020, 10, 23, Int32.Parse(newDeparture.Time.Split(':')[0]), Int32.Parse(newDeparture.Time.Split(':')[1]), 0); await _context.Departures.AddAsync( new Departure { Time = tmp, TimetableId = newDeparture.TimetableId } ); await _context.SaveChangesAsync(); Timetable timetable = await _context.Timetables .Include(t => t.Departures) .FirstOrDefaultAsync(t => t.Id == newDeparture.TimetableId); // Testirati ovo timetable.Departures.OrderByDescending(d => d.Time); if (timetable != null) { foreach (var dep in timetable.Departures) { departures.Add(new DepartureDTO { Id = dep.Id, Time = dep.Time.ToString().Split(' ')[1].Substring(0, 5) }); } response.Data = new GetDeparturesDTO { TimetableId = timetable.Id, Departures = departures }; } else { response.Success = false; response.Message = "Timetable not found."; } } catch (Exception e) { response.Success = false; response.Message = e.Message; } return(response); }