public DO.AdjacentStations GetAdjacentStations(int station1, int station2) { var adjacentStationsList = XmlTools.LoadListFromXMLSerializer <DO.AdjacentStations>(adjacentStationsPath); var adst = adjacentStationsList.Find(s => s.Station1 == station1 && s.Station2 == station2); if (adst != null && !adst.IsDeleted) { return(adst); } throw new DO.BadAdjacentStationsException(station1, station2, "Adjacent stations not found"); }
public void AddUser(DO.User newUser) { var userList = XmlTools.LoadListFromXMLSerializer <DO.User>(usersPath); var user = userList.FirstOrDefault(u => u.UserName == newUser.UserName); if (user != null && !newUser.IsDeleted) { throw new DO.BadUsernameException(newUser.UserName, "Duplicate user username"); } userList.Add(newUser); XmlTools.SaveListToXMLSerializer(userList, usersPath); }
public void AddStation(DO.Station station) { var stationList = XmlTools.LoadListFromXMLSerializer <DO.Station>(stationPath); var st = stationList.Find(s => s.Code == station.Code); if (st != null && !station.IsDeleted) { throw new DO.BadStationException(station.Code, "Duplicate Station"); } stationList.Add(station); XmlTools.SaveListToXMLSerializer(stationList, stationPath); }
public DO.Line GetLine(int lineId) { var lineList = XmlTools.LoadListFromXMLSerializer <DO.Line>(linesPath); var line = lineList.Find(l => l.Id == lineId); if (line != null && !line.IsDeleted) { return(line); } else { throw new DO.BadLineException(lineId, "Line not found"); } }
public DO.LineTrip GetLineTrip(int id) { var lineTripList = XmlTools.LoadListFromXMLSerializer <DO.LineTrip>(linesTripPath); var lineTrip = lineTripList.Find(b => b.Id == id); if (lineTrip != null) { return(lineTrip); } else { throw new DO.BadLineTripException(id, "line trip not found"); } }
public DO.User GetUser(string userName) { var userList = XmlTools.LoadListFromXMLSerializer <DO.User>(usersPath); var user = userList.Find(u => u.UserName == userName); if (user != null && !user.IsDeleted) { return(user); } else { throw new DO.BadUsernameException(userName, $"User not found {userName}"); } }
public void RemoveLineStationOnRemoveline(DO.LineStation lineStation) { var lineStationList = XmlTools.LoadListFromXMLSerializer <DO.LineStation>(lineStationsPath); var ls = lineStationList.Find(s => s.Station == lineStation.Station && s.LineId == lineStation.LineId); if (ls != null && !ls.IsDeleted) { lineStationList.Remove(ls); ls.IsDeleted = true; lineStationList.Add(ls); XmlTools.SaveListToXMLSerializer(lineStationList, lineStationsPath); } }
public DO.Station GetStation(int code) { var stationList = XmlTools.LoadListFromXMLSerializer <DO.Station>(stationPath); var station = stationList.Find(s => s.Code == code); if (station != null && !station.IsDeleted) { return(station); } else { throw new DO.BadStationException(code, "Station not found"); } }
public DO.LineStation GetLineStation(int stationCode, int lineId) { var lineStationList = XmlTools.LoadListFromXMLSerializer <DO.LineStation>(lineStationsPath); var lineStation = lineStationList.Find(s => s.Station == stationCode && s.LineId == lineId); if (lineStation != null && !lineStation.IsDeleted) { return(lineStation); } else { throw new DO.BadLineStationException(stationCode, lineId, "Station Line not found"); } }
public void UpdateStation(DO.Station station) { var stationList = XmlTools.LoadListFromXMLSerializer <DO.Station>(stationPath); var stationToUp = stationList.Find(s => s.Code == station.Code); if (stationToUp != null && !stationToUp.IsDeleted) { stationList.Remove(stationToUp); stationList.Add(station); XmlTools.SaveListToXMLSerializer(stationList, stationPath); } else { throw new DO.BadStationException(station.Code, "Station not found"); } }
public void UpdateLine(DO.Line line) { var lineList = XmlTools.LoadListFromXMLSerializer <DO.Line>(linesPath); var lineToUp = lineList.Find(l => l.Id == line.Id); if (lineToUp != null && !lineToUp.IsDeleted) { lineList.Remove(lineToUp); lineList.Add(line); XmlTools.SaveListToXMLSerializer(lineList, linesPath); } else { throw new DO.BadLineException(line.Id, "Line not found"); } }
public void UpdateUser(DO.User user) { var userList = XmlTools.LoadListFromXMLSerializer <DO.User>(usersPath); var findUser = userList.Find(u => u.UserName == user.UserName); if (findUser != null && !findUser.IsDeleted) { userList.Remove(findUser); userList.Add(user); XmlTools.SaveListToXMLSerializer(userList, usersPath); } else { throw new DO.BadUsernameException(user.UserName, $"User not found {user.UserName}"); } }
public void AddAdjacentStations(DO.AdjacentStations adjacentStations) { var adjacentStationsList = XmlTools.LoadListFromXMLSerializer <DO.AdjacentStations>(adjacentStationsPath); var adst = adjacentStationsList.Find(s => s.Station1 == adjacentStations.Station1 && s.Station2 == adjacentStations.Station2); if (adst != null) { if (!adst.IsDeleted) { throw new DO.BadAdjacentStationsException(adjacentStations.Station1, adjacentStations.Station2, "Duplicate adjacent stations"); } } adjacentStationsList.Add(adjacentStations); XmlTools.SaveListToXMLSerializer(adjacentStationsList, adjacentStationsPath); }
public int AddLineTrip(DO.LineTrip lineTrip) { var counters = XmlTools.LoadListFromXMLSerializer <int>(countersPath); DalApi.Counters.LineTripCounter = counters[1]; lineTrip.Id = DalApi.Counters.LineTripCounter; counters[1] = lineTrip.Id; XmlTools.SaveListToXMLSerializer(counters, countersPath); var lineTripList = XmlTools.LoadListFromXMLSerializer <DO.LineTrip>(linesTripPath); lineTripList.Add(lineTrip); XmlTools.SaveListToXMLSerializer(lineTripList, linesTripPath); return(lineTrip.Id); }
public void UpdateLineStation(DO.LineStation lineStation) { var lineStationList = XmlTools.LoadListFromXMLSerializer <DO.LineStation>(lineStationsPath); var ls = lineStationList.Find(s => s.Station == lineStation.Station && s.LineId == lineStation.LineId); if (ls != null && !ls.IsDeleted) { lineStationList.Remove(ls); lineStationList.Add(lineStation); XmlTools.SaveListToXMLSerializer(lineStationList, lineStationsPath); } else { throw new DO.BadLineStationException(lineStation.Station, lineStation.LineId, "Station line not found"); } }
public int AddLine(DO.Line line) { var counters = XmlTools.LoadListFromXMLSerializer <int>(countersPath); DalApi.Counters.LineCounter = counters[0]; line.Id = DalApi.Counters.LineCounter; counters[0] = line.Id; XmlTools.SaveListToXMLSerializer(counters, countersPath); var lineList = XmlTools.LoadListFromXMLSerializer <DO.Line>(linesPath); lineList.Add(line); XmlTools.SaveListToXMLSerializer(lineList, linesPath); return(line.Id); }
public void RemoveLine(DO.Line line) { var lineList = XmlTools.LoadListFromXMLSerializer <DO.Line>(linesPath); var lineToRem = lineList.Find(l => l.Id == line.Id); if (lineToRem != null && !lineToRem.IsDeleted) { GetAllLineStationBy(ls => ls.LineId == lineToRem.Id).ToList().ForEach(RemoveLineStationOnRemoveline); lineList.Remove(lineToRem); lineToRem.IsDeleted = true; lineList.Add(lineToRem); XmlTools.SaveListToXMLSerializer(lineList, linesPath); } else { throw new DO.BadLineException(line.Id, "Line not found"); } }
public void UpdateAdjacentStations(DO.AdjacentStations adjacentStations) { var adjacentStationsList = XmlTools.LoadListFromXMLSerializer <DO.AdjacentStations>(adjacentStationsPath); var adst = adjacentStationsList.Find(s => s.Station1 == adjacentStations.Station1 && s.Station2 == adjacentStations.Station2); if (adst != null && !adst.IsDeleted) { adjacentStationsList.Remove(adst); adjacentStationsList.Add(adjacentStations); XmlTools.SaveListToXMLSerializer(adjacentStationsList, adjacentStationsPath); } else { throw new DO.BadAdjacentStationsException(adjacentStations.Station1, adjacentStations.Station2 , "Adjacent Stations not found"); } }
public IEnumerable <DO.Bus> GetAllBuss() { var bussRootElem = XmlTools.LoadListFromXMLElement(bussPath); var list = from b in bussRootElem.Elements() where !bool.Parse(b.Element("IsDeleted").Value) select new DO.Bus() { LicenseNum = int.Parse(b.Element("LicenseNum").Value), FromDate = DateTime.Parse(b.Element("FromDate").Value), FuelRemain = double.Parse(b.Element("FuelRemain").Value), IsDeleted = bool.Parse(b.Element("IsDeleted").Value), KilometersAfterFueling = double.Parse(b.Element("KilometersAfterFueling").Value), KilometersAfterTreatment = double.Parse(b.Element("KilometersAfterTreatment").Value), LastTreatment = DateTime.Parse(b.Element("LastTreatment").Value), Status = (DO.BusStatus)Enum.Parse(typeof(DO.BusStatus), b.Element("Status").Value), TotalTrip = double.Parse(b.Element("TotalTrip").Value) }; return(list); }
public void UpdateBus(DO.Bus bus) { XElement bussRootElem = XmlTools.LoadListFromXMLElement(bussPath); var busNode = (from b in bussRootElem.Elements() where b.Element("LicenseNum").Value == bus.LicenseNum.ToString() select b).FirstOrDefault(); if (busNode == null) { throw new DO.BadBusException(0, "bus not found"); } if (busNode.Element("IsDeleted").Value == true.ToString()) { throw new DO.BadBusException(bus.LicenseNum, "bus not found"); } busNode.UpdateElement(bus); XmlTools.SaveListToXMLElement(bussRootElem, bussPath); }
public void RemoveStation(DO.Station station) { var stationList = XmlTools.LoadListFromXMLSerializer <DO.Station>(stationPath); var stationToRem = stationList.Find(s => s.Code == station.Code); if (stationToRem != null && !stationToRem.IsDeleted) { GetAllLineStationBy(s => s.Station == stationToRem.Code).ToList().ForEach(RemoveLineStation); GetAllAdjacentStationsBy(s => s.Station1 == stationToRem.Code || s.Station2 == stationToRem.Code).ToList().ForEach(RemoveAdjacentStations); stationList.Remove(stationToRem); stationToRem.IsDeleted = true; stationList.Add(stationToRem); XmlTools.SaveListToXMLSerializer(stationList, stationPath); } else { throw new DO.BadStationException(station.Code, "Station not found"); } }