Looks like this will do the job:
private void unitDataGridEditEnding(object sender, DataGridRowEditEndingEventArgs e)
{
CUnitMasterBase workingRow = (CUnitMasterBase)e.Row.Item;
CSharedVariables.m_FromToIssuesFlag dateIssues = CSharedVariables.m_FromToIssuesFlag.NONE;
IEnumerable<CDates> unitDates = new List<CDates>(this.ViewModel.Units
.Where(i => i.p_Unit_ID == workingRow.p_Unit_ID)
.Select(d => new CDates ( d.p_Valid_From, d.p_Valid_To )));
if (unitDates.Count() <= 1)
{
return;
}
dateIssues = sharedFunctions.Verify_Dates(unitDates, workingRow.p_Valid_From, workingRow.p_Valid_To);
if (dateIssues != CSharedVariables.m_FromToIssuesFlag.NONE)
{
unitDataGrid.CancelEdit();
}
}