/// <summary>
        /// Purchase Order Inquiry
        /// </summary>
        /// <param name="accountId"></param>
        /// <param name="supplierName"></param>
        /// <param name="currentPageNumber"></param>
        /// <param name="pageSize"></param>
        /// <param name="sortExpression"></param>
        /// <param name="sortDirection"></param>
        /// <returns></returns>
        public async Task <ResponseModel <List <PurchaseOrderDataTransformation> > > PurchaseOrderInquiry(int accountId, string supplierName, int currentPageNumber, int pageSize, string sortExpression, string sortDirection)
        {
            ResponseModel <List <PurchaseOrderDataTransformation> > returnResponse = new ResponseModel <List <PurchaseOrderDataTransformation> >();

            List <PurchaseOrderDataTransformation> purchaseOrders = new List <PurchaseOrderDataTransformation>();

            try
            {
                _inventoryManagementDataService.OpenConnection(_connectionStrings.PrimaryDatabaseConnectionString);

                DataGridPagingInformation dataGridPagingInformation = new DataGridPagingInformation();
                dataGridPagingInformation.CurrentPageNumber = currentPageNumber;
                dataGridPagingInformation.PageSize          = pageSize;
                dataGridPagingInformation.SortDirection     = sortDirection;
                dataGridPagingInformation.SortExpression    = sortExpression;

                List <PurchaseOrder> purchaseOrderList = await _inventoryManagementDataService.PurchaseOrderInquiry(accountId, supplierName, dataGridPagingInformation);

                foreach (PurchaseOrder purchaseOrder in purchaseOrderList)
                {
                    PurchaseOrderDataTransformation purchaseOrderDataTransformation = new PurchaseOrderDataTransformation();
                    purchaseOrderDataTransformation.AddressLine1                   = purchaseOrder.AddressLine1;
                    purchaseOrderDataTransformation.AddressLine2                   = purchaseOrder.AddressLine2;
                    purchaseOrderDataTransformation.City                           = purchaseOrder.City;
                    purchaseOrderDataTransformation.Region                         = purchaseOrder.Region;
                    purchaseOrderDataTransformation.PostalCode                     = purchaseOrder.PostalCode;
                    purchaseOrderDataTransformation.SupplierName                   = purchaseOrder.SupplierName;
                    purchaseOrderDataTransformation.DateCreated                    = purchaseOrder.DateCreated;
                    purchaseOrderDataTransformation.OrderTotal                     = purchaseOrder.OrderTotal;
                    purchaseOrderDataTransformation.AccountId                      = purchaseOrder.AccountId;
                    purchaseOrderDataTransformation.PurchaseOrderId                = purchaseOrder.PurchaseOrderId;
                    purchaseOrderDataTransformation.PurchaseOrderNumber            = purchaseOrder.PurchaseOrderNumber;
                    purchaseOrderDataTransformation.PurchaseOrderStatusId          = purchaseOrder.PurchaseOrderStatusId;
                    purchaseOrderDataTransformation.PurchaseOrderStatusDescription = purchaseOrder.PurchaseOrderStatus.Description;
                    purchaseOrders.Add(purchaseOrderDataTransformation);
                }

                returnResponse.Entity     = purchaseOrders;
                returnResponse.TotalRows  = dataGridPagingInformation.TotalRows;
                returnResponse.TotalPages = dataGridPagingInformation.TotalPages;

                returnResponse.ReturnStatus = true;
            }
            catch (Exception ex)
            {
                returnResponse.ReturnStatus = false;
                returnResponse.ReturnMessage.Add(ex.Message);
            }
            finally
            {
                _inventoryManagementDataService.CloseConnection();
            }

            return(returnResponse);
        }