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; }
[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")]
public DateTime? InactiveDate { get; set; }
+1 -1
View File
@@ -1,7 +1,7 @@
$(function () {
$('.enable-javascript').show();
$("input#Date").datepicker({ maxDate: '+0d' });
$("input#Date, input#InactiveDate").datepicker({ maxDate: '+0d' });
$("input#CityName").autocomplete({
source: "/City/Autocomplete",
+18 -10
View File
@@ -95,21 +95,29 @@ namespace MileageTraker.Web.ViewModels.CreateLog
if (LogType.Value == 0)
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);
}
catch (Exception ex)
{
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" });
}
}
catch (Exception ex)
{
result = new ValidationResult(ex.Message, new [] {"EndOdometer"});
}
if (result != null)
yield return result;
}
public override string ToString()
+18 -13
View File
@@ -124,27 +124,32 @@ namespace MileageTraker.Web.ViewModels.Log
if (LogType.Value == 0)
yield return new ValidationResult("Required", new[] { "LogType" });
ValidationResult chronologyResult = null;
try
using (var dataService = new DataService())
{
using (var dataService = new DataService())
ValidationResult chronologyResult = null;
try
{
dataService.ValidateOdometerChronology(VehicleId, int.Parse(EndOdometer), Date);
}
}
catch (Exception ex)
{
chronologyResult = new ValidationResult(ex.Message, new [] {"EndOdometer"});
}
if (chronologyResult != null)
yield return chronologyResult;
catch (Exception ex)
{
chronologyResult = new ValidationResult(ex.Message, new[] {"EndOdometer"});
}
if (chronologyResult != null)
yield return chronologyResult;
using (var dataService = new DataService())
{
var user = dataService.FindUserByFullName(UserFullName);
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" });
}
}
}