Example #1
0
        public async Task <IActionResult> UpdateDeparture(AddDepartureDTO request)
        {
            ServiceResponse <GetDeparturesDTO> response = await _routeService.UpdateDeparture(request);

            if (!response.Success)
            {
                return(BadRequest(response));
            }
            return(Ok(response));
        }
Example #2
0
        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);
        }