public LibraryAdapter(Activity context, List <PlantInfo> items) : base() { this.context = context; this.items = items.OrderBy(s => s.PlantName).ToList(); Filter = new LibraryFilter(this); }
public void ShouldInitializeDancesByCategory() { var lib = new LibraryFilter(SampleData.GetTestLibrary()); lib.AddDanceFiltersByCategory(DanceCategory.Standard, DanceCategory.Latin); var names = lib.AllFilters.Select <FilteredTracks, string>((ft) => ft.Name); Assert.Equal(names, new string[] { "Waltz-Standard", "Tango-Standard", "Foxtrot-Standard", "Quickstep-Standard", "Viennese Waltz-Standard", "Samba-Latin", "Cha-Cha-Latin", "Rumba-Latin", "Paso Doble-Latin", "Jive-Latin" }); }
public async void Test_GetPlexServerLibraryByKey() { const string key = "1"; var filter = new LibraryFilter() { Keys = new List <string> { key } }; var libraries = await this.fixture.Server.Libraries(filter); Assert.NotNull(libraries); Assert.Single(libraries); Assert.Equal(key, libraries[0].Key); }
public async void Test_GetPlexServerLibrariesByTitle() { const string title = "Movies"; var filter = new LibraryFilter() { Titles = new List <string> { title } }; var libraries = await this.fixture.Server.Libraries(filter); Assert.NotNull(libraries); foreach (var library in libraries) { Assert.Equal(title, libraries[0].Title); } }
public async void Test_GetPlexServerLibrariesByType() { var libTypes = new List <string> { "movie", "audio" }; var filter = new LibraryFilter() { Types = libTypes }; var libraries = await this.fixture.Server.Libraries(filter); Assert.NotNull(libraries); foreach (var library in libraries) { Assert.Contains(library.Type, libTypes); } }
public LibraryViewModel(LibraryFilter library) { Library = library; Default = new FilteredTracksViewModel(library.DefaultFilter); var groupVMs = library.FilterGroups.Select <FilterGroup, FilterGroupViewModel>((fi) => new FilterGroupViewModel(fi)); FilterGroups = new ObservableCollection <FilterGroupViewModel>(groupVMs); SelectedFilterGroup = (FilterGroups.Count > 0 ? FilterGroups[0] : null); var filterVMs = library.AllFilters.Select <FilteredTracks, FilteredTracksViewModel>((fi) => new FilteredTracksViewModel(fi)); Filters = new ObservableCollection <FilteredTracksViewModel>(filterVMs); foreach (var fg in FilterGroups) { fg.PropertyChanged += FilterGroupPropertyChanged; } }
public void ShouldPopulateFilterTracksFromLibrary() { var defaultFilter = new TrackDanceFilter() { Categories = DanceCategories.None, ReviewStatus = DanceReviewStatusFlags.Any, Difficulty = DanceDifficulty.Any }; var lib = new LibraryFilter(SampleData.GetTestLibrary(), defaultFilter); lib.AddDanceFiltersByCategory(Dance.AllCategories); foreach (var fi in lib.AllFilters) { foreach (var dance in fi.Filter.Dances) { var edi = SampleData.ExpectedDanceInfo[dance]; foreach (var category in Dance.EnumerateCategories(fi.Filter.Categories)) { var expected = edi.GetTotalForCategory(category); Assert.Equal(expected, fi.Tracks.Count); } } } }
public JsonResult LibraryViewUser() { LibraryFilter filter = new LibraryFilter(); var user = SessionManager.inst.User(); List <MasterCours> aviableCourse = new List <MasterCours>(); switch (user.DragnDrop) { //None case 0: break; //Company case 1: //finish this //aviableCourse = CourseRepository.AvaibleCompanyUserCourses(user); break; //Library case 2: aviableCourse = CourseRepository.GetAvaibleCourses(0, 0, user.Id, user.CompanyId); break; //All case 3: aviableCourse = CourseRepository.GetAvaibleCourses(0, 0, user.Id, user.CompanyId); break; } filter.assigned = CourseRepository.UsersCourseJsonDto(user.Id).Where(item => item.CourseStatus == true).ToList(); //var avaibleCourses = aviableCourse.Where(item => item.CourseStatus == true).ToList(); filter.aviable = CourseRepository.ToCourseJsonDto(aviableCourse); return(Json(filter, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Invokes for libraryView to set avaliable and assigned courses, list of departments and users /// </summary> /// <param name="companyId">id of selected company, 0 - if not used</param> /// <param name="departmentId">id of selected department, 0 if not used</param> /// <param name="userId">id of selected user, 0 if not used</param> /// <returns></returns> public JsonResult FilterCourses(int companyId, int departmentId, int userId) { LibraryFilter filter = new LibraryFilter(); //getting avaliable courses var listavaliable = new List <MasterCourses>(); //getting assigned courses var listassigned = new List <MasterCourses>(); if (userId != 0) { listavaliable = CourseService.MasterCoursesAvaliableTo(userId, FilterIdType.UserId); listassigned = CourseService.MasterCoursesAssignedTo(userId, FilterIdType.UserId); filter.assigned = listassigned.Select(item => new CoursesDto { CourseId = item.Id, CoverUrl = item.CoverUrl, Name = item.Name, ShortDescription = item.ShortDescription, Time = item.CourseTime ?? 0, Price = item.Price ?? 0, Released = item.Released, Exam = item.Exam, Exercises = item.Exercises, Diploma = item.Diploma, TrailerVideoUrl = item.TrailerVideoUrl, CourseStatus = CourseService.GetCourseStatus(userId, FilterIdType.UserId, item.Id), CategoryId = item.CourseCategoryId, CreatorId = item.CreatorId, OrderNum = item.OrderNum }).OrderBy(i => i.OrderNum).ToList(); filter.filterBy = "user"; } else if (departmentId != 0) { listavaliable = CourseService.MasterCoursesAvaliableTo(departmentId, FilterIdType.DepartmentId); listassigned = CourseService.MasterCoursesAssignedTo(departmentId, FilterIdType.DepartmentId); filter.assigned = listassigned.Select(item => new CoursesDto { CourseId = item.Id, CoverUrl = item.CoverUrl, Name = item.Name, ShortDescription = item.ShortDescription, Time = item.CourseTime ?? 0, Price = item.Price ?? 0, Released = item.Released, Exam = item.Exam, Exercises = item.Exercises, Diploma = item.Diploma, TrailerVideoUrl = item.TrailerVideoUrl, CourseStatus = CourseService.GetCourseStatus(departmentId, FilterIdType.DepartmentId, item.Id), CategoryId = item.CourseCategoryId, CreatorId = item.CreatorId, OrderNum = item.OrderNum }).OrderBy(i => i.OrderNum).ToList(); var dep = CompanyService.GetDepartment(departmentId); filter.users = dep.UserProfiles.Select(i => new UserSimple { name = i.Firstname + " " + i.Lastname, id = i.Id }).ToList(); filter.filterBy = "department"; } else if (companyId != 0) { listavaliable = CourseService.MasterCoursesAvaliableTo(companyId, FilterIdType.CompanyId); listassigned = CourseService.MasterCoursesAssignedTo(companyId, FilterIdType.CompanyId); filter.assigned = listassigned.Select(item => new CoursesDto { CourseId = item.Id, CoverUrl = item.CoverUrl, Name = item.Name, ShortDescription = item.ShortDescription, Time = item.CourseTime ?? 0, Price = item.Price ?? 0, Released = item.Released, Exam = item.Exam, Exercises = item.Exercises, Diploma = item.Diploma, TrailerVideoUrl = item.TrailerVideoUrl, CourseStatus = CourseService.GetCourseStatus(companyId, FilterIdType.CompanyId, item.Id), CategoryId = item.CourseCategoryId, CreatorId = item.CreatorId, OrderNum = item.OrderNum }).OrderBy(i => i.OrderNum).ToList(); var company = CompanyService.CompanyById(companyId); filter.departments = company.Departments.Select(i => new DepartmentSimple { id = i.Id, name = i.DepartmentName }).ToList(); filter.users = company.UserProfiles.Select(i => new UserSimple { name = i.Firstname + " " + i.Lastname, id = i.Id }).ToList(); filter.filterBy = "company"; } else { listavaliable = CourseService.GetAllMasterCourses(); } filter.aviable = listavaliable.Select(item => new CoursesDto { CourseId = item.Id, CoverUrl = item.CoverUrl, Name = item.Name, ShortDescription = item.ShortDescription, Time = item.CourseTime ?? 0, Price = item.Price ?? 0, Released = item.Released, Exam = item.Exam, Exercises = item.Exercises, Diploma = item.Diploma, TrailerVideoUrl = item.TrailerVideoUrl, CourseStatus = item.CourseStatus, CategoryId = item.CourseCategoryId, CreatorId = item.CreatorId, OrderNum = item.OrderNum }).OrderBy(i => i.OrderNum).ToList(); return(Json(filter, JsonRequestBehavior.AllowGet)); }
public async Task <IEnumerable <Library_Search_By_Cate_Result> > GetListLibraryPagging([FromQuery] LibraryFilter filter) { return(await _repoWrapper.Library.GetListLibraryPagging(filter)); }
public void TestMangaComparer( [Values(nameof(ILibraryFilterableItem.Name), nameof(ILibraryFilterableItem.Created), nameof(ILibraryFilterableItem.DownloadedAt))] string property, [Values] ListSortDirection direction, [Values] bool isManga) { var comparer = new LibraryFilter(); comparer.SortDescription = new SortDescription(property, direction); var utcNow = DateTime.UtcNow; (int compareDifferent, int compareEquals) CompareManga() { IManga manga1 = new Readmanga() { Name = "A-Name", Created = utcNow, DownloadedAt = utcNow }; IManga manga2 = new Readmanga() { Name = "b-name", Created = utcNow.AddMinutes(1), DownloadedAt = utcNow.AddMinutes(1) }; IManga manga3 = new Readmanga() { Name = "a-name", Created = utcNow, DownloadedAt = utcNow }; var i = comparer.Compare(manga1, manga2); var compareEquals1 = comparer.Compare(manga1, manga3); return(i, compareEquals1); } (int compareDifferent, int compareEquals) CompareProxy() { ILibraryFilterableItem manga1 = new MangaProxy(new Readmanga() { Name = "A-Name", Created = utcNow, DownloadedAt = utcNow }); ILibraryFilterableItem manga2 = new MangaProxy(new Readmanga() { Name = "b-name", Created = utcNow.AddMinutes(1), DownloadedAt = utcNow.AddMinutes(1) }); ILibraryFilterableItem manga3 = new MangaProxy(new Readmanga() { Name = "a-name", Created = utcNow, DownloadedAt = utcNow }); var i = comparer.Compare(manga1, manga2); var compareEquals1 = comparer.Compare(manga1, manga3); return(i, compareEquals1); } var(compareDifferent, compareEquals) = isManga ? CompareManga() : CompareProxy(); if (direction == ListSortDirection.Descending) { Assert.Greater(compareDifferent, 0); } else { Assert.Less(compareDifferent, 0); } Assert.AreEqual(0, compareEquals); }
public async Task <IEnumerable <Library_Search_By_Cate_Result> > GetListLibraryPagging(LibraryFilter filter) { try { var Keyword = new SqlParameter("@Keyword", filter.Keyword ?? (object)DBNull.Value); var StatusType_ID = new SqlParameter("@StatusType_ID", filter.StatusTypeId); var PageSize = new SqlParameter("@PageSize", filter.PageSize); var CurrentPage = new SqlParameter("@CurrentPage", filter.Page ?? 1); var LibraryCategory_ID = new SqlParameter("@LibraryCategory_ID", filter.LibraryCategoryID ?? (object)DBNull.Value); var ProductCategoryID = new SqlParameter("@ProductCategoryID", filter.ProductCategoryID ?? (object)DBNull.Value); var ManufactoriesID = new SqlParameter("@ManufactoriesID", filter.ManufactoriesID ?? (object)DBNull.Value); var ModelID = new SqlParameter("@ModelID", filter.ModelID ?? (object)DBNull.Value); var ProductCategoryID2 = new SqlParameter("@ProductCategoryID2", filter.ProductCategoryID2 ?? (object)DBNull.Value); var CreateBy = new SqlParameter("@CreateBy", filter.CreateBy ?? (object)DBNull.Value); var output = await HanomaContext.Set <Library_Search_By_Cate_Result>() .FromSqlRaw($"EXECUTE dbo.Library_Search_By_Cate " + $"@Keyword = @Keyword, " + $"@StatusType_ID = @StatusType_ID, " + $"@PageSize = @PageSize, " + $"@CurrentPage = @CurrentPage, " + $"@LibraryCategory_ID = @LibraryCategory_ID, " + $"@ProductCategoryID = @ProductCategoryID, " + $"@ManufactoriesID = @ManufactoriesID, " + $"@ModelID = @ModelID, " + $"@ProductCategoryID2 = @ProductCategoryID2, " + $"@CreateBy = @CreateBy ", Keyword, StatusType_ID, PageSize, CurrentPage, LibraryCategory_ID, ProductCategoryID, ManufactoriesID, ModelID, ProductCategoryID2, CreateBy) .AsNoTracking() .ToListAsync(); return(output); } catch (Exception ex) { return(new List <Library_Search_By_Cate_Result>()); } }