Esempio n. 1
0
 public GetImagesFilter(
     int page,
     DanbooruSearchTag tag,
     DanbooruNSFWRating searchRating,
     ImageOrder orderBy) : this(page, new[] { tag }, searchRating, orderBy)
 {
 }
Esempio n. 2
0
        public IEnumerable<Image> FindImagesForMood(int id, ImageOrder imageOrder, int page, int pageSize)
        {
            var query = _moodRepository.All
                                       .Where(x => x.Id == id)
                                       .SelectMany(s => s.MoodToImages)
                                       ;
            IOrderedQueryable<Image> ordered;

            switch (imageOrder)
            {
                    case ImageOrder.New:
                    ordered = query.Select(s => s.Image).Distinct().OrderByDescending(o => o.Created);
                    break;

                    case ImageOrder.Relevant:
                    ordered = query.Distinct().OrderByDescending(o => o.Rating).Select(s => s.Image).Distinct().OrderBy(o => 0);
                    break;

                    case ImageOrder.Shuffle:
                    ordered = query.Select(s => s.Image).Distinct().OrderBy(o => Guid.NewGuid());
                    break;

                    default:
                    throw new InvalidEnumArgumentException("Invalid enum value for ImageOrder");

            }

            return ordered
                .TakePage(page, pageSize)
                .ToList();
        }
Esempio n. 3
0
 public GetImagesFilter(
     int page,
     DanbooruSearchTag[] tags,
     DanbooruNSFWRating searchRating,
     ImageOrder orderBy)
 {
     Page         = page;
     Tags         = tags ?? _emptyTagList;
     SearchRating = searchRating;
     OrderTag     = orderBy;
 }
        public DanbooruSearchQueryBuilder AddOrderParameter(ImageOrder order, bool isInclude = true)
        {
            if (order == ImageOrder.NoOrder)
            {
                return(this);
            }

            var orderTagValue = $"{_orderTagQueryKey}:" + order switch
            {
                ImageOrder.Rank => "rank",
                _ => throw new NotSupportedException($"Неподдерживаемая сортировка {order}")
            };

            var orderTag = new DanbooruSearchTag(orderTagValue, isInclude);

            return(AddSearchTags(orderTag));
        }
Esempio n. 5
0
 protected void Page_Load(object sender, EventArgs e)
 {
     btnDelete1.Click                += new EventHandler(btnDelete_Click);
     btnDelete2.Click                += new EventHandler(btnDelete_Click);
     btnSaveImageDataName.Click      += new EventHandler(btnSaveImageDataName_Click);
     btnMoveImageData.Click          += new EventHandler(btnMoveImageData_Click);
     btnSaveImageData.Click          += new EventHandler(btnSaveImageData_Click);
     ImageOrder.SelectedIndexChanged += new EventHandler(ImageOrder_SelectedIndexChanged);
     btnImagetSearch.Click           += new EventHandler(btnImagetSearch_Click);
     photoDataList.ItemCommand       += new DataListCommandEventHandler(photoDataList_ItemCommand);
     LoadParameters();
     if (!Page.IsPostBack)
     {
         ImageOrder.DataBind();
         dropImageFtp.DataBind();
         BindImageData();
     }
 }
Esempio n. 6
0
 public virtual ActionResult FindImages(int id, ImageOrder imageOrder = ImageOrder.Shuffle, int page = 1)
 {
     var model = _moodsService.FindImagesForMood(id, imageOrder, page, ImagesPageSize);
     return View(model);
 }