public DashboardViewModel()
 {
     using (TODOEntities1 context = new TODOEntities1())
     {
         var items = (from i in context.ListItems
                      select i);
         List<ToDoItem> temp = new List<ToDoItem>();
         foreach (ListItem li in items)
         {
             temp.Add(new ToDoItem(li.ItemNumber, li.ItemName));
         }
         Items = temp;
     }
 }
        public DashboardViewModel Execute(DashboardViewModel inputModel)
        {
            if (inputModel.ItemNumber > 0)
            {
                using (TODOEntities1 context = new TODOEntities1())
                {
                    var itemToDelete = (from li in context.ListItems
                                        where li.ItemNumber == inputModel.ItemNumber
                                        select li);
                    if (itemToDelete != null)
                    {
                        context.ListItems.DeleteObject(itemToDelete.First());
                        context.SaveChanges();
                    }

                    var items = (from i in context.ListItems
                                 select i);
                    List<ToDoItem> newList = new List<ToDoItem>();
                    foreach (ListItem lItem in items)
                    {
                        newList.Add(new ToDoItem(lItem.ItemNumber, lItem.ItemName));
                    }
                    return new DashboardViewModel
                    {
                        Items = newList
                    };
                }
            }
            else if (inputModel.EditItem != null)
            {
                using (TODOEntities1 context = new TODOEntities1())
                {
                    string temp = inputModel.EditItem;
                    int index = temp.IndexOf("-");
                    string newDescription = temp.Substring(index + 1).Trim();
                    int itemNumber = Convert.ToInt32(temp.Substring(0, index));

                    var itemToEdit = (from li in context.ListItems
                                        where li.ItemNumber == itemNumber
                                        select li);
                    if (itemToEdit != null)
                    {
                        itemToEdit.First().ItemName = newDescription;
                        context.AcceptAllChanges();
                        context.SaveChanges();
                    }

                    var items = (from i in context.ListItems
                                 select i);
                    List<ToDoItem> newList = new List<ToDoItem>();
                    foreach (ListItem lItem in items)
                    {
                        newList.Add(new ToDoItem(lItem.ItemNumber, lItem.ItemName));
                    }
                    return new DashboardViewModel
                    {
                        Items = newList
                    };
                }
            }
            else
            {
                using (TODOEntities1 context = new TODOEntities1())
                {
                    var lastItem = (from li in context.ListItems
                                    select li.ItemNumber);

                    int number = 1;
                    if (lastItem.Count() > 0)
                    {
                        number = lastItem.Max() + 1;
                    }
                    ListItem nItem = new ListItem
                    {
                        ItemName = inputModel.NewItem,
                        ItemNumber = number
                    };
                    context.ListItems.AddObject(nItem);
                    context.SaveChanges();

                    var items = (from i in context.ListItems
                                 select i);
                    List<ToDoItem> newList = new List<ToDoItem>();
                    foreach (ListItem lItem in items)
                    {
                        newList.Add(new ToDoItem(lItem.ItemNumber, lItem.ItemName));
                    }
                    return new DashboardViewModel
                    {
                        Items = newList
                    };
                }
            }
        }