/// <summary> /// Gets Operatory Notes based on parameters /// </summary> /// <param name="pageparams"></param> /// <returns> Get Operatory Notes data Based on ClinicID,PatientID,ProviderID</returns> #region Get ByID public PagedList <operatory_notes> getNotes(NoteResourceParameter pageparams) { var orderBy = pageparams.OrderBy .CreateSortParams(pageparams.OrderBy, _propertyMappingService.GetPropertyMapping <DC.OperatoryNotes, operatory_notes>()); var operatoryNotes = _context.GetOperatoryNotesByPatientIdByClinicIDByUserId(pageparams.OperatoryNoteRequest.PatientId, pageparams.OperatoryNoteRequest.ClinicId, pageparams.OperatoryNoteRequest.UserId, OrderBy: orderBy, pageSize: pageparams.PageSize, currentPage: pageparams.PageNumber); var pagedCollection = PagedList <operatory_notes> .Create(operatoryNotes.Item1, pageparams.PageNumber, pageparams.PageSize, operatoryNotes.Item2); return(pagedCollection); }
/// <summary> /// To Add Sorting,Paging,Data Shaping for the GetBy method. /// </summary> /// <param name="paginationResourceParameters"></param> /// <param name="type"></param> /// <returns>pageNumber,pageSize,orderBy,fields</returns> #region Utilities private string CreateNoteResourceUri(NoteResourceParameter paginationResourceParameters, ResourceUriType type) { switch (type) { case ResourceUriType.PreviousPage: return(_urlHelper.Link("GetPatientNotes", new { fields = paginationResourceParameters.Fields, orderBy = paginationResourceParameters.OrderBy, pageNumber = paginationResourceParameters.PageNumber - 1, pageSize = paginationResourceParameters.PageSize })); case ResourceUriType.NextPage: return(_urlHelper.Link("GetPatientNotes", new { fields = paginationResourceParameters.Fields, orderBy = paginationResourceParameters.OrderBy, pageNumber = paginationResourceParameters.PageNumber + 1, pageSize = paginationResourceParameters.PageSize })); default: return(_urlHelper.Link("GetPatientNotes", new { fields = paginationResourceParameters.Fields, orderBy = paginationResourceParameters.OrderBy, pageNumber = paginationResourceParameters.PageNumber, pageSize = paginationResourceParameters.PageSize })); } }
public IActionResult GetPatientNotes([FromQuery] NoteResourceParameter notesData) { if (notesData.OperatoryNoteRequest.ClinicId == null && notesData.OperatoryNoteRequest.PatientId == null && notesData.OperatoryNoteRequest.UserId == null) { _logger.LogInformation("-----------------------------------------------------------------------------"); _logger.LogError(string.Format("Date : {0},Request object can not be NULL, Error Status Code: {1}, Error Status Message: {2}", DateTime.Now.ToString(), BadRequestResponse.Code, BadRequestResponse.Message)); _logger.LogInformation("-----------------------------------------------------------------------------"); return(BadRequest(new ApiErrorResponseData(false, "Request object can not be NULL.", new KeyValuePair <string, string>(BadRequestResponse.Code, BadRequestResponse.Message)))); } else { if (!ModelState.IsValid) { if (!_typeHelperService.TypeHasProperties <DC.OperatoryNotes>(notesData.Fields)) { _logger.LogInformation("-----------------------------------------------------------------------------"); _logger.LogError(string.Format("Date : {0}, Error Status Code: {1}, Error Status Message: {2}", DateTime.Now.ToString(), BadRequestResponse.Code, BadRequestResponse.Message)); _logger.LogInformation("-----------------------------------------------------------------------------"); return(BadRequest(new ApiErrorResponseData(false, "Request field(s) not found.", new KeyValuePair <string, string>(BadRequestResponse.Code, BadRequestResponse.Message)))); } else { var message = string.Join(" | ", ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage)); _logger.LogInformation("-----------------------------------------------------------------------------"); _logger.LogError(string.Format("Date : {0}, Error Status Code: {1}, Error Status Message: {2}", DateTime.Now.ToString(), UnprocessableEntityResponse.Code, UnprocessableEntityResponse.Message)); _logger.LogInformation(message); _logger.LogInformation("-----------------------------------------------------------------------------"); return(new Common.Helpers.UnprocessableEntityObjectResult(ModelState)); } } else { var result = _noteService.getNotes(notesData); // To get the page links of next page and previous page. var prevPageLink = result.HasPrevious ? CreateNoteResourceUri(notesData, ResourceUriType.PreviousPage) : null; var nxtPageLink = result.HasNext ? CreateNoteResourceUri(notesData, ResourceUriType.NextPage) : null; var paginationMetadata = new { totalCount = result.TotalCount, pageSize = result.PageSize, currentPage = result.CurrentPage, totalPages = result.TotalPages, previousPageLink = prevPageLink, nextPageLink = nxtPageLink }; Response.Headers.Add("X-Pagination", Newtonsoft.Json.JsonConvert.SerializeObject(paginationMetadata)); if ((result == null) || (result.Count() == 0)) { if (SettingsExtensions.IsDBConnected) { _logger.LogInformation("-----------------------------------------------------------------------------"); _logger.LogError(string.Format("Date : {0}, Error Status Code: {1}, Error Status Message:{2}", DateTime.Now.ToString(), NoContentResponse.Code, NoContentResponse.DBConFailedMessage)); _logger.LogInformation("-----------------------------------------------------------------------------"); return(StatusCode(NoContentResponse.Code, new ApiErrorResponseData(false, null, new KeyValuePair <string, string>(NoContentResponse.CodeString, NoContentResponse.DBConFailedMessage)))); } else { _logger.LogInformation("-----------------------------------------------------------------------------"); _logger.LogError(string.Format("Date : {0}, Error Status Code: {1}, Error Status Message:{2}", DateTime.Now.ToString(), InternalServerError.Code, InternalServerError.DBConFailedMessage)); _logger.LogInformation("-----------------------------------------------------------------------------"); return(StatusCode(InternalServerError.Code, new ApiErrorResponseData(false, null, new KeyValuePair <string, string>(InternalServerError.CodeString, InternalServerError.DBConFailedMessage)))); } } else { var noteMappedList = Mapper.Map <IEnumerable <OperatoryNotes> >(result); return(Ok(new ApiSuccessResponseData(true, noteMappedList.ShapeData(notesData.Fields), new KeyValuePair <string, string>(SuccessResponse.Code, SuccessResponse.Message)))); } } } }