/// <summary>
        /// Sales Order Inquiry
        /// </summary>
        /// <param name="accountId"></param>
        /// <param name="customerName"></param>
        /// <param name="currentPageNumber"></param>
        /// <param name="pageSize"></param>
        /// <param name="sortExpression"></param>
        /// <param name="sortDirection"></param>
        /// <returns></returns>
        public async Task <ResponseModel <List <SalesOrderDataTransformation> > > SalesOrderInquiry(int accountId, string customerName, int currentPageNumber, int pageSize, string sortExpression, string sortDirection)
        {
            ResponseModel <List <SalesOrderDataTransformation> > returnResponse = new ResponseModel <List <SalesOrderDataTransformation> >();

            List <SalesOrderDataTransformation> salesOrders = new List <SalesOrderDataTransformation>();

            try
            {
                _inventoryManagementDataService.OpenConnection(_connectionStrings.PrimaryDatabaseConnectionString);

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

                List <SalesOrder> salesOrderList = await _inventoryManagementDataService.SalesOrderInquiry(accountId, customerName, dataGridPagingInformation);

                foreach (SalesOrder salesOrder in salesOrderList)
                {
                    SalesOrderDataTransformation salesOrderDataTransformation = new SalesOrderDataTransformation();
                    salesOrderDataTransformation.AddressLine1                = salesOrder.AddressLine1;
                    salesOrderDataTransformation.AddressLine2                = salesOrder.AddressLine2;
                    salesOrderDataTransformation.City                        = salesOrder.City;
                    salesOrderDataTransformation.Region                      = salesOrder.Region;
                    salesOrderDataTransformation.PostalCode                  = salesOrder.PostalCode;
                    salesOrderDataTransformation.CustomerName                = salesOrder.CustomerName;
                    salesOrderDataTransformation.DateCreated                 = salesOrder.DateCreated;
                    salesOrderDataTransformation.OrderTotal                  = salesOrder.OrderTotal;
                    salesOrderDataTransformation.AccountId                   = salesOrder.AccountId;
                    salesOrderDataTransformation.SalesOrderId                = salesOrder.SalesOrderId;
                    salesOrderDataTransformation.SalesOrderNumber            = salesOrder.SalesOrderNumber;
                    salesOrderDataTransformation.SalesOrderStatusId          = salesOrder.SalesOrderStatusId;
                    salesOrderDataTransformation.SalesOrderStatusDescription = salesOrder.SalesOrderStatus.Description;
                    salesOrders.Add(salesOrderDataTransformation);
                }

                returnResponse.Entity     = salesOrders;
                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);
        }