Ejemplo n.º 1
0
        public int AddTrip(TripVm tripVm, string userName)
        {
            var trip = new Trip
            {
                OperationalIntervalId = tripVm.OperationalIntervalId,
                LineId        = tripVm.LineId,
                ArrivalTime   = TimeSpan.Parse(tripVm.ArrivalTime),
                DepartureTime = TimeSpan.Parse(tripVm.DepartureTime)
            };

            if (tripVm.Schedules != null)
            {
                trip.Schedules = tripVm.Schedules.Select(a => new Schedule
                {
                    ArrivalTime   = a.ArrivalTime,
                    DepartureTime = a.DepartureTime,
                    StationId     = a.StationId
                }).ToList();
            }

            using (Oblig1Context db = new Oblig1Context())
            {
                db.Trips.Add(trip);
                db.SaveChanges();
            }

            return(trip.Id);
        }
Ejemplo n.º 2
0
 public void DeleteLine(int?id)
 {
     using (Oblig1Context db = new Oblig1Context())
     {
         var lineRemove = db.Lines.SingleOrDefault(a => a.Id == id.Value);
         db.Lines.Remove(lineRemove);
         db.SaveChanges();
     }
 }
 public void DeleteOis(int id)
 {
     using (Oblig1Context db = new Oblig1Context())
     {
         var oisRemove = db.OperationalIntervals.FirstOrDefault(a => a.Id == id);
         db.OperationalIntervals.Remove(oisRemove);
         db.SaveChanges();
     }
 }
Ejemplo n.º 4
0
 public void DeleteStation(int id)
 {
     using (Oblig1Context db = new Oblig1Context())
     {
         var stationRemove = db.Stations.FirstOrDefault(a => a.Id == id);
         db.Stations.Remove(stationRemove);
         db.SaveChanges();
     }
 }
Ejemplo n.º 5
0
        public void UpdateStation(StationVm stationEdit)
        {
            using (Oblig1Context db = new Oblig1Context())
            {
                var stationDb = db.Stations.Where(a => a.Id == stationEdit.StationId).FirstOrDefault();

                stationDb.StationName = stationEdit.StationName;
                db.SaveChanges();
            }
        }
Ejemplo n.º 6
0
        public void UpdateLine(LineVm lineEdit)
        {
            using (Oblig1Context db = new Oblig1Context())
            {
                var lineDb = db.Lines.Where(a => a.Id == lineEdit.Id).SingleOrDefault();

                lineDb.LineName    = lineEdit.LineName;
                lineDb.DepartureId = lineEdit.DepartureStationId;
                lineDb.ArrivalId   = lineEdit.ArrivalStationId;

                db.SaveChanges();
            }
        }
Ejemplo n.º 7
0
        public void FinalizeTicket(FinalizeTicketVm finalizeTicket)
        {
            using (Oblig1Context db = new Oblig1Context())
            {
                var ticketToFinalize = db.Tickets.Single(a => a.Id == finalizeTicket.TicketId);

                ticketToFinalize.Email      = finalizeTicket.Email;
                ticketToFinalize.CardNumber = finalizeTicket.CardNumber;
                ticketToFinalize.State      = TicketState.Complete;

                db.SaveChanges();
            }
        }
Ejemplo n.º 8
0
        public int AddStation(StationVm stationVm)
        {
            var station = new Station
            {
                StationName = stationVm.StationName
            };

            using (Oblig1Context db = new Oblig1Context())
            {
                db.Stations.Add(station);
                db.SaveChanges();
            }

            return(station.Id);
        }
Ejemplo n.º 9
0
        public int AddLine(LineVm newLine)
        {
            var line = new Line
            {
                LineName    = newLine.LineName,
                DepartureId = newLine.DepartureStationId,
                ArrivalId   = newLine.ArrivalStationId
            };

            using (Oblig1Context db = new Oblig1Context())
            {
                db.Lines.Add(line);
                db.SaveChanges();
            }

            return(line.Id);
        }
        public void UpdateOperationalInterval(OperationalIntervalVm ois)
        {
            using (Oblig1Context db = new Oblig1Context())
            {
                var oisDb = db.OperationalIntervals.Where(a => a.Id == ois.Id).FirstOrDefault();

                oisDb.Name      = ois.Name;
                oisDb.StartDate = ois.StartDate;
                oisDb.EndDate   = ois.EndDate;
                oisDb.Monday    = ois.Monday;
                oisDb.Tuesday   = ois.Tuesday;
                oisDb.Wednesday = ois.Wednesday;
                oisDb.Thursday  = ois.Thursday;
                oisDb.Friday    = ois.Friday;
                oisDb.Saturday  = ois.Saturday;
                oisDb.Sunday    = ois.Sunday;

                db.SaveChanges();
            }
        }
Ejemplo n.º 11
0
        public int AddTicket(TicketVm ticket)
        {
            var travelTicket = new Ticket
            {
                ArrivalStationId   = ticket.ArrivalStationId,
                DepartureStationId = ticket.DepartureStationId,
                TripId             = ticket.TripId,
                JourneyDate        = ticket.Date,
                Price = ticket.Price,
                State = TicketState.Pending
            };

            using (Oblig1Context db = new Oblig1Context())
            {
                db.Tickets.Add(travelTicket);
                db.SaveChanges();
            }

            return(travelTicket.Id);
        }
