using System;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using AutoMapper;
using MileageTraker.Web.Models;

namespace MileageTraker.Web.ViewModels.Log
{
	public class LogPartialDetails
	{
		[HiddenInput(DisplayValue = false)]
		public int LogId { get; set; }

		[Display(Name = "Vehicle ID")]
		public string VehicleId { get; set; }

		[Display(Name = "End Odometer")]
		public int EndOdometer { get; set; }

		[Display(Name = "Type")]
		public MileageLogTypeWrapper LogType { get; set; }

		public string CityName { get; set; }

		[Display(Name = "Driver")]
		public string UserFullName { get; set; }
		
		[Display(Name = "Purpose")]
		public string PurposePurpose { get; set; }

		public string Notes { get; set; }

		[DisplayFormat(DataFormatString = "{0:0.000}", ApplyFormatInEditMode = true)]
		public double GasPurchased { get; set; }

		[DisplayFormat(DataFormatString = @"{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
		public DateTime Date { get; set; }

		static LogPartialDetails()
		{
			Mapper.CreateMap<Models.Log, LogPartialDetails>();
		}

		public LogPartialDetails()
		{}

		public LogPartialDetails(Models.Log log)
		{
			Mapper.Map(log, this);
		}
	}
}