Exemple #1
0
        public ReleaseEventForApiContract(ReleaseEvent rel, ReleaseEventOptionalFields fields)
        {
            Date         = rel.Date;
            Id           = rel.Id;
            Name         = rel.Name;
            SeriesNumber = rel.SeriesNumber;
            SeriesSuffix = rel.SeriesSuffix;
            UrlSlug      = rel.UrlSlug;

            if (rel.Series != null)
            {
                SeriesId = rel.Series.Id;
            }

            if (fields.HasFlag(ReleaseEventOptionalFields.Description))
            {
                Description = rel.Description;
            }

            if (fields.HasFlag(ReleaseEventOptionalFields.Series) && rel.Series != null)
            {
                Series = new ReleaseEventSeriesContract(rel.Series);
            }

            if (fields.HasFlag(ReleaseEventOptionalFields.SongList) && rel.SongList != null)
            {
                SongList = new SongListBaseContract(rel.SongList);
            }

            if (fields.HasFlag(ReleaseEventOptionalFields.WebLinks))
            {
                WebLinks = rel.WebLinks.Select(w => new WebLinkForApiContract(w)).ToArray();
            }
        }
Exemple #2
0
        public PartialFindResult <ReleaseEventForApiContract> GetList(
            string query       = "",
            int seriesId       = 0,
            int start          = 0,
            int maxResults     = defaultMax,
            bool getTotalCount = false,
            EventSortRule sort = EventSortRule.Name,
            ReleaseEventOptionalFields fields = ReleaseEventOptionalFields.None
            )
        {
            query = !string.IsNullOrEmpty(query) ? FindHelpers.CleanTerm(query.Trim()) : string.Empty;

            return(repository.HandleQuery(ctx => {
                var q = ctx.Query()
                        .WhereHasName(query)
                        .WhereHasSeries(seriesId);

                var entries = q
                              .OrderBy(sort)
                              .Skip(start)
                              .Take(maxResults)
                              .ToArray()
                              .Select(e => new ReleaseEventForApiContract(e, fields))
                              .ToArray();

                var count = 0;

                if (getTotalCount)
                {
                    count = q.Count();
                }

                return new PartialFindResult <ReleaseEventForApiContract>(entries, count);
            }));
        }
        public PartialFindResult <ReleaseEventForApiContract> GetList(
            string query = "",
            NameMatchMode nameMatchMode = NameMatchMode.Auto,
            int seriesId        = 0,
            DateTime?afterDate  = null,
            DateTime?beforeDate = null,
            int start           = 0,
            int maxResults      = defaultMax,
            bool getTotalCount  = false,
            EventSortRule sort  = EventSortRule.Name,
            ReleaseEventOptionalFields fields = ReleaseEventOptionalFields.None
            )
        {
            var textQuery = SearchTextQuery.Create(query, nameMatchMode);

            return(queries.Find(e => new ReleaseEventForApiContract(e, fields), textQuery, seriesId, afterDate, beforeDate,
                                start, maxResults, getTotalCount, sort));
        }
