using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;



namespace Repositorio.Entidades
{
    public class Evento
    {
         public Evento()
    {
        //this.Treinadores = new List<Treinador>();
      //  this.Treinadores = new HashSet<Treinador>();
        Ativo = true;
    }
        public int EventoId { get; set; }
        [Required(ErrorMessage = "O nome é obrigatório!")]
        [MaxLength(30)]
        public string Nome { get; set; }

        [Required(ErrorMessage = "O módulo é obrigatório!")]
        [Column("Modulo")]
        [Display(Name = "Módulo do Evento")]
        public string Modulo { get; set; }


      //  [Required(ErrorMessageResourceName = "Por favor, selecione uma opção")]
        [Column("TipoID")]
        [Display(Name = "Tipo de Evento")]
      //  public virtual TipoEvento TipoID { get; set; }
          public int  TipoID { get; set; }

        [Required(ErrorMessage = "A Data de Início é obrigatória!")]
        [Column("DtInicio")]
        [Display(Name = "Data de Início")]
        public DateTime DtInicio { get; set; }

        [Required(ErrorMessage = "A Data de Término é obrigatória!")]
        [Column("DtFim")]
        [Display(Name = "Data de Término")]
        public DateTime DtFim { get; set; }

        [Required(ErrorMessage = "O Horário de início é obrigatório")]
        [Column("HsInicio")]
        [Display(Name = "Horário de Início")]
        public string HsInicio { get; set; }


        [Required(ErrorMessage = "O Horário de fim é obrigatório")]
        [Column("HsFim")]
        [Display(Name = "Horário de Término")]
        public string HsFim { get; set; }


     //   [Required(ErrorMessageResourceName = "Por favor, selecione uma opção")]
        [Column("LocalID")]
        [Display(Name = "Local do Evento")]
     //   public virtual Local LocalID { get; set; }
        public int LocalID { get; set; }

        public decimal Investimento { get; set; }


         [Required(ErrorMessage = "O Coffee Break é obrigatória!")]
        [Column("CBreak")]
        [Display(Name = "Coffee Break")]
        public bool CBreak { get; set; }


        [Required(ErrorMessage = "A descrição é obrigatória!")]
        [Column("Descricao")]
        [Display(Name = "Descrição do Evento")]

        public string Descricao { get; set; }

        [Column("Cancelado")]
        [Display(Name = "Evento Cancelado")]
        public bool Cancelado { get; set; }


        [Display(Name = "Motivo do Cancelamento")]
        public string Motivo { get; set; }
        
        public string Treinadores { get; set; }


       // public virtual List<Treinador> Treinadores { get; set; }

     //   public virtual ICollection<Treinador> Treinadores { get; set; }
        public List<int> SelectedIDs { get; set; }

        
        public Boolean Ativo { get; set; } 

        public virtual ICollection<EventoTreinador> EventoTreinador { get; set; }
}
}
