public async Task <int> Add(string title, TodoItemState state, int listId, int userProfileId)
        {
            using (var con = _databaseConnectionProvider.New())
            {
                var createdDate = DateTime.UtcNow;

                var todoItemId = Convert.ToInt32(await con.ExecuteScalarAsync(@"
                    INSERT INTO
                        TodoItems
                            (Title, State, DateCreated, DateUpdated, ListId, UserProfileId)
                        VALUES
                            (@title, @state, @createdDate, @createdDate, @listId, @userProfileId)

                    SELECT SCOPE_IDENTITY()", new
                {
                    title,
                    state,
                    createdDate,
                    listId,
                    userProfileId
                }));

                return(todoItemId);
            }
        }
示例#2
0
 public async Task <bool> CreateGraphTodoItem()
 {
     this._state = TodoItemState.Loading;
     Debug.WriteLine("need to create todo");
     this._state   = TodoItemState.Created;
     this._isDirty = false;
     return(false);
 }
示例#3
0
        public void Assigning_a_task_should_raise_TaskAssigned_event()
        {
            var state    = new TodoItemState();
            var todoItem = new TodoItem(state);

            todoItem.AssignTask("Task 1");

            todoItem.GetEvents().Should().ContainItemsAssignableTo <TaskAssigned>();
        }
示例#4
0
        public void AssignTask_should_add_task_to_todo_item()
        {
            var state    = new TodoItemState();
            var todoItem = new TodoItem(state);

            todoItem.AssignTask("Task 1");

            state.Tasks.Should().Contain(x => x.Description == "Task 1");
        }
示例#5
0
 public async Task<ObservableCollection<TodoItem>> RetrieveItemsAsync(TodoItemState state)
 {
     var items = new ObservableCollection<TodoItem>();
     var temp = mDbContext.ToDos.Where(a => a.State == state);
     foreach (var item in temp)
     {
         items.Add(item);
     }
     return items;
 }
示例#6
0
        public void AssignTasked_should_have_id_generated()
        {
            var state    = new TodoItemState();
            var todoItem = new TodoItem(state);

            todoItem.AssignTask("Task 1");
            todoItem.AssignTask("Task 2");

            state.Tasks.First().Id.Should().Be(1);
            state.Tasks.Last().Id.Should().Be(2);
        }
示例#7
0
        public void CompleteTask_should_mark_task_as_completed()
        {
            var task  = new Task(1, "Task 1");
            var state = new TodoItemState
            {
                Tasks = new List <Task> {
                    task
                }
            };

            var todoItem = new TodoItem(state);

            todoItem.CompleteTask(task.Id);

            task.Completed.Should().BeTrue();
        }
示例#8
0
        public void Completing_all_tasks_should_raise_todo_item_completed_event()
        {
            var state = new TodoItemState
            {
                Tasks = new List <Task>
                {
                    new Task(1, "Task 1"),
                    new Task(2, "Task 2")
                }
            };

            var todoItem = new TodoItem(state);

            todoItem.CompleteTask(1);
            todoItem.CompleteTask(2);

            todoItem.GetEvents().Should().ContainItemsAssignableTo <TodoItemCompleted>();
        }
示例#9
0
        public void Completing_all_tasks_should_make_todo_item_completed()
        {
            var state = new TodoItemState
            {
                Tasks = new List <Task>
                {
                    new Task(1, "Task 1"),
                    new Task(2, "Task 2")
                }
            };

            var todoItem = new TodoItem(state);

            todoItem.CompleteTask(1);
            todoItem.CompleteTask(2);

            state.Completed.Should().BeTrue();
        }
        public async Task ChangeState(int todoItemId, TodoItemState state)
        {
            using (var con = _databaseConnectionProvider.New())
            {
                var updateDate = DateTime.UtcNow;

                await con.ExecuteAsync(@"
                    UPDATE
                        TodoItems
                    SET
                        State = @state,
                        DateUpdated = @updateDate
                    WHERE
                        Id = @todoItemId", new
                {
                    state,
                    updateDate,
                    todoItemId
                });
            }
        }
示例#11
0
 public TodoItemCreated(TodoItemState item)
 {
     Item = item;
 }
示例#12
0
 void Ex02(bool value, string parameter, TodoItemState expected)
 {
     Expect($"the converted value should be {expected}", () => Equals(Converter.ConvertBack(value, value.GetType(), parameter, null), expected));
 }
示例#13
0
 private async void LoadTodos(TodoItemState state)
 {
     CurrentItems = await Database.RetrieveItemsAsync(state);
 }
示例#14
0
 public TodoItemCreated(TodoItemState item)
 {
     Item = item;
 }
示例#15
0
 void Ex01(TodoItemState value, bool expected)
 {
     Expect($"the converted value should be {expected}", () => Equals(Converter.Convert(value, value.GetType(), null, null), expected));
 }