Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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
                }));
            }
        }
Пример #3
0
        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))));
                    }
                }
            }
        }