Ejemplo n.º 1
0
        /// <inheritdoc />
        protected override void Execute(Context context)
        {
            var dateTime = InputDateTime.Get(context);

            DateAsDT.Set(context, new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, 0, 0, 0));
            TimeAsDT.Set(context, new DateTime(1, 1, 1, dateTime.Hour, dateTime.Minute, dateTime.Second));
            Day.Set(context, dateTime.Day);
            Month.Set(context, dateTime.Month);
            Year.Set(context, dateTime.Year);
            YearAsString.Set(context, dateTime.Year.ToString());
            Hour.Set(context, dateTime.Hour);
            Minute.Set(context, dateTime.Minute);
            Second.Set(context, dateTime.Second);
            Kind.Set(context, dateTime.Kind.ToString());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Стандартный конструктор, выполняет инициализацию элементов управления.
        /// </summary>
        /// <param name="header">Заголовок псевдоокна.</param>
        public ConsoleDialogFileNote(string header) :
            base(header)
        {
            ContentHeight += 3;
            // Добавляем к обычному диалогу выбора файла
            // контролы для выбора даты и времени.
            Controls[0].Top   = ContentTop;
            InputHasDateRange = new InputList("Ограничить диапазон дат:",
                                              new List <string>()
            {
                "Нет", "Да"
            },
                                              ContentLeft, Controls[0].Bottom + 1, 3)
            {
                SelectedItem = 1
            };
            Controls.Add(InputHasDateRange);

            InputFrom = new InputDateTime("Начальная дата:",
                                          ContentLeft, InputHasDateRange.Bottom + 1);
            InputFrom.Hour.Value = 0; InputFrom.Minute.Value = 0;
            Controls.Add(InputFrom);
            Controls.Add(InputFrom.Day);
            Controls.Add(InputFrom.Month);
            Controls.Add(InputFrom.Year);
            Controls.Add(InputFrom.Hour);
            Controls.Add(InputFrom.Minute);

            InputTo = new InputDateTime("Конечная дата:",
                                        InputFrom.Right + 4, InputFrom.Top);
            InputTo.Hour.Value = 23; InputTo.Minute.Value = 59;
            Controls.Add(InputTo);
            Controls.Add(InputTo.Day);
            Controls.Add(InputTo.Month);
            Controls.Add(InputTo.Year);
            Controls.Add(InputTo.Hour);
            Controls.Add(InputTo.Minute);

            // Перетаскиваем кнопки в низ списка контролов.
            Controls[1].Top = Bottom - 2;
            Controls.Add(Controls[1]);
            Controls.RemoveAt(1);
        }
Ejemplo n.º 3
0
        protected override void Execute(CodeActivityContext context)
        {
            DateTime     input          = InputDateTime.Get(context);
            string       inTimezone     = InputOrFromTimeZoneId.ToString().Replace('_', ' ').Replace("DOT", ".").Replace("HYPHEN", "-");
            string       outTimezone    = OutputOrToTimeZoneId.ToString().Replace('_', ' ').Replace("DOT", ".").Replace("HYPHEN", "-");
            TimeZoneInfo InputTimezone  = TimeZoneInfo.FindSystemTimeZoneById(inTimezone);
            TimeZoneInfo OutputTimezone = TimeZoneInfo.FindSystemTimeZoneById(outTimezone);


            TimeSpan inputTimeSpan = InputTimezone.BaseUtcOffset;

            Console.WriteLine(inputTimeSpan.TotalHours);
            Console.WriteLine(input.Add(-inputTimeSpan).ToShortTimeString() + " UTC"); // To UTC
            DateTime utc = input.Add(-inputTimeSpan);

            TimeSpan outputTimeSpan = OutputTimezone.BaseUtcOffset;

            Console.WriteLine(outputTimeSpan.TotalHours);
            Console.WriteLine(utc.Add(outputTimeSpan).ToShortTimeString() + " " + outTimezone); //From UTC to OutputTimezone

            OutputDateTime.Set(context, (utc.Add(outputTimeSpan)));
        }
Ejemplo n.º 4
0
        private ConsoleNoteWindow(string header, Memo memo)
            : base(header, new Button[] { Button.OK, Button.Cancel })
        {
            Memo = memo;
            // Фиксированный размер окна
            this.ContentWidth  = 50;
            this.ContentHeight = 5 + textHeight + 3;

            inputHeader = new InputControl("Тема:",
                                           ContentLeft, ContentTop, ContentWidth)
            {
                Value = Memo.Header
            };
            Controls.Add(inputHeader);

            inputDeadline = new InputDateTime("Выполнить до:",
                                              ContentLeft, inputHeader.Bottom + 1)
            {
                Value = Memo.Deadline
            };
            Controls.Add(inputDeadline);
            Controls.Add(inputDeadline.Day);
            Controls.Add(inputDeadline.Month);
            Controls.Add(inputDeadline.Year);
            Controls.Add(inputDeadline.Hour);
            Controls.Add(inputDeadline.Minute);

            inputText = new InputTextArea("Описание:",
                                          ContentLeft, inputDeadline.Bottom + 1, ContentWidth, textHeight)
            {
                Value = Memo.Text
            };
            Controls.Add(inputText);

            inputPriority = new InputList("Важность:",
                                          EnumExtenders.GetDescriptions <Priority>(),
                                          ContentLeft, inputText.Bottom + 1,
                                          2 + EnumExtenders.GetDescriptions <Priority>().Select(s => s.Length).Max()
                                          )
            {
                SelectedItem = (int)Memo.Priority
            };
            Controls.Add(inputPriority);

            inputPhase = new InputList("Этап:",
                                       EnumExtenders.GetDescriptions <Phase>(),
                                       ContentLeft + 15, inputPriority.Top,
                                       2 + EnumExtenders.GetDescriptions <Phase>().Select(s => s.Length).Max()
                                       )
            {
                SelectedItem = (int)Memo.Phase
            };
            Controls.Add(inputPhase);

            inputColor = new InputColor("Цвет:",
                                        ContentLeft + 30, inputPriority.Top,
                                        4 + EnumExtenders.GetDescriptions <ConsoleColor>().Select(s => s.Length).Max()
                                        )
            {
                Color = ConsoleHelper.RgbToCosoleColor(Memo.Color)
            };
            Controls.Add(inputColor);
            FitButtons();
        }