Exemple #4
0
        public PartialFindResult <ReleaseEventForApiContract> GetList(
            string query = "",
            NameMatchMode nameMatchMode = NameMatchMode.Auto,
            int seriesId           = 0,
            DateTime?afterDate     = null,
            DateTime?beforeDate    = null,
            EventCategory category = EventCategory.Unspecified,
            int?userCollectionId   = null,
            [FromQuery(Name = "tagId[]")] int[] tagId = null,
            bool childTags = false,
            [FromQuery(Name = "artistId[]")] int[] artistId = null,
            bool childVoicebanks = false,
            bool includeMembers  = false,
            EntryStatus?status   = null,
            int start            = 0,
            int maxResults       = DefaultMax,
            bool getTotalCount   = false,
            EventSortRule sort   = EventSortRule.Name,
            ReleaseEventOptionalFields fields = ReleaseEventOptionalFields.None,
            ContentLanguagePreference lang    = ContentLanguagePreference.Default
            )
        {
            var textQuery   = SearchTextQuery.Create(query, nameMatchMode);
            var queryParams = new EventQueryParams
            {
                TextQuery       = textQuery,
                SeriesId        = seriesId,
                AfterDate       = afterDate,
                BeforeDate      = beforeDate,
                Category        = category,
                UserId          = userCollectionId ?? 0,
                ArtistIds       = new EntryIdsCollection(artistId),
                ChildVoicebanks = childVoicebanks,
                IncludeMembers  = includeMembers,
                ChildTags       = childTags,
                TagIds          = tagId,
                EntryStatus     = status,
                Paging          = new PagingProperties(start, maxResults, getTotalCount),
                SortRule        = sort
            };

            return(_queries.Find(e => new ReleaseEventForApiContract(e, lang, fields, _thumbPersister), queryParams));
        }
		public ReleaseEventForApiContract(ReleaseEvent rel, ReleaseEventOptionalFields fields) {
			
			Date = rel.Date;
			Id = rel.Id;
			Name = rel.Name;
			SeriesNumber = rel.SeriesNumber;
			SeriesSuffix = rel.SeriesSuffix;

			if (rel.Series != null) {
				SeriesId = rel.Series.Id;
			}

			if (fields.HasFlag(ReleaseEventOptionalFields.Description)) {
				Description = rel.Description;
			}

			if (fields.HasFlag(ReleaseEventOptionalFields.Series) && rel.Series != null) {
				Series = new ReleaseEventSeriesContract(rel.Series);
			}

		}
        public PartialFindResult <ReleaseEventForApiContract> GetList(
            string query        = "",
            int seriesId        = 0,
            DateTime?afterDate  = null,
            DateTime?beforeDate = null,
            int start           = 0,
            int maxResults      = defaultMax,
            bool getTotalCount  = false,
            EventSortRule sort  = EventSortRule.Name,
            ReleaseEventOptionalFields fields = ReleaseEventOptionalFields.None
            )
        {
            var textQuery = SearchTextQuery.Create(query);

            return(repository.HandleQuery(ctx => {
                var q = ctx.Query()
                        .WhereHasName(textQuery)
                        .WhereHasSeries(seriesId)
                        .WhereDateIsBetween(afterDate, beforeDate);

                var entries = q
                              .OrderBy(sort)
                              .Skip(start)
                              .Take(maxResults)
                              .ToArray()
                              .Select(e => new ReleaseEventForApiContract(e, fields))
                              .ToArray();

                var count = 0;

                if (getTotalCount)
                {
                    count = q.Count();
                }

                return new PartialFindResult <ReleaseEventForApiContract>(entries, count);
            }));
        }
Exemple #7
0
        public ReleaseEventForApiContract(ReleaseEvent rel, ReleaseEventOptionalFields fields)
        {
            Date         = rel.Date;
            Id           = rel.Id;
            Name         = rel.Name;
            SeriesNumber = rel.SeriesNumber;
            SeriesSuffix = rel.SeriesSuffix;

            if (rel.Series != null)
            {
                SeriesId = rel.Series.Id;
            }

            if (fields.HasFlag(ReleaseEventOptionalFields.Description))
            {
                Description = rel.Description;
            }

            if (fields.HasFlag(ReleaseEventOptionalFields.Series) && rel.Series != null)
            {
                Series = new ReleaseEventSeriesContract(rel.Series);
            }
        }
Exemple #8
0
 public ReleaseEventForApiContract Load(int id, ReleaseEventOptionalFields fields)
 {
     return(repository.HandleQuery(ctx => new ReleaseEventForApiContract(ctx.Load(id), LanguagePreference, fields, imagePersister, true)));
 }
