Files

64 lines
2.1 KiB
C#

using System;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using AutoMapper;
using MileageTraker.Web.Attributes;
namespace MileageTraker.Web.ViewModels.VehicleRecall
{
public class VehicleRecallViewModel
{
[HiddenInput(DisplayValue = false)]
public int? VehicleRecallId { get; set; }
[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; }
[Required]
[Display(Name = "Recall Identifier")]
[StringLength(128, MinimumLength = 3)]
[InputSize("small")]
public string Identifier { get; set; }
[Required]
[StringLength(128, MinimumLength = 3, ErrorMessage = "Minimum 3 characters")]
public string Description { get; set; }
[ScaffoldColumn(false)]
[Display(Name = "Vehicle Service")]
[UIHint("VehicleServiceLink")]
public int CompletedService_VehicleServiceId { get; set; }
[ScaffoldColumn(false)]
[Display(Name = "Completed Date")]
public DateTime CompletedService_InvoiceDate { get; set; }
static VehicleRecallViewModel()
{
Mapper.CreateMap<VehicleRecallViewModel, Models.VehicleRecall>();
Mapper.CreateMap<Models.VehicleRecall, VehicleRecallViewModel>()
.ForMember(dest => dest.VehicleId, opt => opt.MapFrom(src => src.Vehicle.VehicleId));
}
public VehicleRecallViewModel(Models.VehicleRecall vehicleRecall)
{
Mapper.Map(vehicleRecall, this);
}
public VehicleRecallViewModel()
{
}
public Models.VehicleRecall GetVehicleRecall()
{
var vehicleRecall = new Models.VehicleRecall();
Mapper.Map(this, vehicleRecall);
return vehicleRecall;
}
}
}