示例#1
0
        private bool TryCreateOption(out ShutdownOption option)
        {
            option = default;
            if (!TimeValue.HasValue)
            {
                return(false);
            }

            if (SelectActionUnit == null)
            {
                return(false);
            }

            if (SelectTimeUnit == null)
            {
                return(false);
            }

            var message = MessageModule.createNone();

            if (Msg != null)
            {
                var result = MessageModule.createMsg(Msg);
                if (result.IsError)
                {
                    return(false);
                }

                message = result.ResultValue;
            }

            var time = SelectTimeUnit.AsTimeSpan(TimeValue.Value);

            option = new ShutdownOption(
                SelectActionUnit.Action,
                TimeInSecond.NewTime(time),
                IsForceCloseWithoutSave ? CloseType.CloseWindowsWithoutSave : CloseType.SoftWindowsClose,
                message
                );

            return(true);
        }