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