Пример #1
0
        /// <summary>
        /// Clone the event object
        /// </summary>
        /// <param name="inev"></param>
        /// <param name="asType"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static async Task <IEventInfo> Clone(IEventInfo inev, bool asType = false, EventType type = EventType.Info)
        {
            if (!asType)
            {
                type = inev.Type;
            }

            IEventInfo ev = null;

            switch (type)
            {
            case EventType.Info:
                ev = new InfoEvent(inev.Title, inev.Message);
                ev.Fill(inev);
                return(ev);

            case EventType.Error:
                ev = new ErrorEvent(inev.Title, inev.Message);
                ev.Fill(inev);
                return(ev);
            }
            return(null);
        }
Пример #2
0
        /// <summary>
        /// Get Event based on the type
        /// </summary>
        /// <param name="type"></param>
        /// <param name="title"></param>
        /// <param name="message"></param>
        /// <param name="address"></param>
        /// <param name="txid"></param>
        /// <param name="progress"></param>
        /// <returns></returns>
        public static async Task <IEventInfo> GetEvent(EventType type, string title, string message, string address = "", string txid = "", double progress = 0.0)
        {
            IEventInfo ev = null;

            switch (type)
            {
            case EventType.Info:
                ev          = new InfoEvent(title, message);
                ev.Address  = address;
                ev.Progress = progress;
                ev.TxId     = txid;
                return(ev);

            case EventType.Error:
                ev          = new ErrorEvent(title, message);
                ev.Address  = address;
                ev.Progress = progress;
                ev.TxId     = txid;
                return(ev);
            }

            return(null);
        }