/// <summary> /// Product Inquiry /// </summary> /// <param name="accountId"></param> /// <param name="productNumber"></param> /// <param name="currentPageNumber"></param> /// <param name="pageSize"></param> /// <param name="sortExpression"></param> /// <param name="sortDirection"></param> /// <returns></returns> public async Task <ResponseModel <List <ProductDataTransformation> > > ProductInquiry(int accountId, string productNumber, int currentPageNumber, int pageSize, string sortExpression, string sortDirection) { ResponseModel <List <ProductDataTransformation> > returnResponse = new ResponseModel <List <ProductDataTransformation> >(); List <ProductDataTransformation> products = new List <ProductDataTransformation>(); try { _inventoryManagementDataService.OpenConnection(_connectionStrings.PrimaryDatabaseConnectionString); DataGridPagingInformation dataGridPagingInformation = new DataGridPagingInformation(); dataGridPagingInformation.CurrentPageNumber = currentPageNumber; dataGridPagingInformation.PageSize = pageSize; dataGridPagingInformation.SortDirection = sortDirection; dataGridPagingInformation.SortExpression = sortExpression; List <Product> productList = await _inventoryManagementDataService.ProductInquiry(accountId, productNumber, dataGridPagingInformation); foreach (Product product in productList) { ProductDataTransformation productDataTransformation = new ProductDataTransformation(); productDataTransformation.ProductId = product.ProductId; productDataTransformation.AverageCost = product.AverageCost; productDataTransformation.BinLocation = product.BinLocation; productDataTransformation.CommittedQuantity = product.CommittedQuantity; productDataTransformation.DateCreated = product.DateCreated; productDataTransformation.Description = product.Description; productDataTransformation.OnHandQuantity = product.OnHandQuantity; productDataTransformation.OnOrderQuantity = product.OnOrderQuantity; productDataTransformation.ProductNumber = product.ProductNumber; productDataTransformation.UnitPrice = product.UnitPrice; products.Add(productDataTransformation); } returnResponse.Entity = products; returnResponse.TotalRows = dataGridPagingInformation.TotalRows; returnResponse.TotalPages = dataGridPagingInformation.TotalPages; returnResponse.ReturnStatus = true; } catch (Exception ex) { _inventoryManagementDataService.RollbackTransaction(); returnResponse.ReturnStatus = false; returnResponse.ReturnMessage.Add(ex.Message); } finally { _inventoryManagementDataService.CloseConnection(); } return(returnResponse); }