private CmdbRepository(IHubConnectionContext clients, IRepositoryAdapter<CmdbGraph<CmdbItem, CmdbDependency>> graphsAdapter, IRepositoryAdapter<CmdbItem> nodesAdapter, IRepositoryAdapter<CmdbDependency> edgesAdapter) { Clients = clients; _graphsAdapter = graphsAdapter; _nodesAdapter = nodesAdapter; _edgesAdapter = edgesAdapter; var applicationCategory = new CmdbItemCategory(1, "Application"); Categories = new Dictionary<long, CmdbItemCategory> {{applicationCategory.Id, applicationCategory}}; var applicationTypeAttribute = new CmdbAttributeDefinition {Id = 1, Name = "Application Type", Type = typeof (string), AuthorisedValues = new List<object> {"Desktop", "Service"}}; var languageAttribute = new CmdbAttributeDefinition { Id = 2, Name = "Language", Type = typeof(List<string>) }; var operationSystemAttribute = new CmdbAttributeDefinition { Id = 3, Name = "Operating System", Type = typeof(string) }; var itOwnerAttribute = new CmdbAttributeDefinition { Id = 4, Name = "IT Owner", Type = typeof(string) }; var urlAttribute = new CmdbAttributeDefinition {Id = 5, Name = "Url Link", Type = typeof (string)}; var businessOwnerAttribute = new CmdbAttributeDefinition {Id = 6, Name = "Business Owner", Type = typeof (string)}; var componentVersionAttribute = new CmdbAttributeDefinition {Id = 7, Name = "Version", Type = typeof (string)}; var criticalityAttribute = new CmdbAttributeDefinition {Id = 8, Name = "Criticality", Type = typeof (string)}; //non critical, critical, mission critical var vendorAttribute = new CmdbAttributeDefinition {Id = 9, Name = "Vendor", Type = typeof (bool)}; //var wikiAttribute = new CmdbAttributeDefinition {Id = 10, Name = "Wiki Url", Type = typeof (string)}; //var licencesAttribute = new CmdbAttributeDefinition {Id = 8, Name = "Licences", Type = typeof (List<string>)}; AttributeDefinitions = new Dictionary<long, ICollection<CmdbAttributeDefinition>>(); AttributeDefinitions[applicationCategory.Id] = new List<CmdbAttributeDefinition> { applicationTypeAttribute, languageAttribute, operationSystemAttribute, itOwnerAttribute, urlAttribute, businessOwnerAttribute, componentVersionAttribute, }; }
public CmdbItem(CmdbItemCategory category, long id, string name) { Attributes = new Dictionary<long, object>(); Category = category; Id = id; Name = name; Version = 1; }