private void insertItem(WaitItem waitItem) {
    ContentValues values = new ContentValues();
    values.put(GoalDatabase.WaitItemEntry.COL_TEXT, waitItem.getName());
    values.put(GoalDatabase.WaitItemEntry.COL_GOAL_ID, waitItem.getGoalId());
    values.put(GoalDatabase.WaitItemEntry.COL_RESPONSIBLE, waitItem.getResponsible());
    Calendar dueDate = waitItem.getDueDate();
    if (dueDate != null) {
      values.put(GoalDatabase.WaitItemEntry.COL_DUE_YEAR, dueDate.get(Calendar.YEAR));
      values.put(GoalDatabase.WaitItemEntry.COL_DUE_MONTH, dueDate.get(Calendar.MONTH));
      values.put(GoalDatabase.WaitItemEntry.COL_DUE_DAY, dueDate.get(Calendar.DAY_OF_MONTH));
    }
    Calendar requestDate = waitItem.getRequestDate();
    if (requestDate != null) {
      values.put(GoalDatabase.WaitItemEntry.COL_REQUEST_YEAR, requestDate.get(Calendar.YEAR));
      values.put(GoalDatabase.WaitItemEntry.COL_REQUEST_MONTH, requestDate.get(Calendar.MONTH));
      values.put(
          GoalDatabase.WaitItemEntry.COL_REQUEST_DAY, requestDate.get(Calendar.DAY_OF_MONTH));
    }

    if (waitItem.getId() == 0) {
      mContext.getContentResolver().insert(WaitItemProvider.CONTENT_URI, values);
    } else {
      String selection = GoalDatabase.WaitItemEntry._ID + "=?";
      String[] args = new String[] {Integer.valueOf(waitItem.getId()).toString()};
      mContext.getContentResolver().update(WaitItemProvider.CONTENT_URI, values, selection, args);
    }
  }