private void chkIsCompleted_Click(object sender, RoutedEventArgs e)
        {
            int selectedTaskIdx = lstOverviewAllTask.SelectedIndex;
            Task task = (Task)lstOverviewAllTask.SelectedItem;
            TaskAssignmentState tas = (TaskAssignmentState)lvOverViewRoleView.SelectedItem;
            TasksHelper client = new TasksHelper();

            try
            {
                if (MessageBox.Show("Are you sure you want to change the status of completion? ",
               "Confirm Operation...",
               MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
                {
                    chkIsCompleted.IsChecked = tas.TaskAssignment.IsCompleted;
                    return;
                }
                var textRange = new TextRange(txtOverviewRemark.Document.ContentStart, txtOverviewRemark.Document.ContentEnd);

                if (chkIsCompleted.IsChecked == true)
                {
                    client.SetTaskCompleted(task, tas.TaskAssignment.AssignedRoleID, textRange.Text.Trim());
                }
                else
                {
                    client.SetTaskIncomplete(user, task, tas.TaskAssignment.AssignedRoleID, textRange.Text.Trim());
                }

                LoadTasks();
                ClearOverview();
                cboRole.SelectedIndex = -1;
                lstOverviewAllTask.SelectedIndex = selectedTaskIdx;
                MessageBox.Show("Operation Succeeded");

                //lvOverViewRoleView.SelectedIndex = -1;
            }
            catch (Exception ex)
            {
                MessageBox.Show("An Error have occured: " + ex.Message, "Error",
                    MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                client.Close();
            }
        }