private void us_ProjectStatusChanged(object sender, EventArgs e) { UserStory us = sender as UserStory; if (us != null) { if (us.BacklogStatus == ItemBacklogStatus.SPRINT_BACKLOG) { this.EffortSum += us.Effort; } else { RecalcEffortSum(); } } }
/// <summary> /// Wenn eine neue UserStory erstellt wurde, wird diese automatisch /// mit dem Netzwerk geteilt. Mit diesem Programm können bisher <u>keine</u> /// neuen UserStories erstellt werden, daher wird es an dieser Stelle auch /// nicht betrachtet. /// Client: Item Teilen - Schritt 1 / 3 /// Server: Item Teilen - Schritt 1 / 2 /// </summary> /// <param name="sender"></param> /// <param name="e">Die neue UserStory</param> private void Surface_StoryCreated(object sender, ScrumTouchkit.Data.UserStory e) { if (IsConnected) { if (Connection.IsServer) { //Wenn der lokale Client ein Server ist, muss nicht erst der neue Server //kontaktiert werden, um an eine UserStoryID zu gelangen. e.ItemID = UserStory.NextUserStoryID++; ShareItemFinally(e); } else { WaitingForID.Enqueue(e); SMCPMessage msg = Connection.CreateMessage(null, false, SMCPAction.REQUEST_ITEM_ID); (Connection as ScrumMeetingClient).SendMessage(msg); } } }
/// <summary> /// Aktualisert die Daten dieser User Story und setzt sie /// auf die Werte der übergebenen User Story /// </summary> /// <param name="data">Die neuen Daten (muss eine User Story sein, sonst passiert nichts!</param> /// <param name="db"></param> public override void UpdateData(ItemBase data, ScrumDatabase db) { UserStory us = data as UserStory; if (us != null) { if (this._status != us._status) { this._status = us._status; OnProjectStatusChanged(); } else { this._status = us._status; } this._priority = us._priority; this.Effort.SetValue(us.Effort); this._text = us.Text; this.SetEpic(db.GetItem(us.temp_epicID) as Epic, true); base.UpdateData(data, db); } }
/// <summary> /// Fügt ein neues Item zu der Datenbank hinzu /// </summary> /// <param name="item"></param> public void AddItem(ItemBase item) { if (item.GetType() == typeof(UserStory)) { UserStory us = item as UserStory; UserStories.Add(us); us.ProjectStatusChanged += us_ProjectStatusChanged; us.Effort.EffortPointsChanged += (s, e) => { RecalcEffortSum(); }; if (us.temp_epicID > 0) { us.Epic = GetItem(us.temp_epicID) as Epic; } if (us.BacklogStatus == ItemBacklogStatus.SPRINT_BACKLOG) { this.EffortSum += us.Effort; } } else { Epics.Add(item as Epic); } Surface.ViewController.CurrentView.LoadItem(item); item.DataChanged += OnItemChanged; }