Files
MileageTraker/Web/ViewModels/CreateLog/ConfirmCreateLogViewModel.cs
T

55 lines
1.7 KiB
C#

using System;
using AutoMapper;
using MileageTraker.Web.DAL;
using MileageTraker.Web.Utility;
namespace MileageTraker.Web.ViewModels.CreateLog
{
public class ConfirmCreateLogViewModel : CreateLogViewModel
{
public string VehicleType { get; set; }
public string VehicleColor { get; set; }
public string VehicleTagNumber { get; set; }
public string DateHowLongAgo { get; set; }
public int? PreviousOdometer { get; set; }
public DateTime? PreviousDate { get; set; }
public int? Miles { get; set; }
static ConfirmCreateLogViewModel()
{
Mapper.CreateMap<CreateLogViewModel, ConfirmCreateLogViewModel>()
.ForMember(c => c.CityName, opt => opt.ResolveUsing(vm => vm.CityName.ToTitleCase()));
}
public ConfirmCreateLogViewModel(CreateLogViewModel createLogViewModel)
{
Mapper.Map(createLogViewModel, this);
DateHowLongAgo = (DateTime.Today - Date).ToVerboseStringHistoric();
using (var dataService = new DataService())
{
var endOdometer = int.Parse(createLogViewModel.EndOdometer);
var date = createLogViewModel.Date;
var previousLog = dataService.SearchPreviousLog(endOdometer, createLogViewModel.VehicleId, date, DateTime.Now);
if (previousLog != null)
{
PreviousOdometer = previousLog.EndOdometer;
PreviousDate = previousLog.Date;
Miles = endOdometer - previousLog.EndOdometer;
}
var matchingCity = dataService.GetCitiesCorrected(CityName);
if (!string.IsNullOrEmpty(matchingCity))
CityName = matchingCity;
var vehicle = dataService.GetVehicle(VehicleId);
VehicleColor = vehicle.Color;
VehicleType = vehicle.Type;
VehicleTagNumber = vehicle.TagNumber;
}
}
}
}