Example #1
0
 public void Save(AssemblyModel _object)
 {
     ClearDB();
     using (DatabaseContext context = new DatabaseContext())
     {
         DatabaseAssemblyModel assemblyModel = (DatabaseAssemblyModel)_object;
         context.AssemblyModel.Add(assemblyModel);
         context.SaveChanges();
     }
 }
Example #2
0
        public AssemblyModel Read()
        {
            using (DatabaseContext context = new DatabaseContext())
            {
                context.Configuration.ProxyCreationEnabled = false;

                context.NamespaceModel
                .Include(n => n.Types)
                .Load();
                context.TypeModel
                .Include(t => t.Constructors)
                .Include(t => t.BaseType)
                .Include(t => t.DeclaringType)
                .Include(t => t.Fields)
                .Include(t => t.ImplementedInterfaces)
                .Include(t => t.GenericArguments)
                .Include(t => t.Methods)
                .Include(t => t.NestedTypes)
                .Include(t => t.Properties)
                .Include(t => t.TypeGenericArguments)
                .Include(t => t.TypeImplementedInterfaces)
                .Include(t => t.TypeNestedTypes)
                .Include(t => t.MethodGenericArguments)
                .Include(t => t.TypeBaseTypes)
                .Include(t => t.TypeDeclaringTypes)
                .Load();
                context.ParameterModel
                .Include(p => p.Type)
                .Include(p => p.TypeFields)
                .Include(p => p.MethodParameters)
                .Load();
                context.MethodModel
                .Include(m => m.GenericArguments)
                .Include(m => m.Parameters)
                .Include(m => m.ReturnType)
                .Include(m => m.TypeConstructors)
                .Include(m => m.TypeMethods)
                .Load();
                context.PropertyModel
                .Include(p => p.Type)
                .Include(p => p.TypeProperties)
                .Load();


                DatabaseAssemblyModel dbAssemblyModel = context.AssemblyModel
                                                        .Include(a => a.NamespaceModels)
                                                        .ToList().FirstOrDefault();
                if (dbAssemblyModel == null)
                {
                    throw new ArgumentException("Database is empty");
                }
                return(dbAssemblyModel);
            }
        }
        public void Setup()
        {
            assemblyMetadatas = new List <DatabaseAssemblyModel>();
            string testDir          = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string solutionDir      = testDir.Substring(0, testDir.LastIndexOf("Projekt.Database.UnitTest"));
            string PathToExampleDll = solutionDir + "Projekt.TestDLL\\TPA.ApplicationArchitecture.dll";

            DatabaseService  databaseService  = new DatabaseService();
            AssemblyMetadata assemblyMetadata = new AssemblyMetadata(Assembly.ReflectionOnlyLoadFrom(PathToExampleDll));

            DatabaseAssemblyModel databaseAssemblyModel = new DatabaseAssemblyModel();
            AssemblyModel         model = AssemblyModelMapper.MapDown(assemblyMetadata, databaseAssemblyModel);

            assemblyMetadatas.Add(databaseAssemblyModel);
        }