using Grand.Infrastructure.ModelBinding;
using Grand.Infrastructure.Models;

namespace Grand.Web.Admin.Models.Settings
{
    public class MediaSettingsModel : BaseModel
    {
        #region Standard Media Settings
        public string ActiveStore { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.ProductThumbPictureSize")]
        public int ProductThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.ProductDetailsPictureSize")]
        public int ProductDetailsPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.ProductThumbPictureSizeOnProductDetailsPage")]
        public int ProductThumbPictureSizeOnProductDetailsPage { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.AssociatedProductPictureSize")]
        public int AssociatedProductPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.CategoryThumbPictureSize")]
        public int CategoryThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.BrandThumbPictureSize")]
        public int BrandThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.CollectionThumbPictureSize")]
        public int CollectionThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.VendorThumbPictureSize")]
        public int VendorThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.CartThumbPictureSize")]
        public int CartThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.MiniCartThumbPictureSize")]
        public int MiniCartThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.MaximumImageSize")]
        public int MaximumImageSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.ImageQuality")]
        public int ImageQuality { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.DefaultPictureZoomEnabled")]
        public bool DefaultPictureZoomEnabled { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.AddToCartThumbPictureSize")]
        public int AddToCartThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.AutoCompleteSearchThumbPictureSize")]
        public int AutoCompleteSearchThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.BlogThumbPictureSize")]
        public int BlogThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.CourseThumbPictureSize")]
        public int CourseThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.ImageSquarePictureSize")]
        public int ImageSquarePictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.LessonThumbPictureSize")]
        public int LessonThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.NewsListThumbPictureSize")]
        public int NewsListThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.NewsThumbPictureSize")]
        public int NewsThumbPictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.ProductBundlePictureSize")]
        public int ProductBundlePictureSize { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.AllowedFileTypes")]
        public string AllowedFileTypes { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.FileManagerEnabledCommands")]
        public string FileManagerEnabledCommands { get; set; }

        [GrandResourceDisplayName("Admin.Settings.Media.FileManagerDisabledUICommands")]
        public string FileManagerDisabledUICommands { get; set; }
        
        [GrandResourceDisplayName("Admin.Settings.Media.DefaultImageName")]
        public string DefaultImageName { get; set; } = "no-image.png";

        #endregion
    }
}