using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;

namespace DiplomovaPrace.Contracts.Addresses
{
	[DataContract]
	public class AddressDto
	{
		[DataMember(Order = 1)]
		public int ID { get; set; }

		[DataMember(Order = 2)]
		[Required(ErrorMessage = "Jméno je vyžadováno!")]
		public string FirstName { get; set; }

		[DataMember(Order = 3)]
		[Required(ErrorMessage = "Příjmení je vyžadováno!")]
		public string LastName { get; set; }

		[DataMember(Order = 4)]
		[Required(ErrorMessage = "Telefonní číslo je vyžadováno!")]
		[DataType(DataType.PhoneNumber, ErrorMessage = "Nevalidní formát telefonního čísla!")]
		public string PhoneNumber { get; set; }

		[DataMember(Order = 5)]
		[Required(ErrorMessage = "Město je vyžadováno!")]
		public string City { get; set; }

		[DataMember(Order = 6)]
		[Required(ErrorMessage = "Ulice je vyžadována!")]
		public string Street { get; set; }

		[DataMember(Order = 7)]
		[Required(ErrorMessage = "PSČ je vyžadováno!")]
		public string ZipCode { get; set; }

		[DataMember(Order = 8)]
		[Required(ErrorMessage = "Země je vyžadována!")]
		public string State { get; set; }

		[DataMember(Order = 9)]
		public int AddressTypeID { get; set; }

		[DataMember(Order = 10)]
		public string UserEmail { get; set; }
	}
}
