public ICollection <User> Search(UserSearchType SearchType, string value) { List <InventoryApp.Entities.User> List = new List <Entities.User>(); var contaxt = new DataLayer.InventoryDBContext(); switch (SearchType) { case UserSearchType.UserId: { int id = 0; if (int.TryParse(value, out id)) { var _user = contaxt.Users.Where(p => p.UserId == id).ToList(); List.AddRange(_user); } return(List); } case UserSearchType.RegisterDate: { var _user = contaxt.Users.Where(p => p.RegisterDate == DateTime.Parse(value)).ToList(); List.AddRange(_user); return(List); } case UserSearchType.Username: { var _user = contaxt.Users.Where(p => p.Username.Contains(value)).ToList(); List.AddRange(_user); return(List); } case UserSearchType.All: { var _user = contaxt.Users.Where(p => p.RegisterDate == DateTime.Parse(value)).ToList(); List.AddRange(_user); _user = contaxt.Users.Where(p => p.Username.Contains(value)).ToList(); List.AddRange(_user); int id = 0; if (int.TryParse(value, out id)) { _user = contaxt.Users.Where(p => p.UserId == id).ToList(); List.AddRange(_user); } return(List); } default: { return(null); } } }
/// <summary> ///Get a player matching the term on that platform /// </summary> /// <param name="player">The name of the player you're searching for</param> /// <param name="platform">The name of the platform you're searching on</param> /// <param name="userSearchType">The type of search to perform</param> /// <returns>Player found</returns> public async Task <Player> GetPlayer(string player, Platform platform, UserSearchType userSearchType = UserSearchType.Name) { string json; if (userSearchType == UserSearchType.Name) { json = await GetAsync($"https://public-ubiservices.ubi.com/v2/profiles?nameOnPlatform={player}&platformType={platform.ToStringValue()}"); } else { json = await GetAsync($"https://public-ubiservices.ubi.com/v2/users/{player}/profiles?platformType={platform.ToStringValue()}"); } var data = JsonConvert.DeserializeObject <JObject>(json); return(data["profiles"].ToObject <IEnumerable <Player> >().FirstOrDefault()); }
public ActionResult UserSearchSubmit(FormCollection collection) { if (Session["CurrentUser"] != null) { FoursquareUser currentUser = Session["CurrentUser"] as Cuatro.Common.FoursquareUser; string accessToken = currentUser.AccessToken; Users myUser = new Users(currentUser, accessToken); UserSearchType type = UserSearchType.twitter; // TODO: Consider creating its own class (UserSearchResult or something) to order by relevance/etc List <FoursquareUser> resultList = new List <FoursquareUser>(); switch (int.Parse(collection.GetValue("typeIndex").ToString())) { case 1: type = UserSearchType.phone; break; case 2: type = UserSearchType.email; break; case 3: type = UserSearchType.fbid; break; case 4: type = UserSearchType.twitter; break; } resultList = myUser.SearchUser(type, collection.GetValue("query").ToString()); if (resultList != null) { return(PartialView("SearchResults", resultList)); } else { return(PartialView()); } } return(RedirectToAction("LogOn", "FoursquareOauth")); }
public IQueryable<User> GetUsersByCriteria(UserSearchType searchType, string userName, string roleName) { IQueryable<User> users = null; switch (searchType) { case UserSearchType.None: users = rep.GetAllUsers(); break; case UserSearchType.ByName: users = rep.GetAllUsers().Where(u => u.UserName == userName); break; case UserSearchType.ByRole: users = rep.GetAllUsers().Where(u => u.Roles.Select(r => r.RoleName == roleName).Count() > 0); break; } return users; }
private IList <UserListDTO> getUsers(UserSearchType searchType, string name, string role) { try { GetUsersRequest request = new GetUsersRequest(); request.SearchType = searchType; request.Username = name; request.Rolename = role; GetUsersResponse response = Service.GetUsersByCriteria(request); return(response.Users); } catch (Exception ex) { if (ExceptionPolicy.HandleException(ex, "PL Policy")) { throw; } return(new List <UserListDTO>()); } }
public IQueryable <User> GetUsersByCriteria(UserSearchType searchType, string userName, string roleName) { IQueryable <User> users = null; switch (searchType) { case UserSearchType.None: users = rep.GetAllUsers(); break; case UserSearchType.ByName: users = rep.GetAllUsers().Where(u => u.UserName == userName); break; case UserSearchType.ByRole: users = rep.GetAllUsers().Where(u => u.Roles.Select(r => r.RoleName == roleName).Count() > 0); break; } return(users); }
/// <summary> /// Requests multi users from the PUBG Developer API /// </summary> /// <param name="APIKey">The API key to use during the request</param> /// <param name="PlatformRegion">The Platform-Region to search (i.e pc-na, xbox-eu)</param> /// <param name="ID">The list of PUBG Names or AccountIDs to search</param> /// <param name="SearchType"></param> /// <returns></returns> public List <APIUser> RequestMultiUser(string APIKey, string PlatformRegion, List <string> ID, UserSearchType SearchType = UserSearchType.PUBGName) { string filterstring = string.Empty; switch (SearchType) { case UserSearchType.PUBGName: filterstring = "?filter[playerNames]="; break; case UserSearchType.AccountID: filterstring = "?filter[playerIds]="; break; } List <APIUser> users = new List <APIUser>(); APIStatus status = new APIStatus(); if (status.bIsOnline) { try { string APIURL = "https://api.playbattlegrounds.com/shards/" + PlatformRegion + "/players" + filterstring + string.Join(",", ID.ToArray()); var webRequest = WebRequest.Create(APIURL); var HTTPAPIRequest = (HttpWebRequest)webRequest; HTTPAPIRequest.PreAuthenticate = true; HTTPAPIRequest.Headers.Add("Authorization", "Bearer " + APIKey); HTTPAPIRequest.Headers.Add("Access-Control-Allow-Origins", "*"); HTTPAPIRequest.Headers.Add("Access-Control-Expose-Headers", "Content-Length"); HTTPAPIRequest.Accept = "application/json"; using (var APIResponse = HTTPAPIRequest.GetResponse()) { using (var responseStream = APIResponse.GetResponseStream()) { var myStreamReader = new StreamReader(responseStream, Encoding.Default); foreach (JObject jsonuser in JObject.Parse(myStreamReader.ReadToEnd())["data"]) { users.Add(UserPhraser(jsonuser)); } } } } catch (WebException e) { APIUser user = new APIUser { WebException = e }; users.Add(user); } } return(users); }
public UserSearchFilters() { Period = UserSearchDatePeriod.All; Type = UserSearchType.All; }
public static UserSearches GetSearchesFromDB(int userId, UserSearchDatePeriod period, UserSearchType type, int productId) { var newEntries = UserSearches.GetAllSearches(userId, "", period, type, productId); var model = new UserSearches(); foreach (var search in newEntries) { var currentSearch = new UserSearch { Text = search["txt"].ToString(), Date = DateTime.Parse(search["search_date"].ToString()), Id = int.Parse(search["id"].ToString()), Details = JsonConvert.DeserializeObject <SearchDetails>(search["details"].ToString(), new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Include }) }; if (currentSearch.Details.Cases != null) { currentSearch.Details.Cases.DateFromShort = currentSearch.Details.Cases.DateFrom.ToShortDateString(); currentSearch.Details.Cases.DateToShort = currentSearch.Details.Cases.DateTo.ToShortDateString(); currentSearch.Details.Cases.DateDefaultByCultureShort = new DateTime(1, 1, 1).ToShortDateString(); } if (currentSearch.Details.Law != null) { currentSearch.Details.Law.DateFromShort = currentSearch.Details.Law.DateFrom.ToShortDateString(); currentSearch.Details.Law.DateToShort = currentSearch.Details.Law.DateTo.ToShortDateString(); currentSearch.Details.Law.DateDefaultByCultureShort = new DateTime(1, 1, 1).ToShortDateString(); } if (currentSearch.Details.Finances != null) { currentSearch.Details.Finances.DateFromShort = currentSearch.Details.Finances.DateFrom.ToShortDateString(); currentSearch.Details.Finances.DateToShort = currentSearch.Details.Finances.DateTo.ToShortDateString(); currentSearch.Details.Finances.DateDefaultByCultureShort = new DateTime(1, 1, 1).ToShortDateString(); } model.Items.Add(currentSearch); } return(model); }
/// <summary> /// Request a single user or multipe users on the same platform and region /// </summary> /// <param name="PlayerID1">The first user to request</param> /// <param name="PlayerID2">The second user to request</param> /// <param name="PlayerID3">The thrid user to request</param> /// <param name="PlayerID4">The forth user to request</param> /// <param name="PlayerID5">The fifth user to request</param> /// <param name="PlayerID6">The sixth user to request</param> /// <param name="platformRegionShard">The Platform-Region shard to search in</param> /// <param name="userSearchType">The type of ID to search by</param> /// <returns></returns> public List <APIUser> RequestUser(string PlayerID1, PlatformRegionShard platformRegionShard = PlatformRegionShard.PC_NA, UserSearchType userSearchType = UserSearchType.PUBGName, string PlayerID2 = "", string PlayerID3 = "", string PlayerID4 = "", string PlayerID5 = "", string PlayerID6 = "") { List <string> IDsToSearch = new List <string>() { PlayerID1 }; if (PlayerID2 != "") { IDsToSearch.Add(PlayerID2); } if (PlayerID3 != "") { IDsToSearch.Add(PlayerID3); } if (PlayerID4 != "") { IDsToSearch.Add(PlayerID4); } if (PlayerID5 != "") { IDsToSearch.Add(PlayerID5); } if (PlayerID6 != "") { IDsToSearch.Add(PlayerID6); } APIRequest request = new APIRequest(); return(request.RequestUser(APIKey, GetEnumDescription(platformRegionShard), IDsToSearch, userSearchType)); }
public static IEnumerable <IDataRecord> GetAllSearches(int userId, string like, UserSearchDatePeriod period, UserSearchType type, int productId) { return(DB.GetUserSearches(userId, like, (int)period, (int)type, productId).Take(int.Parse(ConfigurationManager.AppSettings["UserSearchCount"]))); }
/// <summary> /// Reuest multiple users using either their Account ID or their PUBG Name /// </summary> /// <param name="IDSToSearch">The list of names/ID to search</param> /// <param name="platformRegionShard">The Platform-Region to search</param> /// <param name="userSearchType">The type of search</param> /// <returns></returns> public List <APIUser> RequestMultiUser(List <string> IDSToSearch, PlatformRegionShard platformRegionShard, UserSearchType userSearchType = UserSearchType.PUBGName) { APIRequest request = new APIRequest(); return(request.RequestMultiUser(APIKey, GetEnumDescription(platformRegionShard), IDSToSearch, userSearchType)); }
/// <summary> /// Watch a single user or multipe users on the same platform and region /// </summary> /// <param name="PlayerID1">The first user to watch</param> /// <param name="PlayerID2">The second user to watch</param> /// <param name="PlayerID3">The thrid user to watch</param> /// <param name="PlayerID4">The forth user to watch</param> /// <param name="PlayerID5">The fifth user to watch</param> /// <param name="PlayerID6">The sixth user to watch</param> /// <param name="platformRegionShard">That platform to watch</param> /// <param name="userSearchType">The </param> /// <returns></returns> public APIWatchdog WatchUser(string PlayerID1, PlatformRegionShard platformRegionShard = PlatformRegionShard.PC_NA, UserSearchType userSearchType = UserSearchType.PUBGName, string PlayerID2 = "", string PlayerID3 = "", string PlayerID4 = "") { APIWatchdog watchdog = new APIWatchdog(); List <string> IDsToWatch = new List <string>() { PlayerID1 }; if (PlayerID2 != "") { IDsToWatch.Add(PlayerID2); } if (PlayerID3 != "") { IDsToWatch.Add(PlayerID3); } if (PlayerID4 != "") { IDsToWatch.Add(PlayerID4); } watchdog.WatchMultiUser(APIKey, IDsToWatch, GetEnumDescription(platformRegionShard), userSearchType); return(watchdog); }
/// <summary> /// Returns an AirWatchUser class populated with the returned user if found. Returns null if not found /// </summary> /// <param name="searchString">AirWatch Username or Email address of user to search</param> /// <param name="searchType"></param> /// <returns>An AirWatchUser or null</returns> public AirWatchUser SearchForUser(string searchString, UserSearchType searchType) { string apiEndpoint = string.Empty; if (searchType == UserSearchType.Username) { apiEndpoint = "/API/v1/system/users/search?username="******"/API/v1/system/users/search?email=" + searchString; } AirWatchUser userToReturn = new AirWatchUser(); IRestResponse response = restHandler.RestGetEndpointBasicAuth(apiEndpoint, userName, password, headers); AirWatchUsers awUser = new AirWatchUsers(); if (response.StatusDescription == "OK") { AirWatchUsers usersReturned = new AirWatchUsers(); JsonConvert.PopulateObject(response.Content, usersReturned); userToReturn = usersReturned.Users[0]; } else { userToReturn = null; } return userToReturn; }
private IList<UserListDTO> getUsers(UserSearchType searchType, string name, string role) { try { GetUsersRequest request = new GetUsersRequest(); request.SearchType = searchType; request.Username = name; request.Rolename = role; GetUsersResponse response = Service.GetUsersByCriteria(request); return response.Users; } catch (Exception ex) { if (ExceptionPolicy.HandleException(ex, "PL Policy")) throw; return new List<UserListDTO>(); } }
/// <summary> /// Helps a user locate friends. /// API Uri: https://api.foursquare.com/v2/users/search /// Documentation: https://developer.foursquare.com/docs/users/search.html /// </summary> /// <returns></returns> public List<FoursquareUser> SearchUser(UserSearchType type, string Query) { try { List<FoursquareUser> results = new List<FoursquareUser>(); // Get Friend Requests String foursquareUserSearchUri = String.Format("https://api.foursquare.com/v2/users/search?oauth_token={0}{1}&{2}={3}", AccessToken, EndpointHelper.GetVerifiedDateParamForApi(), type.ToString("F"), Query); var responseUserSearch = WebRequestHelper.WebRequest(WebRequestHelper.Method.GET, foursquareUserSearchUri.ToString(), string.Empty); var jsonUserSearchResults = JObject.Parse(responseUserSearch); if (int.Parse(jsonUserSearchResults["meta"]["code"].ToString()) == 200) { foreach (var fr in jsonUserSearchResults["response"]["results"]) { results.Add(FoursquareUser.Parse(fr.ToString())); } if (results != null && results.Count > 0) return results; } return null; } catch (Exception ex) { string err = ex.Message; return null; } }
private void Watchdog_Thread(string APIKey, List <string> IDsToWatch, string platformRegionShard, UserSearchType userSearchType = UserSearchType.PUBGName) { APIRequest request = new APIRequest(); //Create a request class we can reuse Random rnd = new Random(); //Createa a raqndom number generater to vary the requests int sleeptime = 0; OnWatchdogThreadStart(); while (true) { OnWatchdogLoopStart(); OnWatchdogRequest(); List <APIUser> firstRequest = request.RequestUser(APIKey, platformRegionShard, IDsToWatch, userSearchType);//Fecth all the users matches sleeptime = rnd.Next(10000, 60000); OnWatchdogSleep(sleeptime); Thread.Sleep(sleeptime); //Wait 10 to 60 seconds OnWatchdogRequest(); List <APIUser> secondRequest = request.RequestUser(APIKey, platformRegionShard, IDsToWatch, userSearchType); //Fetch them all again OnWatchdogCompare(); foreach (APIUser firstuser in firstRequest) //For each APIUser in the first request... { foreach (APIUser seconduser in secondRequest) //...go through all the users in the second request... { if (firstuser.AccountID == seconduser.AccountID) //if the firstuser and seconduser have the same account id, we know theyre the same { if (firstuser.ListOfMatches[0] != seconduser.ListOfMatches[0]) //if the list of matches from the first and second request are different... { OnUserMatchListUpdated(seconduser, seconduser.ListOfMatches[0]); } else { OnUserMatchListNotUpdated(seconduser); } } } } } }
/// <summary> /// Watch up to 6 users at once and trigger events when new matches are added /// </summary> /// <param name="APIKey">The API key to use during requests</param> /// <param name="IDToWatch">The PUBG names or Account IDs to watch</param> /// <param name="platformRegionShard">The region to watch</param> /// <param name="userSearchType">Watch by either PUBG names or Account ID</param> public void WatchMultiUser(string APIKey, List <string> IDsToWatch, string platformRegionShard, UserSearchType userSearchType = UserSearchType.PUBGName) { WatchdogThread = new Thread(() => Watchdog_Thread(APIKey, IDsToWatch, platformRegionShard, userSearchType)); WatchdogThread.Start(); }