public ActionResult <IEnumerable <TodoItemResponse> > PostTodoItems() { List <TodoItemResponse> response = new List <TodoItemResponse>(); _context.TodoItems.ToList().ForEach( m => { ScaleParams scalParam = _context.ScaleParams.FirstOrDefault(s => s.TaskId == m.TaskId); ScaleParamsResponse rspScaleParam = new ScaleParamsResponse { TaskId = scalParam.TaskId, ScaleParamId = scalParam.ScaleParamId, ScaleBitrate = scalParam.ScaleBitrate, ScaleName = scalParam.ScaleName, ScalePort = scalParam.ScalePort }; List <ScaleValueResponse> rspScaleValues = new List <ScaleValueResponse>(); _context.ScaleValues.Where(v => v.TaskId == m.TaskId).ToList().ForEach(v => rspScaleValues.Add( new ScaleValueResponse() { TaskId = v.TaskId, Name = v.Name, DateTime = v.DateTime, ScaleValueId = v.ScaleValueId, Value = v.Value } )); response.Add(new TodoItemResponse { TokenId = m.TokenId, TaskId = m.TaskId, ScaleType = m.ScaleType, ScaleName = m.ScaleName, ScaleCount = m.ScaleCount, IsComplete = m.IsComplete, ScaleFrequency = m.ScaleFrequency, ScaleParams = rspScaleParam, ScaleValues = rspScaleValues }); } ); return(response); }
public ActionResult <TodoItemResponse> PostTodoItem(TodoItemRequest request) { ScaleParams scaleParams = _context.ScaleParams.FirstOrDefault(p => p.TaskId == request.TaskId); ScaleParamsResponse scaleParamsResponse = new ScaleParamsResponse(); scaleParamsResponse.TaskId = scaleParams.TaskId; scaleParamsResponse.ScalePort = scaleParams.ScalePort; scaleParamsResponse.ScaleParamId = scaleParams.ScaleParamId; scaleParamsResponse.ScaleName = scaleParams.ScaleName; scaleParamsResponse.ScaleBitrate = scaleParams.ScaleBitrate; List <ScaleValue> scaleValues = _context.ScaleValues.Where(v => v.TaskId == request.TaskId).ToList(); List <ScaleValueResponse> scaleValueResponses = new List <ScaleValueResponse>(); scaleValues.ForEach(v => { scaleValueResponses.Add( new ScaleValueResponse() { DateTime = v.DateTime, Name = v.Name, ScaleValueId = v.ScaleValueId, TaskId = v.TaskId, Value = v.Value } ); }); TodoItem todoitem = _context.TodoItems.Find(request.TaskId); TodoItemResponse response = new TodoItemResponse(); response.TokenId = todoitem.TokenId; response.TaskId = todoitem.TaskId; response.IsComplete = todoitem.IsComplete; response.ScaleCount = todoitem.ScaleCount; response.ScaleFrequency = todoitem.ScaleFrequency; response.ScaleName = todoitem.ScaleName; response.ScaleType = todoitem.ScaleType; response.ScaleParams = scaleParamsResponse; response.ScaleValues = scaleValueResponses; return(response); }