コード例 #1
0
        /// <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);
        }
コード例 #2
0
ファイル: ActualStateDialog.cs プロジェクト: mkbiltek2019/Cas
        /// <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);
        }