Esempio n. 1
0
        private void textBoxItemText_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
            case Keys.Enter:
                // Getting old and new text
                var oldText = labelTaskText.Text;
                var newText = textBoxTaskText.Text;

                if (oldText == newText)
                {
                    BringBackTextLabel();
                    return;
                }

                try
                {
                    // Update on DB
                    var oldTask = _toDoTaskDao.GetOneById(_toDoTaskModel.Id);
                    oldTask.Text = newText;
                    _toDoTaskDao.Update(oldTask);

                    // Update model
                    _toDoTaskModel.Text = newText;

                    // Display label again
                    labelTaskText.Text = newText;
                    _toDoListService.UpdateListCache(oldTask.ToDoList.Id, oldTask);
                    BringBackTextLabel();
                }
                catch (Exception ex)
                {
                    labelTaskText.Text = oldText;
                    BringBackTextLabel();
                    throw ex;
                }
                break;

            case Keys.Escape:
                BringBackTextLabel();
                break;
            }
        }