Files
MileageTraker/Web/ViewModels/FuelLog/FuelLogViewModel.cs
T
2015-09-19 23:36:21 -04:00

68 lines
1.5 KiB
C#

using System;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using AutoMapper;
namespace MileageTraker.Web.ViewModels.FuelLog
{
public class FuelLogViewModel
{
[HiddenInput(DisplayValue = false)]
public int FuelLogId { get; set; }
[Required]
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
public DateTime Date { get; set; }
[Required]
[StringLength(128)]
[Display(Name = "Driver Name")]
public string DriverFullName { get; set; }
[Required]
[Display(Name = "Tag#")]
public string TagNumber { get; set; }
[Required]
public int Odometer { get; set; }
[StringLength(64)]
[Display(Name = "City Name")]
public string CityName { get; set; }
[Display(Name = "MPG")]
public double MPG { get; set; }
[Required]
[Display(Name = "Gas Purchased")]
public double GasPurchased { get; set; }
[Required]
[Display(Name = "Total Price")]
public decimal TotalPrice { get; set; }
// Matched log
[HiddenInput(DisplayValue = false)]
public int? LogId { get; set; }
static FuelLogViewModel()
{
Mapper.CreateMap<FuelLogViewModel, Models.FuelLog>();
Mapper.CreateMap<Models.FuelLog, FuelLogViewModel>()
.ForMember(dest => dest.LogId,
opt => opt.ResolveUsing(
fl => fl.Log != null ? (int?)fl.Log.LogId : null
));
}
public FuelLogViewModel(Models.FuelLog fuelLog)
{
Mapper.Map(fuelLog, this);
}
public FuelLogViewModel()
{
}
}
}