using Microsoft.AspNet.Identity.EntityFramework;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace ResourcesManager.Models
{
    public class Reservation
    {
        [HiddenInput(DisplayValue = true)]
        public int Id { get; set; }

        [Display(Name = "Felhasználó")]
        public string User { get; set; }

        [Display(Name = "Erőforrás")]
        [UIHint("Text")]
        public int ResourceId { get; set; }

        [ForeignKey("ResourceId")]
        public virtual Resource Resource { get; set; }

        [Display(Name = "Kezdet")]
        [Required(ErrorMessage = "Kötelező időpontot megadni!")]
        [DataType(DataType.DateTime, ErrorMessage = "A Dátum, idő formátum a kövező legyen: yyyy.mm.dd hh:mm:ss")]
        [DisplayFormat(DataFormatString = "{0:yyyy.MM.dd HH:mm}", ApplyFormatInEditMode = true)]
        public DateTime Begining { get; set; }
        
        [Display(Name = "Vég")]
        [Required(ErrorMessage = "Kötelző időpontot megadni!")]
        [DataType(DataType.DateTime, ErrorMessage = "A Dátum, idő formátum a kövező legyen: yyyy.mm.dd hh:mm:ss")]
        [DisplayFormat(DataFormatString = "{0:yyyy.MM.dd HH:mm}", ApplyFormatInEditMode = true)]
        public DateTime End { get; set; }

        public override string ToString()
        {
            return ", user: " + User + ", kezdőIdőpont: "+Begining.ToString() + ", befejezőIdőpont: " +End.ToString();
        }
    }
}