Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        ///<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);
            }
        }
Exemplo n.º 4
0
        ///<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);
            }
        }
Exemplo n.º 5
0
        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);
        }