public HttpResponseMessage GetPersons(HttpRequestMessage request, [FromBody] PersonViewModel personViewModel)
        {

            TransactionalInformation transaction;

            int currentPageNumber = personViewModel.CurrentPageNumber;
            int pageSize = personViewModel.PageSize;
            string sortExpression = personViewModel.SortExpression;
            string sortDirection = personViewModel.SortDirection;

            var personBusinessService = new PersonBusinessService(_personDataService);
            var persons = personBusinessService.GetPersons(currentPageNumber, pageSize, sortExpression, sortDirection, out transaction);
            if (transaction.ReturnStatus == false)
            {                
                personViewModel.ReturnStatus = false;
                personViewModel.ReturnMessage = transaction.ReturnMessage;
                personViewModel.ValidationErrors = transaction.ValidationErrors;

                var responseError = Request.CreateResponse(HttpStatusCode.BadRequest, personViewModel);
                return responseError;

            }

            personViewModel.TotalPages = transaction.TotalPages;
            personViewModel.TotalRows = transaction.TotalRows;
            personViewModel.Persons = persons;
            personViewModel.ReturnStatus = true;
            personViewModel.ReturnMessage = transaction.ReturnMessage;

            var response = Request.CreateResponse(HttpStatusCode.OK, personViewModel);
            return response;

        }