using AyCode.Entities.Locations;
using AyCode.Interfaces.TimeStampInfo;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using TIAM.Resources;

namespace TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
{
    public class TransferDestinationWizardModel
    {
        [DataType(DataType.Text)]
        [Display(Name = ResourceKeys.TransferDestinationId, ResourceType = typeof(TIAMResources))]
        public string Id { get; set; }

        //[Required(ErrorMessage = "The Username value should be specified.")]
        [Required(ErrorMessage = "The Destination name should be specified.")]
        [DataType(DataType.Text)]
        [Display(Name = ResourceKeys.DestinationName, ResourceType = typeof(TIAMResources))]
        public string Name { get; set; }

        [Required(ErrorMessage = "The Destination info should be specified.")]
        [DataType(DataType.MultilineText)]
        [Display(Name = ResourceKeys.DestinationInfo, ResourceType = typeof(TIAMResources))]
        public string Description { get; set; }

        [Required(ErrorMessage = "The address should be specified.")]
        [DataType(DataType.Text)]
        [Display(Name = ResourceKeys.DestinationAddress, ResourceType = typeof(TIAMResources))]
        public string AddressString { get; set; }

        [Required(ErrorMessage = "The price should be specified.")]
        [DataType("Price")]
        [Display(Name = ResourceKeys.Price, ResourceType = typeof(TIAMResources))]
        public double? Price { get; set; }

        //[DataType("Latitude")]        
        //[Display(Name = "Destination latitude")]
        //public double Latitude { get; set; }
        //[DataType("Longitude")]
        //[Display(Name = "Destination longitude")]
        //public double Longitude { get; set; }


        public TransferDestinationWizardModel() { }

        public TransferDestinationWizardModel(string name, string description, string address) :this(Guid.NewGuid(), name, description, address)
        { }
        public TransferDestinationWizardModel(Guid id, string name, string description, string address)
        {
        
            Id = id.ToString();
            Name = name;
            Description = description;
            AddressString = address;
        }

    }    
}
