Example #1
0
        public IMoBiProject Load(IMoBiContext context)
        {
            var projectFromDb = projectFromDatabase();

            if (projectFromDb == null)
            {
                return(null);
            }

            if (!ProjectVersions.CanLoadVersion(projectFromDb.Version))
            {
                throw new InvalidProjectFileException(projectFromDb.Version);
            }

            var project = projectFrom(projectFromDb);

            _postSerializationStepsMaker.PerformPostDeserializationFor(project, projectFromDb.Version);

            context.LoadFrom(project);

            return(project);
        }