60 lines
2.0 KiB
C#
60 lines
2.0 KiB
C#
using System.Collections.Generic;
|
|
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; }
|
|
|
|
[HiddenInput(DisplayValue = false)]
|
|
[Display(Name = "Vehicle Service")]
|
|
[UIHint("VehicleServiceLink")]
|
|
public int CompletedService_VehicleServiceId { 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;
|
|
}
|
|
}
|
|
} |