Files
MileageTraker/Web/ViewModels/ServiceReminder/ServiceReminderViewModel.cs
T

51 lines
1.4 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using AutoMapper;
using MileageTraker.Web.Attributes;
namespace MileageTraker.Web.ViewModels.ServiceReminder
{
public class ServiceReminderViewModel
{
[HiddenInput(DisplayValue = false)]
public int? ServiceReminderId { get; set; }
[HiddenInput(DisplayValue = false)]
[Required]
[Remote("Exists", "Vehicle", ErrorMessage = "ID not found")]
[StringLength(6, MinimumLength = 4, ErrorMessage = "Must be at least a 4 digit number")]
[Display(Name = "Vehicle ID")]
[RegularExpression(@"\d+", ErrorMessage = "Vehicle ID must be all numbers")]
[InputSize("mini")]
public string VehicleId { get; set; }
[InputSize("small")]
public int TargetOdometer { get; set; }
[StringLength(64)]
public string Description { get; set; }
static ServiceReminderViewModel()
{
Mapper.CreateMap<ServiceReminderViewModel, Models.ServiceReminder>();
Mapper.CreateMap<Models.ServiceReminder, ServiceReminderViewModel>()
.ForMember(dest => dest.VehicleId, opt => opt.MapFrom(src => src.Vehicle.VehicleId));
}
public ServiceReminderViewModel(Models.ServiceReminder serviceReminder)
{
Mapper.Map(serviceReminder, this);
}
public ServiceReminderViewModel()
{
}
public Models.ServiceReminder GetServiceReminder()
{
var serviceReminder = new Models.ServiceReminder();
Mapper.Map(this, serviceReminder);
return serviceReminder;
}
}
}