diff --git a/Web/Controllers/CreateLogController.cs b/Web/Controllers/CreateLogController.cs index 49467d2..7230752 100644 --- a/Web/Controllers/CreateLogController.cs +++ b/Web/Controllers/CreateLogController.cs @@ -63,6 +63,7 @@ namespace MileageTraker.Web.Controllers throw new SecurityException(); viewModel.SetProperties(log); + log.Vehicle = DataService.GetVehicle(viewModel.VehicleId); if (viewModel.Purpose != null) log.Purpose = DataService.GetPurposeTypes() @@ -107,6 +108,7 @@ namespace MileageTraker.Web.Controllers // Save the new log var log = model.GetLog(); + log.Vehicle = DataService.GetVehicle(model.VehicleId); log.User = DataService.FindUserByUsername(User.Identity.Name); log.Source = HttpContext.Request.Url.AbsolutePath; log.UserHostAddress = HttpContext.Request.UserHostAddress; diff --git a/Web/Controllers/LogController.cs b/Web/Controllers/LogController.cs index fd77fdc..e123d37 100644 --- a/Web/Controllers/LogController.cs +++ b/Web/Controllers/LogController.cs @@ -148,6 +148,7 @@ namespace MileageTraker.Web.Controllers if (ModelState.IsValid) { var log = viewModel.GetLog(); + log.Vehicle = DataService.GetVehicle(viewModel.VehicleId); log.User = DataService.FindUserByFullName(viewModel.UserFullName); log.Source = HttpContext.Request.Url.AbsolutePath; log.UserHostAddress = HttpContext.Request.UserHostAddress; @@ -201,6 +202,7 @@ namespace MileageTraker.Web.Controllers var log = DataService.GetLog(viewModel.LogId); viewModel.SetProperties(log); log.User = DataService.FindUserByFullName(viewModel.UserFullName); + log.Vehicle = DataService.GetVehicle(viewModel.VehicleId); if (viewModel.Purpose != null) log.Purpose = diff --git a/Web/DAL/DataService.cs b/Web/DAL/DataService.cs index 01e4612..f329046 100644 --- a/Web/DAL/DataService.cs +++ b/Web/DAL/DataService.cs @@ -106,10 +106,11 @@ namespace MileageTraker.Web.DAL fuelLog.Log = null; } + var vehicle = log.Vehicle; // save reference to vehicle _db.Logs.Remove(log); _db.SaveChanges(); - UpdateCurrentOdometer(log.Vehicle); + UpdateCurrentOdometer(vehicle); } public IQueryable GetLogs() @@ -285,7 +286,7 @@ namespace MileageTraker.Web.DAL where dbLog.Date == log.Date && dbLog.EndOdometer == log.EndOdometer && - dbLog.Vehicle == log.Vehicle + dbLog.Vehicle.VehicleId == log.Vehicle.VehicleId select dbLog; } @@ -442,7 +443,7 @@ namespace MileageTraker.Web.DAL var mostRecentOdometerQuery = from log in _db.Logs where - log.Vehicle == vehicle + log.Vehicle.VehicleId == vehicle.VehicleId orderby log.Date descending, log.EndOdometer descending select log; var mostRecentOdometer = mostRecentOdometerQuery.FirstOrDefault(); diff --git a/Web/ViewModels/CreateLog/EditPastViewModel.cs b/Web/ViewModels/CreateLog/EditPastViewModel.cs index 006b0a3..13a26c1 100644 --- a/Web/ViewModels/CreateLog/EditPastViewModel.cs +++ b/Web/ViewModels/CreateLog/EditPastViewModel.cs @@ -81,6 +81,7 @@ namespace MileageTraker.Web.ViewModels.CreateLog Mapper.CreateMap() .ForMember(u => u.Purpose, opt => opt.Ignore()); Mapper.CreateMap() + .ForMember(dest => dest.VehicleId, opt => opt.MapFrom(src => src.Vehicle.VehicleId)) .ForMember(vm => vm.Date, opt => opt.MapFrom(m => m.Date.ToString("d"))) .ForMember(u => u.Purpose, opt => opt.Ignore()) .ForMember(vm => vm.GasPurchased, opt => opt.ResolveUsing(gasFormatter)); diff --git a/Web/ViewModels/FuelLog/LogMatchViewModel.cs b/Web/ViewModels/FuelLog/LogMatchViewModel.cs index 3d2472c..d45699a 100644 --- a/Web/ViewModels/FuelLog/LogMatchViewModel.cs +++ b/Web/ViewModels/FuelLog/LogMatchViewModel.cs @@ -51,7 +51,8 @@ namespace MileageTraker.Web.ViewModels.FuelLog static LogMatchViewModel() { - Mapper.CreateMap(); + Mapper.CreateMap() + .ForMember(dest => dest.VehicleId, opt => opt.MapFrom(src => src.Vehicle.VehicleId)); } public LogMatchViewModel(Models.Log log, Models.Vehicle vehicle, FuelLogViewModel fuelLog) diff --git a/Web/ViewModels/Log/LogIndexViewModel.cs b/Web/ViewModels/Log/LogIndexViewModel.cs index 92f96b5..c2eb193 100644 --- a/Web/ViewModels/Log/LogIndexViewModel.cs +++ b/Web/ViewModels/Log/LogIndexViewModel.cs @@ -46,7 +46,8 @@ namespace MileageTraker.Web.ViewModels.Log static LogIndexViewModel() { - Mapper.CreateMap(); + Mapper.CreateMap() + .ForMember(dest => dest.VehicleId, opt => opt.MapFrom(src => src.Vehicle.VehicleId)); } public LogIndexViewModel(Models.Log log, Models.Log previousLog) diff --git a/Web/ViewModels/Log/LogPartialDetails.cs b/Web/ViewModels/Log/LogPartialDetails.cs index 79c84d4..f936555 100644 --- a/Web/ViewModels/Log/LogPartialDetails.cs +++ b/Web/ViewModels/Log/LogPartialDetails.cs @@ -38,7 +38,8 @@ namespace MileageTraker.Web.ViewModels.Log static LogPartialDetails() { - Mapper.CreateMap(); + Mapper.CreateMap() + .ForMember(dest => dest.VehicleId, opt => opt.MapFrom(src => src.Vehicle.VehicleId)); } public LogPartialDetails() diff --git a/Web/ViewModels/Log/LogViewModel.cs b/Web/ViewModels/Log/LogViewModel.cs index eefdf32..7054df2 100644 --- a/Web/ViewModels/Log/LogViewModel.cs +++ b/Web/ViewModels/Log/LogViewModel.cs @@ -85,6 +85,7 @@ namespace MileageTraker.Web.ViewModels.Log Mapper.CreateMap() .ForMember(u => u.Purpose, opt => opt.Ignore()); Mapper.CreateMap() + .ForMember(dest => dest.VehicleId, opt => opt.MapFrom(src => src.Vehicle.VehicleId)) .ForMember(vm => vm.Date, opt => opt.MapFrom(m => m.Date.ToString("d"))) .ForMember(u => u.Purpose, opt => opt.Ignore()); }