Exemple #9
0
 public ReleaseEventForApiContract GetOne(int id, ContentLanguagePreference lang, ReleaseEventOptionalFields fields, bool ssl)
 {
     return(repository.HandleQuery(ctx => new ReleaseEventForApiContract(ctx.Load(id), lang, fields, imagePersister, ssl)));
 }
 public ReleaseEventForApiContract GetOne(int id,
                                          ReleaseEventOptionalFields fields = ReleaseEventOptionalFields.None,
                                          ContentLanguagePreference lang    = ContentLanguagePreference.Default) => queries.GetOne(id, lang, fields);
        public ReleaseEventForApiContract(ReleaseEvent rel, ContentLanguagePreference languagePreference, ReleaseEventOptionalFields fields, IEntryThumbPersister thumbPersister)
        {
            Category     = rel.Category;
            Date         = rel.Date;
            EndDate      = rel.EndDate;
            Id           = rel.Id;
            Name         = rel.TranslatedName[languagePreference];
            SeriesNumber = rel.SeriesNumber;
            SeriesSuffix = rel.SeriesSuffix;
            Status       = rel.Status;
            UrlSlug      = rel.UrlSlug;
            VenueName    = rel.VenueName;
            Version      = rel.Version;

            if (rel.HasSeries)
            {
                SeriesId = rel.Series.Id;
            }

            if (fields.HasFlag(ReleaseEventOptionalFields.AdditionalNames))
            {
                AdditionalNames = rel.Names.GetAdditionalNamesStringForLanguage(languagePreference);
            }

            if (fields.HasFlag(ReleaseEventOptionalFields.Artists))
            {
                Artists = rel.Artists.Select(a => new ArtistForEventContract(a, languagePreference)).ToArray();
            }

            if (fields.HasFlag(ReleaseEventOptionalFields.Description))
            {
                Description = rel.Description;
            }

            if (thumbPersister != null && fields.HasFlag(ReleaseEventOptionalFields.MainPicture))
            {
                MainPicture = EntryThumbForApiContract.Create(EntryThumb.Create(rel) ?? EntryThumb.Create(rel.Series), thumbPersister);
            }

            if (fields.HasFlag(ReleaseEventOptionalFields.Names))
            {
                Names = rel.Names.Select(n => new LocalizedStringContract(n)).ToArray();
            }

            if (fields.HasFlag(ReleaseEventOptionalFields.Series) && rel.HasSeries)
            {
                Series = new ReleaseEventSeriesContract(rel.Series, languagePreference);
            }

            if (fields.HasFlag(ReleaseEventOptionalFields.SongList) && rel.SongList != null)
            {
                SongList = new SongListBaseContract(rel.SongList);
            }

            if (fields.HasFlag(ReleaseEventOptionalFields.WebLinks))
            {
                WebLinks = rel.WebLinks.Select(w => new WebLinkForApiContract(w)).ToArray();
            }
        }
        public PartialFindResult<ReleaseEventForApiContract> GetList(
            string query = "",
            int seriesId = 0,
            int start = 0,
            int maxResults = defaultMax,
            bool getTotalCount = false,
            EventSortRule sort = EventSortRule.Name,
            ReleaseEventOptionalFields fields = ReleaseEventOptionalFields.None
            )
        {
            query = !string.IsNullOrEmpty(query) ? FindHelpers.CleanTerm(query.Trim()) : string.Empty;

            return repository.HandleQuery(ctx => {

                var q = ctx.Query()
                    .WhereHasName(query)
                    .WhereHasSeries(seriesId);

                var entries = q
                    .OrderBy(sort)
                    .Skip(start)
                    .Take(maxResults)
                    .ToArray()
                    .Select(e => new ReleaseEventForApiContract(e, fields))
                    .ToArray();

                var count = 0;

                if (getTotalCount) {

                    count = q.Count();

                }

                return new PartialFindResult<ReleaseEventForApiContract>(entries, count);

            });
        }
 public ReleaseEventForApiContract GetOne(int id,
                                          ReleaseEventOptionalFields fields = ReleaseEventOptionalFields.None,
                                          ContentLanguagePreference lang    = ContentLanguagePreference.Default)
 {
     return(queries.GetOne(id, lang, fields, WebHelper.IsSSL(Request)));
 }
Exemple #14
0
 public static EventForUserContract CreateForUser(EventForUser link, ContentLanguagePreference languagePreference, ReleaseEventOptionalFields releaseEventFields, IEntryThumbPersister entryThumbPersister)
 {
     return(new EventForUserContract {
         RelationshipType = link.RelationshipType,
         ReleaseEvent = new ReleaseEventForApiContract(link.ReleaseEvent, languagePreference, releaseEventFields, entryThumbPersister, true)
     });
 }
 public ReleaseEventForApiContract GetOne(int id, ReleaseEventOptionalFields fields)
 {
     return(repository.HandleQuery(ctx => new ReleaseEventForApiContract(ctx.Load(id), fields)));
 }
Exemple #16
0
 public ReleaseEventForApiContract Load(int id, ReleaseEventOptionalFields fields)
 {
     return(_repository.HandleQuery(ctx => new ReleaseEventForApiContract(ctx.Load(id), LanguagePreference, fields, _imageUrlFactory)));
 }