Ejemplo n.º 12
0
        public void DeleteTrip(int id, string userName)
        {
            using (Oblig1Context db = new Oblig1Context())
            {
                var tripDelete = db.Trips.SingleOrDefault(a => a.Id == id);

                //Husk å legge if på flere singleordefault

                if (tripDelete != null)
                {
                    foreach (var schedule in tripDelete.Schedules.ToList())
                    {
                        db.Schedules.Remove(schedule);
                    }

                    db.Trips.Remove(tripDelete);
                    db.SaveChanges();
                }
            }
        }
        public int AddOis(OperationalIntervalVm oisVm)
        {
            var ois = new OperationalInterval
            {
                Name      = oisVm.Name,
                StartDate = oisVm.StartDate,
                EndDate   = oisVm.EndDate,
                Monday    = oisVm.Monday,
                Tuesday   = oisVm.Tuesday,
                Wednesday = oisVm.Wednesday,
                Thursday  = oisVm.Thursday,
                Friday    = oisVm.Friday,
                Saturday  = oisVm.Saturday,
                Sunday    = oisVm.Sunday
            };

            using (Oblig1Context db = new Oblig1Context())
            {
                db.OperationalIntervals.Add(ois);
                db.SaveChanges();
            }

            return(ois.Id);
        }
Ejemplo n.º 14
0
        public void UpdateTrip(TripVm tripVm, string userName)
        {
            using (Oblig1Context db = new Oblig1Context())
            {
                var tripDb = db.Trips.Where(a => a.Id == tripVm.Id).SingleOrDefault();

                if (tripDb != null)
                {
                    var auditLog = new AuditLog
                    {
                        TimeStamp = DateTime.Now,
                        Model     = nameof(Trip),
                        Type      = AuditType.Updated,
                        User      = userName
                    };

                    var sb = new StringBuilder();

                    if (tripDb.LineId != tripVm.LineId)
                    {
                        sb.AppendLine($"Updated Line from: {tripDb.Line.LineName} To: {tripVm.LineName}");
                    }

                    if (tripDb.OperationalIntervalId != tripVm.OperationalIntervalId)
                    {
                        sb.AppendLine($"Updated OperationalInterval from: {tripDb.OperationalInterval.Name} To: {tripVm.OperationalIntervalName}");
                    }

                    if (tripDb.LineId != tripVm.LineId)
                    {
                        sb.AppendLine($"Updated Line from: {tripDb.Line.LineName} To: {tripVm.LineName}");
                    }

                    var arrivalTime   = TimeSpan.Parse(tripVm.ArrivalTime);
                    var departureTime = TimeSpan.Parse(tripVm.DepartureTime);

                    if (tripDb.ArrivalTime != arrivalTime)
                    {
                        sb.AppendLine($"Updated ArrivalTime from: {tripDb.ArrivalTime} To: {arrivalTime}");
                    }

                    if (tripDb.DepartureTime != departureTime)
                    {
                        sb.AppendLine($"Updated DepartureTime from: {tripDb.DepartureTime} To: {departureTime}");
                    }

                    auditLog.Log = sb.ToString();

                    tripDb.OperationalIntervalId = tripVm.OperationalIntervalId;
                    tripDb.LineId        = tripVm.LineId;
                    tripDb.ArrivalTime   = arrivalTime;
                    tripDb.DepartureTime = departureTime;

                    if (tripVm.Schedules == null || tripVm.Schedules.Count == 0)
                    {
                        db.Schedules.RemoveRange(tripDb.Schedules);
                    }
                    else
                    {
                        var scheduleIds       = tripVm.Schedules.Select(a => a.Id).ToList();
                        var schedulesToRemove = tripDb.Schedules.Where(a => !scheduleIds.Contains(a.Id));
                        var schedulesToUpdate = tripDb.Schedules.Where(a => scheduleIds.Contains(a.Id));
                        var schedulesToAdd    = tripVm.Schedules.Where(a => a.Id == 0);

                        if (schedulesToRemove.Any())
                        {
                            db.Schedules.RemoveRange(schedulesToRemove);
                        }

                        foreach (var schedule in schedulesToUpdate)
                        {
                            var scheduleVm = tripVm.Schedules.Single(a => a.Id == schedule.Id);

                            schedule.StationId     = scheduleVm.StationId;
                            schedule.ArrivalTime   = scheduleVm.ArrivalTime;
                            schedule.DepartureTime = scheduleVm.DepartureTime;
                        }

                        foreach (var schedule in schedulesToAdd)
                        {
                            tripDb.Schedules.Add(new Schedule
                            {
                                StationId     = schedule.StationId,
                                ArrivalTime   = schedule.ArrivalTime,
                                DepartureTime = schedule.DepartureTime
                            });
                        }
                    }

                    if (!string.IsNullOrEmpty(auditLog.Log))
                    {
                        db.AuditLogs.Add(auditLog);
                    }

                    db.SaveChanges();
                }
            }
        }