public static bool ValidateDateInRange(AsSessionSummary obj) { if (obj.datCollectionDate.HasValue) { if (((AsSession)obj.Parent).datStartDate.HasValue && obj.datCollectionDate < ((AsSession)obj.Parent).datStartDate) { throw new ValidationModelException("AsSession.SummaryItem.datCollectionDate_msgId", "datCollectionDate", "datCollectionDate", new object[] { obj.datCollectionDate, ((AsSession)obj.Parent).datStartDate, ((AsSession)obj.Parent).datEndDate }, typeof(PredicateValidator), ValidationEventType.Error, obj); } if (((AsSession)obj.Parent).datEndDate.HasValue && obj.datCollectionDate > ((AsSession)obj.Parent).datEndDate) { throw new ValidationModelException("AsSession.SummaryItem.datCollectionDate_msgId", "datCollectionDate", "datCollectionDate", new object[] { obj.datCollectionDate, ((AsSession)obj.Parent).datStartDate, ((AsSession)obj.Parent).datEndDate }, typeof(PredicateValidator), ValidationEventType.Error, obj); } } return(true); }
private static bool NewSummaryItemIsValid(AsSession session, AsSessionSummary item) { //check dates if (item.datCollectionDate.HasValue) { if (session.datStartDate.HasValue && item.datCollectionDate < session.datStartDate) { throw new ValidationModelException("AsSession.SummaryItem.datCollectionDate_msgId", "datCollectionDate", "datCollectionDate", new object[] { item.datCollectionDate, session.datStartDate, session.datEndDate }, typeof(PredicateValidator), ValidationEventType.Error, session); } if (session.datEndDate.HasValue && item.datCollectionDate > session.datEndDate) { throw new ValidationModelException("AsSession.SummaryItem.datCollectionDate_msgId", "datCollectionDate", "datCollectionDate", new object[] { item.datCollectionDate, session.datStartDate, session.datEndDate }, typeof(PredicateValidator), ValidationEventType.Error, session); } } //check duplicates // bug 10689 //if (session.SummaryItems.Count(x => !x.IsMarkedToDelete && x.idfMonitoringSessionSummary != item.idfMonitoringSessionSummary && x.idfFarm == item.idfFarm && x.idfSpecies == item.idfSpecies && x.Diagnosis.Join(item.Diagnosis, a => a.idfsDiagnosis, b => b.idfsDiagnosis, (a, b) => a.idfsDiagnosis).Any()) > 0) // throw new ValidationModelException("AsSession.SummaryItem.Duplicate_msgId", "", "", new string[] { "Error" }, typeof(PredicateValidator), false); session.OnPropertyChanged(_str_SummaryItems); return(true); }