示例#1
0
 internal static void MarkNotIsNew(Requirement item)
 {
     item.IsNew = false;
     if (item.Tasks != null)
     {
         foreach (var task in item.Tasks)
         {
             TaskBF.MarkNotIsNew(task);
         }
     }
 }
示例#2
0
        internal Requirement FetchAndUpdate(Requirement item)
        {
            Requirement fetched = Get(item.ID);

            fetched.Title  = item.Title;
            fetched.Status = item.Status;

            if (item.Comments != null)
            {
                foreach (var comment in item.Comments)
                {
                    if (comment.ID <= 0)
                    {
                        fetched.Comments.Add(comment);
                    }
                    else
                    {
                        fetched.Comments.Where(c => c.ID == comment.ID).Single().Comment = comment.Comment;
                    }
                }
            }

            if (item.Tasks != null)
            {
                TaskBF bf = new TaskBF(db);

                foreach (var task in item.Tasks)
                {
                    if (task.IsNew)
                    {
                        fetched.Tasks.Add(task);
                    }
                    else
                    {
                        var temp = fetched.Tasks.Where(t => t.ID == task.ID).Single();
                        temp = bf.FetchAndUpdate(task);
                    }
                }
            }

            MarkNotIsNew(fetched);
            return(fetched);
        }