Exemplo n.º 1
0
        public EditScheduledScanForm()
        {
            InitializeComponent();

            var addPeriodTooltip = new ToolTip();

            addPeriodTooltip.SetToolTip(btnAddPeriod, "Додати період");

            var deletePeriodTooltip = new ToolTip();

            deletePeriodTooltip.SetToolTip(btnDeletePeriod, "Видалити період");

            Load += (sender, args) =>
            {
                if (!IsEdit)
                {
                    Scan = new ScheduledScan();
                    Text = TITLE_CREATE;
                    Icon = Resources.Add;
                }
                else
                {
                    Text          = TITLE_EDIT;
                    txtTitle.Text = Scan.Title;
                    UpdatePeriods();
                }
            };
        }
        /// <summary>
        /// Возвращает полную информацию о периодическом опросе
        /// </summary>
        public static string Info(this ScheduledScan scan)
        {
            string periods = scan.Periods.FirstOrDefault()?.Period.ToString(@"hh\:mm") + "\n";

            scan.Periods.Skip(1).ToList().ForEach(p =>
            {
                periods = periods + $"\t\t{p.Period.ToString(@"hh\:mm")}\n";
            });

            return($"Id:\t\t{scan.Id}\n" +
                   $"Назва:\t\t{scan.Title}\n" +
                   $"Періоди:\t{periods}" +
                   $"Створено:\t{scan.DateCreated.ToString("dd.MM.yyyy HH:mm")}\n" +
                   $"Змінено:\t{scan.DateModified.ToString("dd.MM.yyyy HH:mm")}");
        }
        /// <summary>
        /// Возвращает текст для элемента дерева опросов
        /// </summary>
        public static string NodeTitle(this ScanBase scan)
        {
            PeriodicScan periodic = scan as PeriodicScan;

            if (periodic != null)
            {
                string type = periodic.PeriodType ? "год." : "хв.";
                return($"{periodic.Title} ({periodic.Period} {type})");
            }

            ScheduledScan scheduled = scan as ScheduledScan;

            if (scheduled != null)
            {
                string period = scheduled.Periods.Any()
                    ? $"({scheduled.Periods.FirstOrDefault()?.Period.ToString(@"hh\:mm")})"
                    : "";
                return($"{scheduled.Title} {period}");
            }

            return(string.Empty);
        }