﻿using BMIRussianTV.Utils;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace BMIRussianTV.Models
{
    public class Place : IValidatableObject
    {
        [ScaffoldColumn(false)]
        public int PlaceID { get; set; }

        [ScaffoldColumn(false)]
        public string PlaceSID { get; set; }

        [Required]
        [Display(Name = "Название")]
        public string Title { get; set; }

        [DataType(DataType.ImageUrl)]
        [Display(Name = "Ссылка на изображение")]
        public string ImageUrl { get; set; }

        //TODO: GPS coordinates?

        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            if (!string.IsNullOrEmpty(ImageUrl) && (!Validators.ValidImageUrl(ImageUrl)))
            {
                yield return new ValidationResult("Адрес миниатюры должен начинаться с http и заканчиваться на .jpg/.jpeg/.png. Возможно вы вставили не ту ссылку.", new[] { "ImageUrl" });
            }
        }
    }
}
