public void InsertOrModifyPhasesInTekla(SerializablePhaseCollection serializablePhaseCollection) { foreach (var serializablePhases in serializablePhaseCollection.List) { var modelPhase = GetPhaseFromModel(serializablePhases.Number); if (modelPhase == null) { modelPhase = new Phase { PhaseNumber = serializablePhases.Number, PhaseName = serializablePhases.Name, PhaseComment = serializablePhases.Comment }; modelPhase.Insert(); } else { modelPhase.PhaseNumber = serializablePhases.Number; modelPhase.PhaseName = serializablePhases.Name; modelPhase.PhaseComment = serializablePhases.Comment; modelPhase.Modify(); } } new Model().CommitChanges(); }
public SerializablePhaseCollection GetPhasesFromModel() { var phasesFromModel = new SerializablePhaseCollection(); var phases = new Model().GetPhases(); foreach (Phase phase in phases) { var serializablePhase = new SerializablePhase(phase); phasesFromModel.Add(serializablePhase); } phasesFromModel.Sort(); return(phasesFromModel); }
///<exception cref="Exceptions.FilteringToolException"></exception> public SerializablePhaseCollection LoadPhasesFromFile(string fileName) { try { var phasesFromFile = SerializablePhaseCollection.Load(fileName); phasesFromFile.Sort(); return(phasesFromFile); } catch (Exception ex) { string message = "Could not load phases from file: " + Path.GetFileName(fileName); message = message + "\n\n" + Exceptions.IOExceptionsHandler.GetMessage(ex); throw new Exceptions.FilteringToolException(message, ex); } }
///<exception cref="Exceptions.FilteringToolException"></exception> public void ExportPhases(string fileName, SerializablePhaseCollection modelPhases) { try { if (modelPhases.GetSize() > 0) { modelPhases.Save(fileName); } } catch (Exception ex) { string message = "Could not export phases to file: " + Path.GetFileName(fileName); message = message + "\n\n" + Exceptions.IOExceptionsHandler.GetMessage(ex); throw new Exceptions.FilteringToolException(message, ex); } }
public SerializablePhaseCollection GetConflicts(SerializablePhaseCollection phasesFromFile, SerializablePhaseCollection phasesFromModel) { var conflicts = new SerializablePhaseCollection(); foreach (var phaseFromFile in phasesFromFile.List) { int phaseInModelIndex = phasesFromModel.List.FindIndex(p => p.Number.Equals(phaseFromFile.Number)); if (phaseInModelIndex >= 0) { var phaseInModelWithSameNumber = phasesFromModel.List[phaseInModelIndex]; if (phaseInModelWithSameNumber.Name.Equals(phaseFromFile.Name) == false | phaseInModelWithSameNumber.Comment.Equals(phaseFromFile.Comment) == false) { conflicts.Add(phaseFromFile); } } } return(conflicts); }