/// <summary>
        /// Get Product
        /// </summary>
        /// <param name="accountId"></param>
        /// <param name="productId"></param>
        /// <returns></returns>
        public async Task <ResponseModel <ProductDataTransformation> > GetProduct(int accountId, int productId)
        {
            ResponseModel <ProductDataTransformation> returnResponse = new ResponseModel <ProductDataTransformation>();
            ProductDataTransformation productDataTransformation      = new ProductDataTransformation();

            try
            {
                _inventoryManagementDataService.OpenConnection(_connectionStrings.PrimaryDatabaseConnectionString);

                Product product = await _inventoryManagementDataService.GetProduct(accountId, productId);

                if (product == null)
                {
                    returnResponse.ReturnStatus = false;
                    returnResponse.ReturnMessage.Add("Product Id not found.");
                }
                else
                {
                    productDataTransformation.AccountId         = product.AccountId;
                    productDataTransformation.ProductId         = product.ProductId;
                    productDataTransformation.ProductNumber     = product.ProductNumber;
                    productDataTransformation.Description       = product.Description;
                    productDataTransformation.AverageCost       = product.AverageCost;
                    productDataTransformation.BinLocation       = product.BinLocation;
                    productDataTransformation.CommittedQuantity = product.CommittedQuantity;
                    productDataTransformation.OnHandQuantity    = product.OnHandQuantity;
                    productDataTransformation.OnOrderQuantity   = product.OnOrderQuantity;
                    productDataTransformation.UnitPrice         = product.UnitPrice;

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

            returnResponse.Entity = productDataTransformation;

            return(returnResponse);
        }