public TaskResponse ToggleTask(Int32 taskId) { TaskResponse response = new TaskResponse(); using (RecklessCheckListEntities context = new RecklessCheckListEntities()) { var taskSelect = from t in context.TASKs.Include("TASK_VALUE") where t.TASK_ID == taskId select t; if (taskSelect.Count() == 1) { TASK contextTask = taskSelect.First(); response.OldStatus = contextTask.TASK_VALUE.NAME; Int32 valueId = ((contextTask.TASK_VALUE_ID + 1) % 4); if (valueId == 0) valueId = 4; contextTask.TASK_VALUE_ID = valueId; context.SaveChanges(); var status = (from s in context.TASK_VALUE where s.TASK_VALUE_ID == contextTask.TASK_VALUE_ID select s.NAME).First(); response.NewStatus = status; response.Completed = true; } else { response.Completed = false; } } return response; }