Ejemplo n.º 1
0
        public TagForApiContract(Tag tag,
                                 IEntryImagePersisterOld thumbPersister,
                                 ContentLanguagePreference languagePreference,
                                 TagOptionalFields optionalFields)
        {
            ParamIs.NotNull(() => tag);

            CategoryName        = tag.CategoryName;
            CreateDate          = tag.CreateDate;
            DefaultNameLanguage = tag.TranslatedName.DefaultLanguage;
            Id         = tag.Id;
            Name       = tag.TranslatedName[languagePreference];
            Status     = tag.Status;
            Targets    = (int)tag.Targets;
            UrlSlug    = tag.UrlSlug;
            UsageCount = tag.UsageCount;
            Version    = tag.Version;

            var includeAdditionalNames = optionalFields.HasFlag(TagOptionalFields.AdditionalNames);

            if (includeAdditionalNames)
            {
                AdditionalNames = tag.Names.GetAdditionalNamesStringForLanguage(languagePreference);
            }

            if (optionalFields.HasFlag(TagOptionalFields.Description))
            {
                Description = tag.Description[languagePreference];
            }

            if (optionalFields.HasFlag(TagOptionalFields.MainPicture) && tag.Thumb != null && thumbPersister != null)
            {
                MainPicture = new EntryThumbForApiContract(tag.Thumb, thumbPersister);
            }

            if (optionalFields.HasFlag(TagOptionalFields.Names))
            {
                Names = tag.Names.Select(n => new LocalizedStringWithIdContract(n)).ToArray();
            }

            if (optionalFields.HasFlag(TagOptionalFields.Parent) && tag.Parent != null)
            {
                Parent = new TagBaseContract(tag.Parent, languagePreference, includeAdditionalNames);
            }

            if (optionalFields.HasFlag(TagOptionalFields.RelatedTags))
            {
                RelatedTags = tag.RelatedTags.Select(t => new TagBaseContract(t.LinkedTag, languagePreference, includeAdditionalNames)).ToArray();
            }

            if (optionalFields.HasFlag(TagOptionalFields.TranslatedDescription))
            {
                TranslatedDescription = new EnglishTranslatedStringContract(tag.Description);
            }

            if (optionalFields.HasFlag(TagOptionalFields.WebLinks))
            {
                WebLinks = tag.WebLinks.Links.Select(w => new WebLinkForApiContract(w)).ToArray();
            }
        }
Ejemplo n.º 2
0
		public TagForApiContract(Tag tag, 
			IEntryImagePersisterOld thumbPersister,
			bool ssl,			
			TagOptionalFields optionalFields) {
			
			CategoryName = tag.CategoryName;
			Id = tag.Id;
			Name = tag.Name;

			if (optionalFields.HasFlag(TagOptionalFields.Description)) {
				Description = tag.Description;
			}

			if (optionalFields.HasFlag(TagOptionalFields.MainPicture) && tag.Thumb != null) {
				MainPicture = new EntryThumbForApiContract(tag.Thumb, thumbPersister, ssl);
			}

		}
Ejemplo n.º 3
0
        public TagForApiContract(Tag tag,
                                 IEntryImagePersisterOld thumbPersister,
                                 bool ssl,
                                 TagOptionalFields optionalFields)
        {
            CategoryName = tag.CategoryName;
            Id           = tag.Id;
            Name         = tag.Name;

            if (optionalFields.HasFlag(TagOptionalFields.Description))
            {
                Description = tag.Description;
            }

            if (optionalFields.HasFlag(TagOptionalFields.MainPicture) && tag.Thumb != null)
            {
                MainPicture = new EntryThumbForApiContract(tag.Thumb, thumbPersister, ssl);
            }
        }
Ejemplo n.º 4
0
        public TagForApiContract(Tag tag,
                                 IEntryImagePersisterOld thumbPersister,
                                 bool ssl,
                                 TagOptionalFields optionalFields)
        {
            AlisedToName = tag.AliasedTo != null ? tag.AliasedTo.Name : null;
            CategoryName = tag.CategoryName;
            Id           = tag.Id;
            Name         = tag.Name;
            ParentName   = tag.Parent != null ? tag.Parent.Name : null;
            Status       = tag.Status;

            if (optionalFields.HasFlag(TagOptionalFields.Description))
            {
                Description = tag.Description;
            }

            if (optionalFields.HasFlag(TagOptionalFields.MainPicture) && tag.Thumb != null)
            {
                MainPicture = new EntryThumbForApiContract(tag.Thumb, thumbPersister, ssl);
            }
        }