/// <summary> /// Возвращает значение, показывающее является ли значение элемента управления допустимым /// </summary> /// <returns></returns> private bool ValidateData(out string message) { message = ""; if (dateTimePicker1.Value > DateTime.Now) { if (message != "") { message += "\n "; } message += "Performance date must be less than current date."; return(false); } Lifelength parentLifeLenght = GlobalObjects.CasEnvironment.Calculator.GetFlightLifelengthOnStartOfDay(_currentDirective.LifeLengthParent, dateTimePicker1.Value); //наработка родителя на след. день после введения записи Lifelength lifelengthTomorrow = GlobalObjects.CasEnvironment.Calculator.GetFlightLifelengthOnEndOfDay(_currentDirective.LifeLengthParent, dateTimePicker1.Value.AddDays(1)); if (lifelengthViewer_LastCompliance.Lifelength.Days == null) { lifelengthViewer_LastCompliance.Lifelength.Days = parentLifeLenght.Days; } Lifelength perfLifeLength = lifelengthViewer_LastCompliance.Lifelength; if (perfLifeLength.IsLessByAnyParameter(parentLifeLenght)) { //вводимая наработка на дату выполнения меньше, чем расчитанная калькулятором if (message != "") { message += "\n "; } message += $"Performance source on date: {dateTimePicker1.Value} \nmust be grather than {parentLifeLenght.ToHoursAndCyclesFormat()}"; return(false); } //if (perfLifeLength.IsGreaterByAnyParameter(lifelengthTomorrow)) //{ // //вводимая наработка на дату выполнения больше, // //чем расчитанная калькулятором на след. день // int lifelengthHours = Convert.ToInt32(parentLifeLenght.Hours); // int lifelengthCycles = Convert.ToInt32(parentLifeLenght.Cycles); // int lifelengthTomHours = Convert.ToInt32(lifelengthTomorrow.Hours); // int lifelengthTomCycles = Convert.ToInt32(lifelengthTomorrow.Cycles); // if (lifelengthHours < lifelengthTomHours || lifelengthCycles < lifelengthTomCycles) // { // //при этом наработка на след. день после вводимой даты // //больше наработки на вводимую дату // //выдача сообщения о некорректности данных // if (message != "") message += "\n "; // message += // string.Format("Performance source on date: {0} \nmust be less than {1}", // dateTimePicker1.Value, // lifelengthTomorrow.ToHoursAndCyclesFormat()); // return false; // } //if (lifelengthHours == lifelengthTomHours || lifelengthCycles == lifelengthTomCycles) //{ // //наработка на след. день после вводимой даты // //равна наработке на вводимую дату // //выдача сообщения о возможности введения актуального состояния // if (message != "") message += "\n "; // message += string.Format(@"Lifelength {0} for {1} is defferent" + // "\nlifelength {2} for {3}." + // "\nRegister actual state? (date:{4} lifelength:{0})", // perfLifeLength, // _currentDirective, // parentLifeLenght, // _currentDirective.LifeLengthParent, // dateTimePicker1.Value); // if (MessageBox.Show(message, // (string)new GlobalTermsProvider()["SystemName"], // MessageBoxButtons.YesNo, // MessageBoxIcon.Exclamation, // MessageBoxDefaultButton.Button2) == DialogResult.Yes) // { // _needActualState = true; // } //} //} 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); }
/// <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); }