public bool Save()
{
UpdateErrors();
if (ValidationManager.IsValid)
{
try
{
OnSaving();
DataContext.SubmitChanges();
OnSaved();
foreach (var i in Items.OfType<DataObjectViewModel>().ToList())
{
if (i.Object == null || i.Object.ObjectState == DataObjectState.Deleted)
{
Items.Remove(i);
}
}
return true;
}
catch (Exception ex)
{
if (_exceptionHandler.Show(DataContext, ex))
{
return false;
}
else
{
throw;
}
}
}
else
{
ShowVerificationResults();
}
return false;
}