예제 #1
0
 public EntityObject(string entityName, string id, string domain, UniqueEntityType entityType = UniqueEntityType.User)
 {
     Name   = entityName;
     Type   = entityType;
     Id     = id;
     Domain = domain;
 }
예제 #2
0
 public List <EntityObject> GetUniqueEntity(UniqueEntityType entityType, bool getDomainController = false)
 {
     return(getDomainController
         ? UniqueEntitieCollection.Find(Builders <BsonDocument> .Filter.Eq("_t", entityType.ToString())).ToList()
            .Where(_ => _["IsDomainController"].AsBoolean).Select(_ => new EntityObject(_["Name"].AsString,
                                                                                        _["_id"].AsString, _.Contains("DomainId") ? _["DomainId"].AsString : null, entityType)).ToList()
         : UniqueEntitieCollection.Find(Builders <BsonDocument> .Filter.Eq("_t", entityType.ToString()))
            .ToList().Where(_ => _["Name"] != BsonNull.Value)
            .Select(_ => new EntityObject(_["Name"].AsString, _["_id"].AsString,
                                          _.Contains("DomainId") ? _["DomainId"].AsString : null, entityType))
            .ToList());
 }
예제 #3
0
        public void PopulateModel(UniqueEntityType uniqueType = UniqueEntityType.Computer)
        {
            try
            {
                var allUsers = DbClient.GetUniqueEntity(UniqueEntityType.User);
                Users = new ObservableCollection <EntityObject>(allUsers.OrderBy(entityObject => entityObject.Name).AsEnumerable());

                var domainControllers = DbClient.GetUniqueEntity(UniqueEntityType.Computer, true);
                DomainControllers = new ObservableCollection <EntityObject>(domainControllers.OrderBy(entityObject => entityObject.Name).AsEnumerable());

                var allComputers = DbClient.GetUniqueEntity(uniqueType);
                Machines = new ObservableCollection <EntityObject>(allComputers.OrderBy(entityObject => entityObject.Name).AsEnumerable());
            }
            catch (Exception pmException)
            {
                Logger.Error(pmException);
            }
        }