示例#1
0
        /// <summary>
        /// Remove a listenner from the notification list
        /// </summary>
        /// <param name="listener">The listenner to be removed</param>
        public static void RemoveTimelineListenner(ITimelineUpdateEventListener listener)
        {
            TimelineManager timeline = TimelineManager.Instance;

            if (!timeline._listeners.Contains(listener))
            {
                timeline._listeners.Remove(listener);
            }
        }
示例#2
0
        /// <summary>
        /// Execute the TimelineUpdate for each listenner
        /// </summary>
        public static void Update()
        {
            TimelineManager timeline = TimelineManager.Instance;

            foreach (ITimelineUpdateEventListener listener in timeline._listeners)
            {
                listener.TimelineUpdate();
            }
        }
示例#3
0
 /// <summary>
 /// Add a frame to the list
 /// </summary>
 /// <param name="frame"></param>
 public static Boolean AddFrame(Frame frame)
 {
     if (!TimelineManager.FrameExists(frame))
     {
         TimelineManager.Instance.Add(frame);
         return(true);
     }
     return(false);
 }
示例#4
0
        /// <summary>
        /// Verify if a frame of a specific account type, with the specified ID exists
        /// </summary>
        /// <param name="accountType">String with the account type</param>
        /// <param name="frameId">integer with the frame identifier to look for</param>
        /// <returns>Boolean true if such frame exists, false otherwise</returns>
        public static Boolean ContainsFrame(String accountType, int frameId)
        {
            TimelineManager timeline = TimelineManager.Instance;

            foreach (Frame frame in timeline.Items)
            {
                if (frame.ID == frameId && frame.FrameAccount.Type.Equals(accountType))
                {
                    return(true);
                }
            }
            return(false);
        }
示例#5
0
        /// <summary>
        /// Check is a frame exists in the list
        /// </summary>
        /// <param name="frame"></param>
        public static Boolean FrameExists(Frame frame)
        {
            TimelineManager timeline = TimelineManager.Instance;

            foreach (Frame frm in timeline.Items)
            {
                if (frame.ID == frm.ID && frame.Date == frm.Date && frame.FrameAccount.ID == frm.FrameAccount.ID && frame.Description == frm.Description && frame.Title == frm.Title)
                {
                    return(true);
                }
            }
            return(false);
        }
示例#6
0
        public void UserAccountDeleted(Account account)
        {
            TimelineManager timeline = TimelineManager.Instance;

            foreach (Frame frame in timeline.Items)
            {
                if (frame.FrameAccount.ID == account.ID)
                {
                    TimelineManager.Instance.Remove(frame);
                }
            }

            TimelineManager.RemoveCachedFramesFromDBFromAccount(account.ID);
            StatusManager.RemoveStatus(new Status(account.ID, "Account deleted"));
            TimelineManager.Update();
        }
示例#7
0
        /// <summary>
        /// Constructor
        /// </summary>
        private TimelineManager()
        {
            this._listeners = new ArrayList();

            // update timer
            this._timer          = new DispatcherTimer();
            this._timer.Interval = TimeSpan.FromSeconds(5 * 60);
            this._timer.Tick    += new EventHandler(delegate(object s, EventArgs a) {
                TimelineManager.Update();
            });
            this._timer.Start();

            ConfigurationManager.AddAuthenticationListenner(this);
            ConfigurationManager.AddUserAccountsListenner(this);
            ConfigurationManager.AddUsersListenner(this);
        }
示例#8
0
 public void UserAccountCreated(Account account)
 {
     TimelineManager.Update();
 }
示例#9
0
 public void UserLoggedIn(User user)
 {
     TimelineManager.Update();
 }
示例#10
0
 /// <summary>
 /// Register an event on the database
 /// </summary>
 /// <param name="account"></param>
 public static void RegisterEvent(Account account)
 {
     TimelineManager.RegisterEvent(account, TimelineManager.UPDATEEVENT);
 }
示例#11
0
 /// <summary>
 /// Adds a frame to the timeline
 /// </summary>
 /// <param name="frame">Frame instance to add</param>
 public virtual Boolean AddFrame(Frame frame)
 {
     return(TimelineManager.AddFrame(frame));
 }
示例#12
0
 /// <summary>
 /// Instanciates a new TimelineListener and add it as a timeline listener
 /// </summary>
 public TimelineListener()
 {
     TimelineManager.AddTimelineListenner(this);
 }