public SearchResultObject searchPhase(string phase, bool newReq) { SearchResultObject result = null; int RetryCount = Credentials.Count; while (RetryCount-- > 0) { try { result = Current.searchPhase(phase, newReq); break; } catch (RateLimitException) { if (RetryCount == 0) { throw; } if (!Settings.Default.AutoSwitchCredApiLimit) { throw; } SelectNextCredential(); } } return(result); }
/// <summary> /// Danh sách nhóm quyền đang kích hoạt /// </summary> /// <returns></returns> public SearchResultObject <GroupEntity> GetSelectGroup() { db = new TimeAttendanceEntities(); SearchResultObject <GroupEntity> result = new SearchResultObject <GroupEntity>(); try { var listResult = (from a in db.Group.AsNoTracking() where a.Status.HasValue && a.Status.Value == Constants.UnLock orderby a.Name ascending select new GroupEntity() { GroupId = a.GroupId, Name = a.Name, }).ToList(); result.ListResult = listResult; return(result); } catch (Exception ex) { throw new ErrorException(ErrorMessage.ERR001, ex.InnerException); } }
private static void GetTargetSearchResult(TwitterApi twitter, string target, bool isNewReq, HashSet <string> targetLists) { Console.WriteLine($"Search {target}..."); string json = twitter.searchPhase(Uri.EscapeDataString(target), isNewReq); if (!string.IsNullOrWhiteSpace(json)) { SearchResultObject result = JsonConvert.DeserializeObject <SearchResultObject>(json); while (result.search_metadata.count > 0) { targetLists.UnionWith(result.statuses.Select(x => x.user.id_str)); result = JsonConvert.DeserializeObject <SearchResultObject>( twitter.searchPhase(result.search_metadata.next_results, false)); if (result?.search_metadata.next_results == null) { break; } } } else { Console.WriteLine("There is no result."); } }
protected SearchResultObject ToSearchResultObject(MangaItem item) { if (Equals(item, null)) { return(null); } SearchResultObject SearchResultObject = item.ToSearchResultObject(); SearchResultObject.ExtensionName = SearchResultObject.Cover.ExtensionName = ExtensionDescriptionAttribute.Name; SearchResultObject.ExtensionLanguage = SearchResultObject.Cover.ExtensionLanguage = ExtensionDescriptionAttribute.Language; return(SearchResultObject); }
public HttpResponseMessage SearchUserCustomer(UserSearchCondition userSearchConditionEntity) { try { SearchResultObject <UserSearchResult> result = _userBusiness.SearchUserCustomer(userSearchConditionEntity); return(Request.CreateResponse(HttpStatusCode.OK, result)); } catch (Exception ex) { logger.Error(ex.Message, ex.InnerException); return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
public HttpResponseMessage SearchUserEventLog(UserEventLogSearchCondition model, string saveOption) { try { SearchResultObject <UserEventLogSearchResult> result = EventLogBusiness.GetInstance().SearchUserEventLog(model, saveOption); return(Request.CreateResponse(HttpStatusCode.OK, result)); } catch (Exception ex) { logger.Error(ex.Message, ex.InnerException); return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
public SearchResultObject <GroupSearchResult> SearchGroupUser(GroupUserSearchCondition searchCondition) { db = new TimeAttendanceEntities(); SearchResultObject <GroupSearchResult> searchResult = new SearchResultObject <GroupSearchResult>(); try { List <string> userDelete = db.User.AsNoTracking().Where(r => r.DeleteFlg == Constants.DeleteTrue).Select(p => p.UserId).ToList(); var listmodel = (from a in db.Group.AsNoTracking() join b in db.UserGroup.AsNoTracking() on a.GroupId equals b.GroupId into ab select new GroupSearchResult() { GroupId = a.GroupId, Name = a.Name, HomePage = a.HomePage, Status = a.Status, Description = a.Description, CreateBy = a.CreateBy, CreateDate = a.CreateDate, UpdateBy = a.UpdateBy, UpdateDate = a.UpdateDate, CountUser = ab.Where(r => !userDelete.Any(w => w.Equals(r.UserId))).Count(), }).AsQueryable(); if (!string.IsNullOrEmpty(searchCondition.Name)) { listmodel = listmodel.Where(r => r.Name.ToLower().Contains(searchCondition.Name.ToLower())); } if (!string.IsNullOrEmpty(searchCondition.Description)) { listmodel = listmodel.Where(r => r.Description.ToLower().Contains(searchCondition.Description.ToLower())); } if (searchCondition.Status.HasValue) { listmodel = listmodel.Where(r => r.Status.HasValue && r.Status.Value == searchCondition.Status.Value); } searchResult.TotalItem = listmodel.Select(r => r.GroupId).Count(); searchResult.ListResult = SQLHelpper.OrderBy(listmodel, searchCondition.OrderBy, searchCondition.OrderType).Skip((searchCondition.PageNumber - 1) * searchCondition.PageSize) .Take(searchCondition.PageSize) .ToList(); return(searchResult); } catch (Exception ex) { throw new ErrorException(ErrorMessage.ERR001, ex.InnerException); } }
public HttpResponseMessage SearchGroupUser(GroupUserSearchCondition userSearchConditionEntity, [FromUri] int pageSize, [FromUri] int pageNumber) { try { userSearchConditionEntity.PageSize = pageSize; userSearchConditionEntity.PageNumber = pageNumber; SearchResultObject <GroupSearchResult> result = _groupUserBusiness.SearchGroupUser(userSearchConditionEntity); return(Request.CreateResponse(HttpStatusCode.OK, result)); } catch (Exception ex) { logger.Error(ex.Message, ex.InnerException); return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
public static MangaObject ConvertToMangaObject(this SearchResultObject value) { return(new MangaObject() { Name = value.Name, Description = value.Description, Locations = { new LocationObject() { Url = value.Url, ExtensionName = value.ExtensionName, ExtensionLanguage = value.ExtensionLanguage } }, CoverLocations = { value.Cover }, Authors = value.Authors, Artists = value.Artists, Rating = value.Rating }); }
public SearchResultObject <UserSearchResult> SearchUserCustomer(UserSearchCondition searchCondition) { db = new TimeAttendanceEntities(); SearchResultObject <UserSearchResult> searchResult = new SearchResultObject <UserSearchResult>(); try { var listmodel = (from a in db.User.AsNoTracking() where a.DeleteFlg == Constants.DeleteFalse && (string.IsNullOrEmpty(searchCondition.Type) || a.Type.Equals(searchCondition.Type)) join c in db.UserGroup.AsNoTracking() on a.UserId equals c.UserId into ac from acv in ac.DefaultIfEmpty() join d in db.Group.AsNoTracking() on acv.GroupId equals d.GroupId into cd from cdv in cd.DefaultIfEmpty() select new UserSearchResult { UserId = a.UserId, UnitId = a.UnitId, Name = a.Name, FullName = a.FullName, BirthDay = a.BirthDay, Agency = a.Agency, Email = a.Email, Role = a.Role, PhoneNumber = a.PhoneNumber, Status = a.Status, Description = a.Description, ImageLink = a.ImageLink, Address = a.Address, CreateBy = a.CreateBy, CreateDate = a.CreateDate, UpdateBy = a.UpdateBy, UpdateDate = a.UpdateDate, GroupId = acv.GroupId, GroupName = cdv != null ? cdv.Name : string.Empty, Type = a.Type, }).AsQueryable(); if (!string.IsNullOrEmpty(searchCondition.GroupId)) { listmodel = listmodel.Where(r => r.GroupId.Equals(searchCondition.GroupId)); } if (!string.IsNullOrEmpty(searchCondition.Name)) { listmodel = listmodel.Where(r => r.Name.ToUpper().Contains(searchCondition.Name.ToUpper())); } if (!string.IsNullOrEmpty(searchCondition.FullName)) { listmodel = listmodel.Where(r => r.FullName.ToUpper().Contains(searchCondition.FullName.ToUpper())); } if (searchCondition.Status.HasValue) { listmodel = listmodel.Where(r => r.Status.HasValue && r.Status.Value == searchCondition.Status.Value); } if (!string.IsNullOrEmpty(searchCondition.UnitId)) { listmodel = listmodel.Where(r => r.UnitId.Equals(searchCondition.UnitId)); } if (!string.IsNullOrEmpty(searchCondition.PhoneNumber)) { listmodel = listmodel.Where(r => r.PhoneNumber.ToUpper().Contains(searchCondition.PhoneNumber.ToUpper())); } if (searchCondition.Status.HasValue) { listmodel = listmodel.Where(r => r.Status.HasValue && r.Status.Value == searchCondition.Status.Value); } searchResult.TotalItem = listmodel.Select(r => r.UserId).Count(); var listResult = SQLHelpper.OrderBy(listmodel, searchCondition.OrderBy, searchCondition.OrderType).Skip((searchCondition.PageNumber - 1) * searchCondition.PageSize) .Take(searchCondition.PageSize) .ToList(); searchResult.ListResult = listResult; } catch (Exception ex) { throw new ErrorException(ErrorMessage.ERR001, ex.InnerException); } return(searchResult); }
public SearchResultObject <UserEventLogSearchResult> SearchUserEventLog(UserEventLogSearchCondition searchCondition, string saveOption) { db = new TimeAttendanceEntities(); SearchResultObject <UserEventLogSearchResult> searchResult = new SearchResultObject <UserEventLogSearchResult>(); try { var listmodel = (from a in db.UserEventLog.AsNoTracking() join b in db.User.AsNoTracking() on a.UserId equals b.UserId into ab from abv in ab.DefaultIfEmpty() select new UserEventLogSearchResult() { UserEventLogId = a.UserEventLogId, UserId = a.UserId, Description = a.Description, LogType = a.LogType, LogTypeName = a.LogType == 0 ? "Truy cập hệ thống" : "Khai thác dữ liệu", Type = abv.Type, CreateDate = a.CreateDate, UserName = abv.Name, FullName = abv.FullName }).AsQueryable(); if (!string.IsNullOrEmpty(searchCondition.UserName)) { listmodel = listmodel.Where(r => r.UserName != null && r.UserName.ToUpper().Contains(searchCondition.UserName.ToUpper())); } if (!string.IsNullOrEmpty(searchCondition.UserType)) { listmodel = listmodel.Where(r => r.Type != null && r.Type.Equals(searchCondition.UserType)); } if (!string.IsNullOrEmpty(searchCondition.UserIdSearch)) { listmodel = listmodel.Where(r => r.UserId != null && r.UserId.Equals(searchCondition.UserIdSearch)); } if (!string.IsNullOrEmpty(searchCondition.FullName)) { listmodel = listmodel.Where(r => r.FullName != null && r.FullName.ToUpper().Contains(searchCondition.FullName.ToUpper())); } if (!string.IsNullOrEmpty(searchCondition.Description)) { listmodel = listmodel.Where(r => r.Description.ToUpper().Contains(searchCondition.Description.ToUpper())); } if (searchCondition.LogType.HasValue) { listmodel = listmodel.Where(r => r.LogType.HasValue && r.LogType.Value == searchCondition.LogType.Value); } if (searchCondition.LogDateFrom.HasValue) { searchCondition.LogDateFrom = DateTimeUtils.ConvertDateFrom(searchCondition.LogDateFrom); listmodel = listmodel.Where(r => r.CreateDate.HasValue && r.CreateDate >= searchCondition.LogDateFrom); } if (searchCondition.LogDateTo.HasValue) { searchCondition.LogDateTo = DateTimeUtils.ConvertDateTo(searchCondition.LogDateTo); listmodel = listmodel.Where(r => r.CreateDate.HasValue && r.CreateDate <= searchCondition.LogDateTo); } searchResult.TotalItem = listmodel.Select(r => r.UserEventLogId).Count(); var listResult = SQLHelpper.OrderBy(listmodel, searchCondition.OrderBy, searchCondition.OrderType).Skip((searchCondition.PageNumber - 1) * searchCondition.PageSize) .Take(searchCondition.PageSize) .ToList(); string pathFile = string.Empty; if ((saveOption.Equals("PDF") || saveOption.Equals("XLSX")) && searchResult.TotalItem > 0) { if (searchResult.TotalItem > Constants.MAX_RETURN_DATA_ROW) { throw new BusinessException(ErrorMessage.ERR007); } else { pathFile = this.Export(saveOption, listmodel.ToList(), searchCondition); } } searchResult.ListResult = listResult; searchResult.PathFile = pathFile; } catch (Exception ex) { throw new ErrorException(ErrorMessage.ERR001, ex.InnerException); } return(searchResult); }
private async Task <List <MangaObject> > SearchMangaObjectAsync(String SearchTerm, CancellationToken ct, IProgress <Int32> progress) { List <MangaObject> SearchResults = new List <MangaObject>(); if (!Equals(progress, null)) { progress.Report(5); } Boolean firstResponse = true; IEnumerable <Task <ExtensionContentResult> > ExtensionContentTasksQuery = from Extension in ValidExtensions(CORE.Extensions, CORE.UserConfiguration.EnabledExtensions) select LoadExtensionSearchContent(Extension, SearchTerm); List <Task <ExtensionContentResult> > ExtensionContentTasks = ExtensionContentTasksQuery.ToList(); Int32 OriginalExtensionContentTasksCount = ExtensionContentTasks.Count; if (!Equals(progress, null)) { progress.Report(10); } while (ExtensionContentTasks.Count > 0) { // Load Content via Async and process as they complete. ct.ThrowIfCancellationRequested(); Task <ExtensionContentResult> completedTask = await Task.WhenAny(ExtensionContentTasks); ExtensionContentTasks.Remove(completedTask); ct.ThrowIfCancellationRequested(); ExtensionContentResult LoadedExtensionContentResult = await completedTask; if (!Equals(LoadedExtensionContentResult, null)) { String Content = LoadedExtensionContentResult.Content; if (LoadedExtensionContentResult.Extension is ISiteExtension) { // Extension was a ISiteExtension ISiteExtension SiteExtension = LoadedExtensionContentResult.Extension as ISiteExtension; List <SearchResultObject> SearchResultObjects = SiteExtension.ParseSearch(Content); foreach (SearchResultObject SearchResultObject in SearchResultObjects) { MangaObject MangaObject = SearchResultObject.ConvertToMangaObject(), ExistingMangaObject = SearchResults.FirstOrDefault(_MangaObject => { // Locate an Existing MangaObject List <String> ExistingMangaObjectNames = new List <String>(_MangaObject.AlternateNames), MangaObjectNames = new List <String>(MangaObject.AlternateNames); ExistingMangaObjectNames.Insert(0, _MangaObject.Name); MangaObjectNames.Insert(0, MangaObject.Name); ExistingMangaObjectNames = ExistingMangaObjectNames.Select(_ExistingMangaObjectName => SafeAlphaNumeric.Replace(_ExistingMangaObjectName.ToLower(), String.Empty)).ToList(); MangaObjectNames = MangaObjectNames.Select(_MangaObjectNames => SafeAlphaNumeric.Replace(_MangaObjectNames.ToLower(), String.Empty)).ToList(); return(ExistingMangaObjectNames.Intersect(MangaObjectNames).Any()); }); if (Equals(ExistingMangaObject, null)) { SearchResults.Add(MangaObject); } else { ExistingMangaObject.Merge(MangaObject); } } } else if (LoadedExtensionContentResult.Extension is IDatabaseExtension) { // Extension was a IDatabaseExtension IDatabaseExtension DatabaseExtension = LoadedExtensionContentResult.Extension as IDatabaseExtension; List <DatabaseObject> DatabaseObjects = DatabaseExtension.ParseSearch(Content); foreach (DatabaseObject DatabaseObject in DatabaseObjects) { MangaObject ExistingMangaObject = SearchResults.FirstOrDefault(_MangaObject => { // Locate an Existing MangaObject List <String> ExistingMangaObjectNames = new List <String>(_MangaObject.AlternateNames), DatabaseObjectNames = new List <String>(DatabaseObject.AlternateNames); ExistingMangaObjectNames.Insert(0, _MangaObject.Name); DatabaseObjectNames.Insert(0, DatabaseObject.Name); ExistingMangaObjectNames = ExistingMangaObjectNames.Select(_ExistingMangaObjectName => SafeAlphaNumeric.Replace(_ExistingMangaObjectName.ToLower(), String.Empty)).ToList(); DatabaseObjectNames = DatabaseObjectNames.Select(_DatabaseObjectNames => SafeAlphaNumeric.Replace(_DatabaseObjectNames.ToLower(), String.Empty)).ToList(); Int32 IntersectCount = ExistingMangaObjectNames.Intersect(DatabaseObjectNames).Count(), ExistingHalfCount = (Int32)Math.Ceiling((Double)ExistingMangaObjectNames.Count / 2); return(IntersectCount >= ExistingHalfCount); }); if (Equals(ExistingMangaObject, null)) { MangaObject databaseMangaObject = new MangaObject(); databaseMangaObject.AttachDatabase(DatabaseObject, true, true); SearchResults.Add(databaseMangaObject); } else { if (Equals(ExistingMangaObject.DatabaseLocations.FindIndex(_DatabaseLocation => Equals( _DatabaseLocation.ExtensionName, DatabaseExtension.ExtensionDescriptionAttribute.Name)), -1)) { ExistingMangaObject.AttachDatabase(DatabaseObject, preferDatabaseDescription: true); } } } } } firstResponse = Equals(SearchResults.Count, 0); Int32 ExtensionContentTasksProgress = (Int32)Math.Round(((Double)(OriginalExtensionContentTasksCount - ExtensionContentTasks.Count) / (Double)OriginalExtensionContentTasksCount) * 70); if (!Equals(progress, null)) { progress.Report(10 + ExtensionContentTasksProgress); } } if (!Equals(progress, null)) { progress.Report(85); } ct.ThrowIfCancellationRequested(); // Remove Database only results Int32 RemoveCount = SearchResults.RemoveAll(_ => Equals(_.Locations.Count, 0)); if (!Equals(progress, null)) { progress.Report(100); } ct.ThrowIfCancellationRequested(); return(SearchResults); }