Exemplo n.º 1
0
        /// <summary>
        /// Creates alert from modified data that user specified when creating alert.
        /// </summary>
        /// <param name="panel">Panel with filled controls.</param>
        /// <param name="edited">If alert is edited don't add it to list (already in it).</param>
        /// <returns></returns>
        public bool CreateAlert(AlertData alertData, Notification notification, MetroPanel panel, bool edited = false, AbstractAlert newAlert = null)
        {
            // Alert type is changed
            if (newAlert != null)
            {
                newAlert.AlertData     = alertData;
                newAlert._notification = notification;
                if (newAlert.Create(panel))
                {
                    Alerts[Alerts.IndexOf(this)] = newAlert;
                    newAlert.Subscribe(newAlert.CandlesLength.MinLength, newAlert.CandlesLength.MaxLength);
                    SaveAlertsAsync();
                    return(true);
                }
            }

            AlertData     = alertData;
            _notification = notification;
            if (Create(panel))
            {
                // initializing alert
                if (!edited)
                {
                    Alerts.Add(this);
                }
                Subscribe(CandlesLength.MinLength, CandlesLength.MaxLength);
                SaveAlertsAsync();
                return(true);
            }
            return(false);
        }
Exemplo n.º 2
0
        // creates alert data from line
        private void BaseFromLine(string data)
        {
            AlertData      = new AlertData(ref data);
            _notification  = new Notification(ref data);
            _lastTriggered = DateTime.Parse(Utility.GetSubstring(data, ';', 0));
            timeframe      = (Timeframe)int.Parse(Utility.GetSubstring(data, ';', 1));
            data           = Utility.GetSubstring(data, ';', 2, false);

            Init(data);
        }