using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using AutomatizovanySklad.Core.Entity;
using Web.Models.Karta.Produkt;
using Web.Models.Subjekt;

namespace Web.Models.Karta
{
  public class KartaEditModel: LayoutModel {
    public int Id { get; set; }

    [Remote("ExistujeKartaEditace", "Karta", ErrorMessage = "Název je již použit!", AdditionalFields = "Id")]
    [Display(Name = "Název*")]
    [Required]
    [StringLength(60, ErrorMessage = "Název nesmí být delší jak 60 znaků.")]
    public string Nazev { get; set; }

    [Display(Name = "Měrná jednotka*")]
    public MernaJednotka MernaJednotka { get; set; }

    [Display(Name = "Počet")]
    public int? Pocet { get; set; }

    [Display(Name = "Maximální počet*")]
    [Required]
    [Range(1, int.MaxValue,
       ErrorMessage = "Hodnota {0} musí být vyšší nebo rovna {1}.")]
    public int? MaxPocet { get; set; }

    [Display(Name = "Seznam produktů")]
    public virtual List<ProduktModel> SeznamProduktu { get; set; } = new List<ProduktModel>();

    [Display(Name = "Seznam subjektů")]
    public virtual List<SubjektModel> SeznamSubjektu { get; set; } = new List<SubjektModel>();

    public string PocetZMaxima { get; set; }

    public DateTime DatumVytvoreni { get; set; }

    public int VytvorilId { get; set; }

    public DateTime? DatumUpravy { get; set; }

    public int UpravilId { get; set; }

    [Display(Name = "Info o modifikaci")]
    public string InfoOModifikaci { get; set; }
  }
}