예제 #1
0
 /// <summary>
 /// Aktualisiert eine neue Datenbank
 /// </summary>
 /// <param name="surface"></param>
 public ScrumDatabase(ScrumSurface surface)
 {
     this.EffortSum   = new EffortPoints(0);
     this.Surface     = surface;
     this.UserStories = new List <UserStory>();
     this.Epics       = new List <Epic>();
 }
예제 #2
0
 /// <summary>
 /// Gibt den Index für die Spalte des gewünschten Aufwands an
 /// </summary>
 /// <param name="pt"></param>
 /// <returns></returns>
 private int GetEffortIndex(EffortPoints pt)
 {
     for (int i = 0; i < EffortPoints.PreDefined.Length; i++)
     {
         if (EffortPoints.PreDefined[i].Value == pt.Value)
         {
             return(i);
         }
     }
     return(0);
 }
예제 #3
0
 /// <summary>
 /// Initialisiert eine neue User Story mit Standardwerten
 /// Backlog: Product Backlog
 /// EffortPoints: Unendlich
 /// Priorität: 1
 /// </summary>
 public UserStory()
 {
     this.BacklogStatus          = ItemBacklogStatus.PRODUCT_BACKLOG;
     this.Type                   = SubType.USER_STORY;
     this.ItemID                 = NextUserStoryID++;
     Effort                      = new EffortPoints();
     Effort.EffortPointsChanged += (s, e) => { if (e.ExternallyTriggered)
                                               {
                                                   this.OnDataChanged();
                                               }
     };
 }
예제 #4
0
        /// <summary>
        /// Berechnet die Effort-Summe neu
        /// </summary>
        private void RecalcEffortSum()
        {
            EffortPoints ep = new EffortPoints(0);

            foreach (UserStory us in UserStories)
            {
                if (us.BacklogStatus == ItemBacklogStatus.SPRINT_BACKLOG)
                {
                    ep += us.Effort;
                }
            }
            this.EffortSum.Value = ep.Value;
        }
예제 #5
0
        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();
                }
            }
        }
예제 #6
0
파일: Entity.cs 프로젝트: grae22/Roadmap
        //-------------------------------------------------------------------------

        virtual public void GetAsXml(XmlElement xml)
        {
            // Type.
            XmlAttribute attrib = xml.OwnerDocument.CreateAttribute("type");

            attrib.Value = GetType().AssemblyQualifiedName;
            xml.Attributes.Append(attrib);

            // Id.
            XmlElement element = xml.OwnerDocument.CreateElement("Id");

            element.InnerText = Id.ToString();
            xml.AppendChild(element);

            // Title.
            element           = xml.OwnerDocument.CreateElement("Title");
            element.InnerText = Title;
            xml.AppendChild(element);

            // Description.
            element           = xml.OwnerDocument.CreateElement("Description");
            element.InnerText = Description;
            xml.AppendChild(element);

            // Points.
            element           = xml.OwnerDocument.CreateElement("ValuePoints");
            element.InnerText = ValuePoints.ToString();
            xml.AppendChild(element);

            element           = xml.OwnerDocument.CreateElement("EffortPoints");
            element.InnerText = EffortPoints.ToString();
            xml.AppendChild(element);

            element           = xml.OwnerDocument.CreateElement("PriorityPoints");
            element.InnerText = PriorityPoints.ToString();
            xml.AppendChild(element);
        }
예제 #7
0
 /// <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;
 }
예제 #8
0
 /// <summary>
 /// Legt den Aufwand, der dieser Spalte zugewiesen ist,
 /// auf den angegebenen Wert fest.
 /// </summary>
 /// <param name="ep"></param>
 public void SetEffort(EffortPoints ep)
 {
     this.Effort     = ep;
     txt_top.Text    = ep;
     txt_bottom.Text = ep;
 }