/// <summary> /// Возвращает значение, показывающее является ли значение элемента управления допустимым /// </summary> /// <returns></returns> private bool ValidateData(out string message) { message = ""; if (dateTimePicker1.Value.Date > DateTime.Now.Date) { if (message != "") { message += "\n "; } message += "Performance date must be less than current date."; return(false); } if (dateTimePicker1.Value.Date < _currentComponent.ManufactureDate.Date) { if (message != "") { message += "\n "; } message += "Performance date must be grather than manufacture date."; return(false); } Lifelength perfLifeLength = lifelengthViewer_LastCompliance.Lifelength; if (_currentActualStateRecord.ItemId <= 0) { IWorkRegime workRegime = comboBoxFlightRegime.SelectedItem as IWorkRegime ?? FlightRegime.UNK; ActualStateRecord acr = _currentComponent.ActualStateRecords[dateTimePicker1.Value, workRegime]; if (acr != null) { //Актуальное состояние на заданную дату есть message = $"On a given date {SmartCore.Auxiliary.Convert.GetDateFormat(dateTimePicker1.Value)} have a saved record"; return(false); } acr = _currentComponent.ActualStateRecords.GetLastKnownRecord(dateTimePicker1.Value, workRegime); if (acr != null && perfLifeLength.IsLessByAnyParameter(acr.OnLifelength)) { message = "Performance source must be grather than " + acr.OnLifelength; return(false); } acr = _currentComponent.ActualStateRecords.GetFirstKnownRecord(dateTimePicker1.Value, workRegime); if (acr != null && perfLifeLength.IsGreaterByAnyParameter(acr.OnLifelength)) { message = "Performance source must be less than " + acr.OnLifelength; return(false); } } if (_prevPerfLifelength != null && perfLifeLength.IsLessByAnyParameter(_prevPerfLifelength)) { if (message != "") { message += "\n "; } message += "Performance source must be grather than " + _prevPerfLifelength; return(false); } if (_nextPerfLifelength != null && perfLifeLength.IsGreaterByAnyParameter(_nextPerfLifelength)) { if (message != "") { message += "\n "; } message += "Performance source must be less than " + _nextPerfLifelength; return(false); } return(true); }