Editing Purpose from LogController works

This commit is contained in:
2013-03-05 13:22:00 -05:00
parent 76cb768fa9
commit 47a60965fe
6 changed files with 56 additions and 19 deletions
+15 -4
View File
@@ -42,13 +42,19 @@ namespace MileageTraker.Web.ViewModels.Log
[Display(Name = "Driver Name")]
[InputSize("medium")]
public string UserFullName { get; set; }
[Required(ErrorMessage = "Required")]
[Display(Name = "City Name")]
[InputSize("medium")]
[StringLength(64, MinimumLength = 3, ErrorMessage = "Minimum 3 characters")]
public string CityName { get; set; }
[Display(Name = "Purpose")]
public SelectListViewModel Purpose { get; set; }
[InputSize("large")]
public string Notes { get; set; }
[Display(Name = "Gas Purchased")]
[DisplayFormat(DataFormatString = "{0:0.000}", ApplyFormatInEditMode = true)]
[Units("Gallons")]
@@ -74,20 +80,25 @@ namespace MileageTraker.Web.ViewModels.Log
Mapper.CreateMap<string, int>().ConvertUsing(Convert.ToInt32);
Mapper.CreateMap<string, double>().ConvertUsing(Convert.ToDouble);
Mapper.CreateMap<string, DateTime>().ConvertUsing(new DateTimeTypeConverter());
Mapper.CreateMap<LogViewModel, Models.Log>();
Mapper.CreateMap<LogViewModel, Models.Log>()
.ForMember(u => u.Purpose, opt => opt.Ignore());
Mapper.CreateMap<Models.Log, LogViewModel>()
.ForMember(vm => vm.Date, opt => opt.MapFrom(m => m.Date.ToString("d")));
.ForMember(vm => vm.Date, opt => opt.MapFrom(m => m.Date.ToString("d")))
.ForMember(u => u.Purpose, opt => opt.Ignore());
}
public LogViewModel()
{
// view will crash if this isn't instantiated
LogType = new MileageLogTypeWrapper();
Purpose = new SelectListViewModel();
}
public LogViewModel(Models.Log log)
public LogViewModel(Models.Log log) : this()
{
Mapper.Map(log, this);
if (log.Purpose != null)
Purpose.Selected = log.Purpose.PurposeTypeId;
}
public Models.Log GetLog()