Validate new logs are not being entered after vehicle is inactive.

This commit is contained in:
2015-06-18 11:42:22 -04:00
parent 5d70617194
commit 11c3b2c56b
4 changed files with 39 additions and 25 deletions
+2 -1
View File
@@ -59,7 +59,8 @@ namespace MileageTraker.Web.Models
public string PurDate { get; set; } public string PurDate { get; set; }
[DataType(DataType.DateTime)] [DataType(DataType.DateTime)]
[DisplayFormat(NullDisplayText = "Currently Active", DataFormatString = @"{0:MM/dd/yyyy}")] [DisplayFormat(NullDisplayText = "Currently Active", DataFormatString = @"{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
[InputSize("small")]
[FormatHint("mm/dd/yyyy")] [FormatHint("mm/dd/yyyy")]
public DateTime? InactiveDate { get; set; } public DateTime? InactiveDate { get; set; }
+1 -1
View File
@@ -1,7 +1,7 @@
$(function () { $(function () {
$('.enable-javascript').show(); $('.enable-javascript').show();
$("input#Date").datepicker({ maxDate: '+0d' }); $("input#Date, input#InactiveDate").datepicker({ maxDate: '+0d' });
$("input#CityName").autocomplete({ $("input#CityName").autocomplete({
source: "/City/Autocomplete", source: "/City/Autocomplete",
+15 -7
View File
@@ -96,20 +96,28 @@ namespace MileageTraker.Web.ViewModels.CreateLog
if (LogType.Value == 0) if (LogType.Value == 0)
yield return new ValidationResult("Required", new[] { "LogType" }); yield return new ValidationResult("Required", new[] { "LogType" });
ValidationResult result = null;
try
{
using (var dataService = new DataService()) using (var dataService = new DataService())
{
ValidationResult odometerResult = null;
try
{ {
dataService.ValidateOdometerChronology(VehicleId, int.Parse(EndOdometer), Date); dataService.ValidateOdometerChronology(VehicleId, int.Parse(EndOdometer), Date);
} }
}
catch (Exception ex) catch (Exception ex)
{ {
result = new ValidationResult(ex.Message, new [] {"EndOdometer"}); odometerResult = new ValidationResult(ex.Message, new [] {"EndOdometer"});
}
if (odometerResult != null)
yield return odometerResult;
var inactiveDate = dataService.GetVehicle(VehicleId).InactiveDate;
if (inactiveDate.HasValue && Date.Date > inactiveDate)
{
yield return new ValidationResult(
string.Format("Vehicle was set inactive on {0:MM/dd/yyyy}", inactiveDate.Value),
new[] { "Date" });
}
} }
if (result != null)
yield return result;
} }
public override string ToString() public override string ToString()
+10 -5
View File
@@ -124,14 +124,13 @@ namespace MileageTraker.Web.ViewModels.Log
if (LogType.Value == 0) if (LogType.Value == 0)
yield return new ValidationResult("Required", new[] { "LogType" }); yield return new ValidationResult("Required", new[] { "LogType" });
using (var dataService = new DataService())
{
ValidationResult chronologyResult = null; ValidationResult chronologyResult = null;
try try
{
using (var dataService = new DataService())
{ {
dataService.ValidateOdometerChronology(VehicleId, int.Parse(EndOdometer), Date); dataService.ValidateOdometerChronology(VehicleId, int.Parse(EndOdometer), Date);
} }
}
catch (Exception ex) catch (Exception ex)
{ {
chronologyResult = new ValidationResult(ex.Message, new[] {"EndOdometer"}); chronologyResult = new ValidationResult(ex.Message, new[] {"EndOdometer"});
@@ -139,13 +138,19 @@ namespace MileageTraker.Web.ViewModels.Log
if (chronologyResult != null) if (chronologyResult != null)
yield return chronologyResult; yield return chronologyResult;
using (var dataService = new DataService())
{
var user = dataService.FindUserByFullName(UserFullName); var user = dataService.FindUserByFullName(UserFullName);
if (user == null) if (user == null)
{ {
yield return new ValidationResult("User with this name doesn't exist", new[] {"UserFullName"}); yield return new ValidationResult("User with this name doesn't exist", new[] {"UserFullName"});
} }
var inactiveDate = dataService.GetVehicle(VehicleId).InactiveDate;
if (inactiveDate.HasValue && Date.Date > inactiveDate)
{
yield return new ValidationResult(
string.Format("Vehicle was set inactive on {0:MM/dd/yyyy}", inactiveDate.Value),
new[] { "Date" });
}
} }
} }