private void Edit(object obj)
        {
            Helper.InvokeAction(() => {
                System.Collections.IList items = (System.Collections.IList)obj;
                var selectedItems = items.Cast <ToDoListItemModel>();

                if (selectedItems.Count() == 0)
                {
                    Helper.Error("Item not selected");
                    return;
                }

                int id = selectedItems.First().Id;

                var temp = service.FirstOrDefault(x => x.Id == id);
                if (temp == null)
                {
                    Helper.Error("Item not found");
                    return;
                }

                ToDoListItem = new ToDoListItemModel()
                {
                    Id          = temp.Id,
                    Deadline    = temp.Deadline.HasValue ? temp.Deadline.Value.ToString("dd.MM.yyyy") : "",
                    Description = temp.Description,
                    Name        = temp.Name,
                    Status      = temp.Status
                };
            });
        }
 private void Save(object obj)
 {
     Helper.InvokeAction(() => {
         DateTime now = Helper.DateParse(this.ToDoListItem.Deadline);
         int id       = this.ToDoListItem.Id;
         var temp     = service.FirstOrDefault(x => x.Id == id);
         if (temp == null)
         {
             temp = new TodoListItem();
         }
         temp.Name        = this.ToDoListItem.Name;
         temp.Deadline    = now;
         temp.Status      = this.ToDoListItem.Status;
         temp.Description = this.ToDoListItem.Description;
         temp.ToDoListId  = _todoList.Id;
         if (id == 0)
         {
             temp.CreateDate = DateTime.Now;
             service.Add(temp);
         }
         service.SaveChanges();
         ToDoListItems.Clear();
         ToDoListItem = new ToDoListItemModel();
         ToDoListItems.AddRange(GetAll(_todoList.Id));
     });
 }
        private void Delete(object obj)
        {
            Helper.InvokeAction(() => {
                System.Collections.IList items = (System.Collections.IList)obj;
                var selectedItems = items.Cast <ToDoListItemModel>();

                if (selectedItems.Count() == 0)
                {
                    Helper.Error("Item not selected");
                    return;
                }
                int id   = selectedItems.First().Id;
                var temp = service.FirstOrDefault(x => x.Id == id);
                if (temp == null)
                {
                    Helper.Error("Item not found");
                    return;
                }
                service.Remove(temp);
                service.SaveChanges();
                ToDoListItems.Clear();
                ToDoListItem = new ToDoListItemModel();
                ToDoListItems.AddRange(GetAll(_todoList.Id));
            });
        }
 public ToDoListItemViewModel(ToDoList todoList)
 {
     ToDoListItems = new ObservableCollection <ToDoListItemModel>();
     StatusList    = new ObservableCollection <string>();
     StatusList.AddRange(new string[] { "Complete", "Expired", "Cancelled" });
     ToDoListItems.AddRange(GetAll(todoList.Id));
     ToDoListItem  = new ToDoListItemModel();
     SaveCommand   = new DelegateCommand <Object>(Save);
     DeleteCommand = new DelegateCommand <Object>(Delete);
     EditCommand   = new DelegateCommand <Object>(Edit);
     _todoList     = todoList;
 }