Esempio n. 1
0
        public LibraryAdapter(Activity context, List <PlantInfo> items) : base()
        {
            this.context = context;
            this.items   = items.OrderBy(s => s.PlantName).ToList();

            Filter = new LibraryFilter(this);
        }
Esempio n. 2
0
        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"
            });
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
0
        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;
            }
        }
Esempio n. 7
0
        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);
                    }
                }
            }
        }
Esempio n. 8
0
        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));
        }
Esempio n. 9
0
        /// <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));
        }
Esempio n. 10
0
 public async Task <IEnumerable <Library_Search_By_Cate_Result> > GetListLibraryPagging([FromQuery] LibraryFilter filter)
 {
     return(await _repoWrapper.Library.GetListLibraryPagging(filter));
 }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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>());
            }
        }