public async Task <JsonResult> Index() { if (User.Identity.IsAuthenticated) { var user = await _UserManager.GetUserAsync(User); List <SubmittedDocument> RequiresAttention = _SubmittedDocService.GetAllAssigedToUser(user.Id, true); DocumentFields AwaitingFields = _FieldService.GetAllAssignedFields(user.Id, true); return(Json(new { result = "Success", status_code = 200, notification_count = RequiresAttention.Count, awaiting_documents = RequiresAttention.Select(e => new { submitted_document_name = e.Name, submitted_document_id = e.IdSubmittedDocument, document_id = e.DocumentId, assigned_by = (e.Assigner != null)? e.Assigner.Rank + " " + e.Assigner.FirstName + " " + e.Assigner.LastName : null, date_assigned = e.DateCreatedUtc }), awaiting_signature = AwaitingFields.SignatureFields.Distinct().Select(e => new { submitted_document_name = e.SubmittedDocument.Name, submitted_document_id = e.IdSubmittedDocumentId, document_id = e.SubmittedDocument.DocumentId, form_name = e.IdFormName }), awaiting_field_input = AwaitingFields.FormFields.Distinct().Select(e => new { submitted_document_name = e.SubmittedDocument.Name, submitted_document_id = e.IdSubmittedDocumentId, document_id = e.SubmittedDocument.DocumentId, form_name = e.IdFormName }), awaiting_approval = AwaitingFields.CheckBoxes.Distinct().Select(e => new { submitted_document_name = e.SubmittedDocument.Name, submitted_document_id = e.IdSubmittedDocumentId, document_id = e.SubmittedDocument.DocumentId, form_name = e.IdFormName }) })); } else { return(Json(new Result() { reason = "User Not Autenticated", result = "Failure", status_code = 401 })); } }