private void Spawnable(DataObjectCollection collection, string search, IMenuLabel label, string type) { try { search = search.ToLower().Trim(); label.Text = ""; DataObject data; if (int.TryParse(search, out int index)) { Logger.Debug("ID found: " + index); data = GetByIndex(collection, index, label, type); if (data == null) { return; } } else { Logger.Debug("Search text found: " + search); data = GetByNameOrGuid(collection, search, label, type); if (data == null) { return; } } Entity result = null; switch (data) { case ItemData item: result = GameInstance.SpawnRelic(item); break; case EntityData enemy: result = GameInstance.SpawnEnemy(enemy); break; case AchievementData achievement: GameInstance.Game.AchievementManager.SetCompleted(achievement, !achievement.Completed); label.Text = $"{achievement.name} has been set to: {achievement.Completed}"; return; default: label.Text = $"Invalid object! Cannot spawn a {data.name} ({data.GetType().Name})!"; return; } if (result == null) { label.Text = $"{type} couldn't spawn!"; return; } } catch (Exception ex) { Logger.Error($"Error occurred when spawning {search} ({type}): {ex}"); label.Text = "Something went wrong"; } }
public DataObjectCollection <UserProfileDataObject> ExtractUserProfileItems() { if (InternalObjectIds == null) { return(null); } var result = new DataObjectCollection <UserProfileDataObject> { ObjectsDataSet = this.ObjectsDataSet }; result.ObjectsDataSet.DirtyHandlerOn = false; result.ObjectsDataSet.NotifyChanges = false; foreach (var internalObjectId in InternalObjectIds) { var item = this.ObjectsDataSet.GetObject <UserProfileDataObject>(typeof(UserProfileDataObject), internalObjectId); result.Add(item); } result.ObjectsDataSet.DirtyHandlerOn = true; result.ObjectsDataSet.NotifyChanges = true; return(result); }
public override DataObjectCollection <TDataObject> GetRelatedObjects <TDataObject>(IDataObject rootObject, string relationName) { if (relationName == "VisitedPlaceItems") { IEnumerable <VisitedPlaceDataObject> relatedObjects; relatedObjects = _rootObjectDataSet.VisitedPlaceObjectsDataSet.GetVisitedPlaceItemsForCountry(rootObject as CountryDataObject); var result = new DataObjectCollection <TDataObject>(); if (relatedObjects != null) { result.NotifyChanges = false; foreach (var relatedObject in relatedObjects) { result.Add(relatedObject as TDataObject); } result.NotifyChanges = true; } result.ObjectsDataSet = this._rootObjectDataSet; return(result); } return(null); }
private void Spawner(DataObjectCollection collection, string type) { _spawners.Add(type, ""); MenuRenderer.AddTextBox($"{type} Name", (t, c) => _spawners[type] = t) .AddButton($"Spawn {type}", (c) => Spawn(type, collection)) .AddLabel("", out IMenuLabel label); _spawnerLabels.Add(type, label); }
private void Spawn(string type, DataObjectCollection collection) { var label = _spawnerLabels[type]; var search = _spawners[type]; Logger.Debug($"Attempting to find {search} ({type})"); Spawnable(collection, search, label, type); }
/// <summary> /// Retrieves the user input from the value control and assigns it to Value /// </summary> internal override void ControlToValue() { //set value to null by default Value = null; //null values if (string.IsNullOrWhiteSpace(ValueControl.Text)) { return; } //search primary KeyNotFoundException string at the end of the Text, betewwn parenthesis //example: My Company Inc. (id=34) try { string pkString = ValueControl.Text.Substring(ValueControl.Text.IndexOf('(') + 1); pkString = pkString.TrimEnd(')'); pkString = pkString.Trim(); DataObject dobj = DataObject.From(this.ValueType); TypeConverter.ToDataValueInstances(pkString, dobj.PrimaryKey); Value = dobj; } catch { } //if last attempt was succesfull, load selected from database and exit if (!NullValues.IsNull(Value)) { //if select operation returns null, set value to null again if (DataBase.Current.Select((DataObject)Value) == null) { Value = null; } //otherwise value is already selected and loaded, so exit else { return; } } //otherwise search in the database for a match DataObjectCollection found = DataBase.Current.Search(ValueType, ValueControl.Text); //if found a match, get the first result, otherwise, set Value to null if (found.Count > 0) { Value = found[0]; } else { Value = null; } }
public override DataObjectCollection <TDataObject> GetRelatedObjects <TDataObject>(IDataObject rootObject, string relationName) { if (relationName == "UserGroupItems") { IEnumerable <GOUserGroupDataObject> relatedObjects; relatedObjects = _rootObjectDataSet.GOUserGroupObjectsDataSet.GetUserGroupItemsForUser(rootObject as GOUserDataObject); var result = new DataObjectCollection <TDataObject>(); if (relatedObjects != null) { result.NotifyChanges = false; foreach (var relatedObject in relatedObjects) { result.Add(relatedObject as TDataObject); } result.NotifyChanges = true; } result.ObjectsDataSet = this._rootObjectDataSet; return(result); } if (relationName == "UserRoleItems") { IEnumerable <GOUserRoleDataObject> relatedObjects; relatedObjects = _rootObjectDataSet.GOUserRoleObjectsDataSet.GetUserRoleItemsForUser(rootObject as GOUserDataObject); var result = new DataObjectCollection <TDataObject>(); if (relatedObjects != null) { result.NotifyChanges = false; foreach (var relatedObject in relatedObjects) { result.Add(relatedObject as TDataObject); } result.NotifyChanges = true; } result.ObjectsDataSet = this._rootObjectDataSet; return(result); } return(null); }
private DataObject GetByIndex(DataObjectCollection collection, int index, IMenuLabel label, string type) { index -= 1; if (collection.Count <= index || index < 0) { label.Text = $"Invalid {type} number! It has to be between 1 and {collection.Count}"; return(null); } return(collection[index]); }
private string GetSuggestions(DataObjectCollection collection, string search) { var entities = collection.Where(t => t.name.ToLower().Contains(search.ToLower())) .ToArray(); if (entities == null || entities.Length <= 0) { return(null); } var suggestion = string.Join(", ", entities.Select(t => t.name)); return(suggestion.Length > 64 ? suggestion.Substring(0, 64) + "..." : suggestion); }
public void Construct(DataObjectCollection<GOGroupDataObject> gOGroupItems) { if (gOGroupItems == null) return; this.PrimaryKeys = gOGroupItems.Select(c => c.PrimaryKey).ToList(); if (gOGroupItems.ObjectsDataSet == null) { gOGroupItems.ObjectsDataSet = ApplicationSettings.Container.Resolve<IObjectsDataSet>(); } this.InternalObjectIds = gOGroupItems.Select(c => c.InternalObjectId).Cast<int>().ToList(); this.ObjectsDataSet = gOGroupItems.ObjectsDataSet; }
private DataObject GetByNameOrGuid(DataObjectCollection collection, string search, IMenuLabel label, string type) { var entity = collection.FirstOrDefault(t => t.guid.ToLower() == search.ToLower() || t.name.ToLower() == search.ToLower()); if (entity == null) { var suggestion = GetSuggestions(collection, search); label.Text = suggestion == null ? $"Couldn't find a {type} by that name or guid!" : $"Did you mean: {suggestion}"; return(null); } return(entity); }
public void Construct(DataObjectCollection <VisitedPlaceDataObject> visitedPlaceItems) { if (visitedPlaceItems == null) { return; } this.PrimaryKeys = visitedPlaceItems.Select(c => c.PrimaryKey).ToList(); if (visitedPlaceItems.ObjectsDataSet == null) { visitedPlaceItems.ObjectsDataSet = ApplicationSettings.Container.Resolve <IObjectsDataSet>(); } this.InternalObjectIds = visitedPlaceItems.Select(c => c.InternalObjectId).Cast <int>().ToList(); this.ObjectsDataSet = visitedPlaceItems.ObjectsDataSet; }
public void Construct(DataObjectCollection <PlaceToLocationDataObject> placeToLocationItems) { if (placeToLocationItems == null) { return; } this.PrimaryKeys = placeToLocationItems.Select(c => c.PrimaryKeysCollection).ToList(); if (placeToLocationItems.ObjectsDataSet == null) { placeToLocationItems.ObjectsDataSet = ApplicationSettings.Container.Resolve <IObjectsDataSet>(); } this.InternalObjectIds = placeToLocationItems.Select(c => c.InternalObjectId).Cast <int>().ToList(); this.ObjectsDataSet = placeToLocationItems.ObjectsDataSet; }
public void Construct(DataObjectCollection <UserProfileDataObject> userProfileItems) { if (userProfileItems == null) { return; } this.PrimaryKeys = userProfileItems.Select(c => c.PrimaryKey).ToList(); if (userProfileItems.ObjectsDataSet == null) { userProfileItems.ObjectsDataSet = ApplicationSettings.Container.Resolve <IObjectsDataSet>(); } this.InternalObjectIds = userProfileItems.Select(c => c.InternalObjectId).Cast <int>().ToList(); this.ObjectsDataSet = userProfileItems.ObjectsDataSet; }
protected override DataObjectCollection <GORoleDataObject> DoGetCollection(LambdaExpression securityFilterExpression, string filterPredicate, object[] filterArguments, string orderByPredicate, int pageNumber, int pageSize, List <string> includes, IObjectsDataSet context, Dictionary <string, object> parameters) { var result = new DataObjectCollection <GORoleDataObject>(); result.ObjectsDataSet = ApplicationSettings.Container.Resolve <IObjectsDataSet>(); result.Add(new GORoleDataObject() { Name = "Guest", DisplayName = "Guest", PasswordExpiry = null, PasswordRegEx = null, PasswordPolicySummary = null, IsNew = false, IsDirty = false }); result.Add(new GORoleDataObject() { Name = "User", DisplayName = "User", PasswordExpiry = null, PasswordRegEx = null, PasswordPolicySummary = null, IsNew = false, IsDirty = false }); result.Add(new GORoleDataObject() { Name = "Administrator", DisplayName = "Administrator", PasswordExpiry = null, PasswordRegEx = null, PasswordPolicySummary = null, IsNew = false, IsDirty = false }); return(result); }
public DataObjectCollection<GOGroupDataObject> ExtractGOGroupItems() { if (InternalObjectIds == null) return null; var result = new DataObjectCollection<GOGroupDataObject> {ObjectsDataSet = this.ObjectsDataSet }; result.ObjectsDataSet.DirtyHandlerOn = false; result.ObjectsDataSet.NotifyChanges = false; foreach (var internalObjectId in InternalObjectIds) { var item = this.ObjectsDataSet.GetObject<GOGroupDataObject>(typeof(GOGroupDataObject), internalObjectId); result.Add(item); } result.ObjectsDataSet.DirtyHandlerOn = true; result.ObjectsDataSet.NotifyChanges = true; return result; }
protected override DataObjectCollection <UserProfileDataObject> DoGetCollection(LambdaExpression securityFilterExpression, string filterPredicate, object[] filterArguments, string orderByPredicate, int pageNumber, int pageSize, List <string> includes, IObjectsDataSet context, Dictionary <string, object> parameters) { DataObjectCollection <UserProfileDataObject> result = new DataObjectCollection <UserProfileDataObject>(); result.ObjectsDataSet = ApplicationSettings.Container.Resolve <IObjectsDataSet>(); foreach (var arg in filterArguments[0] as string[]) { var uri = arg; try { var userprofile = DoGet(new UserProfileDataObject(uri), null, null, context, parameters); result.Add(userprofile); } catch (Exception) { } } return(result); }
protected override DataObjectCollection <VisitedPlaceDataObject> DoGetCollection(LambdaExpression securityFilterExpression, string filterPredicate, object[] filterArguments, string orderByPredicate, int pageNumber, int pageSize, List <string> includes, IObjectsDataSet context, Dictionary <string, object> parameters) { var userUri = GetUserBaseUriFromFilter(filterPredicate); if (userUri == null) { // search all the users registered in application var userNames = DataFacade.GOUserDataProvider.GetCollection(null).Select(u => u.UserName); var toReturn = new DataObjectCollection <VisitedPlaceDataObject>(); toReturn.ObjectsDataSet = ApplicationSettings.Container.Resolve <IObjectsDataSet>(); foreach (var userName in userNames) { try { var userfilter = $"UserProfileUri == \"{userName}\" && {filterPredicate}"; var subvisitedplaces = DoGetCollection(securityFilterExpression, userfilter, filterArguments, orderByPredicate, 0, 0, includes, context, parameters); foreach (var subvisitedplace in subvisitedplaces) { toReturn.Add(subvisitedplace); } } catch (Exception e) { } } return(toReturn); } string visitedPlaceDocumentName = "myvisitedplaces.ttl"; string visitedPlaceDocumentUri = $"{userUri}/public/{visitedPlaceDocumentName}"; string tempfile = null; var placeUriFilter = GetPropertyFromFilter(filterPredicate, "PlaceURI"); var countryUriFilter = GetPropertyFromFilter(filterPredicate, "CountryURI"); try { tempfile = DataProviderHelper.DownloadFile(visitedPlaceDocumentUri, ".ttl"); var g = new Graph(); g.LoadFromFile(tempfile); //UriLoader.Load(g, new Uri(visitedPlaceDocumentUri)); // NOT WORKING ... ??? SOMEHOW SHOULD WORK var query = new SparqlParameterizedString(); if (placeUriFilter == null && countryUriFilter == null) { query.CommandText = @"SELECT * WHERE { ?VisitedPlace a <http://generativeobjects.com/apps#VisitedPlace> ; <http://schema.org/startDate> ?Date; <http://schema.org/description> ?Description . OPTIONAL { ?VisitedPlace <http://generativeobjects.com/apps#VisitedPlaceType> ?PlaceOrCountry . } OPTIONAL { ?VisitedPlace <http://dbpedia.org/ontology/Place> ?PlaceURI . } OPTIONAL { ?VisitedPlace <http://dbpedia.org/class/yago/WikicatMemberStatesOfTheUnitedNations> ?CountryURI . } } "; ////<http://dbpedia.org/class/yago/WikicatMemberStatesOfTheUnitedNations> ?CountryURI ; if (pageNumber != 0 || pageSize != 0) { query.CommandText += $"LIMIT {pageSize} OFFSET {(pageNumber - 1) * pageSize}"; } } else if (placeUriFilter != null) { query.CommandText = @"SELECT * WHERE { ?VisitedPlace a <http://generativeobjects.com/apps#VisitedPlace> ; <http://dbpedia.org/ontology/Place> @PlaceUri ; <http://schema.org/startDate> ?Date; <http://schema.org/description> ?Description . OPTIONAL { ?VisitedPlace <http://generativeobjects.com/apps#VisitedPlaceType> ?PlaceOrCountry . } } "; query.SetUri("@PlaceUri", new Uri(placeUriFilter)); } else { query.CommandText = @"SELECT * WHERE { ?VisitedPlace a <http://generativeobjects.com/apps#VisitedPlace> ; <http://dbpedia.org/class/yago/WikicatMemberStatesOfTheUnitedNations> @CountryURI ; <http://schema.org/startDate> ?Date; <http://schema.org/description> ?Description . OPTIONAL { ?VisitedPlace <http://generativeobjects.com/apps#VisitedPlaceType> ?PlaceOrCountry . } } "; query.SetUri("@CountryURI", new Uri(countryUriFilter)); } var results = (SparqlResultSet)g.ExecuteQuery(query); var toReturn = new DataObjectCollection <VisitedPlaceDataObject>(); toReturn.ObjectsDataSet = ApplicationSettings.Container.Resolve <IObjectsDataSet>(); foreach (var result in results) { var visitedPlace = MapSparqlResultToVisitedPlace(result); visitedPlace.UserProfileUri = GetPropertyFromFilter(filterPredicate, "UserProfileUri"); toReturn.Add(visitedPlace); } return(toReturn); } finally { if (File.Exists(tempfile)) { File.Delete(tempfile); } } }
public object CreateDataSetContainer(DataObjectCollection <PlaceDataObject> entityCollection) { return(new PlaceCollectionContainer(entityCollection)); }
public UserProfileCollectionContainer(DataObjectCollection <UserProfileDataObject> userProfileItems) { Construct(userProfileItems); }
public object CreateDataSetContainer(DataObjectCollection <CountryDataObject> entityCollection) { return(new CountryCollectionContainer(entityCollection)); }
public CountryCollectionContainer(DataObjectCollection <CountryDataObject> countryItems) { Construct(countryItems); }
public GOGroupRoleCollectionContainer(DataObjectCollection <GOGroupRoleDataObject> gOGroupRoleItems) { Construct(gOGroupRoleItems); }
public object CreateDataSetContainer(DataObjectCollection <LocationDataObject> entityCollection) { return(new LocationCollectionContainer(entityCollection)); }
public object CreateDataSetContainer(DataObjectCollection <GOLoginHistoryDataObject> entityCollection) { return(new GOLoginHistoryCollectionContainer(entityCollection)); }
public VisitedPlaceCollectionContainer(DataObjectCollection <VisitedPlaceDataObject> visitedPlaceItems) { Construct(visitedPlaceItems); }
public object CreateDataSetContainer(DataObjectCollection <GOUserDataObject> entityCollection) { return(new GOUserCollectionContainer(entityCollection)); }
public PlaceToLocationCollectionContainer(DataObjectCollection <PlaceToLocationDataObject> placeToLocationItems) { Construct(placeToLocationItems); }
protected override DataObjectCollection <PlaceDataObject> DoGetCollection(LambdaExpression securityFilterExpression, string filterPredicate, object[] filterArguments, string orderByPredicate, int pageNumber, int pageSize, List <string> includes, IObjectsDataSet context, Dictionary <string, object> parameters) { SparqlRemoteEndpoint endpoint = new SparqlRemoteEndpoint(new Uri("http://dbpedia.org/sparql"), "http://dbpedia.org"); var regex = new Regex("Name\\.Contains\\(\"(.*)\"\\)"); string nameFilter = null; var match = regex.Match(filterPredicate); if (match.Success) { nameFilter = match.Groups[1].Value; } else if (filterPredicate.Contains("(@0.Contains(outerIt.URI))")) { var places = new DataObjectCollection <PlaceDataObject>(); places.ObjectsDataSet = ApplicationSettings.Container.Resolve <IObjectsDataSet>(); foreach (var arg in filterArguments[0] as string[]) { try { var uri = arg; var place = DoGet(new PlaceDataObject(uri), null, includes, context, parameters); places.Add(place); } catch (Exception) { } } return(places); } string query = @"SELECT distinct(?place), ?name, ?abstract WHERE { {?place a <http://dbpedia.org/ontology/HistoricPlace>} UNION {?place a <http://dbpedia.org/ontology/Monument>} UNION {?place a <http://dbpedia.org/ontology/Garden>} UNION {?place a <http://dbpedia.org/ontology/Cemetery>} UNION {?place a <http://dbpedia.org/ontology/ArchitecturalStructure>} UNION {?place a <http://dbpedia.org/ontology/Park>} UNION {?place a <http://dbpedia.org/ontology/NaturalPlace>} ?place rdfs:label ?name . ?place dbo:abstract ?abstract . FILTER langMatches(lang(?name), 'en') FILTER langMatches(lang(?abstract), 'en')"; if (!String.IsNullOrEmpty(nameFilter)) { query += $"FILTER regex(?name,\"{nameFilter}\",\"i\")"; } query += "}"; if (pageNumber != 0 || pageSize != 0) { query += $"LIMIT {pageSize} OFFSET {(pageNumber - 1) * pageSize}"; } //Make a SELECT query against the Endpoint SparqlResultSet results = endpoint.QueryWithResultSet(query); var toReturn = new DataObjectCollection <PlaceDataObject>(); toReturn.ObjectsDataSet = ApplicationSettings.Container.Resolve <IObjectsDataSet>(); foreach (var result in results) { var place = new PlaceDataObject(); place.URI = (result.Where(r => r.Key == "place").Single().Value as UriNode).Uri.ToString(); place.Name = (result.Where(r => r.Key == "name").Single().Value as BaseLiteralNode).Value; place.Abstract = (result.Where(r => r.Key == "abstract").Single().Value as BaseLiteralNode)?.Value; place.IsNew = false; place.IsDirty = false; toReturn.Add(place); } return(toReturn); }
public LocationCollectionContainer(DataObjectCollection <LocationDataObject> locationItems) { Construct(locationItems); }