public NodeModel Get(SearchNodeModel searchNodeModel)
        {
            NodeModel nodeModel = new NodeModel();

            try
            {
                this._sqlDBManager.OpenConnection();

                using (SqlCommand cmd = new SqlCommand(string.Format("SELECT * FROM Nodes Where Type = '{0}' And ParentNodeId = '{1}'", searchNodeModel.Type, searchNodeModel.ParentNodeId), this._sqlDBManager.SqlConnection))
                {
                    using (SqlDataReader dataReader = cmd.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            nodeModel.Id           = Convert.ToInt32(dataReader["Id"]);
                            nodeModel.Feature      = dataReader["Feature"].ToString();
                            nodeModel.Animal       = dataReader["Animal"].ToString();
                            nodeModel.Type         = Convert.ToBoolean(dataReader["Type"]);
                            nodeModel.ParentNodeId = Convert.ToInt32(dataReader["ParentNodeId"]);
                        }
                    }
                }
            }
            catch (SqlException sqlException)
            {
                //log err
            }
            finally
            {
                this._sqlDBManager.CloseConnection();
            }

            return(nodeModel);
        }
        /// <summary>
        /// Gets node by type and parent node ID
        /// </summary>
        /// <param name="searchNodeModel">Type and parent node ID</param>
        /// <returns>Founded node or blank node</returns>
        public NodeModel Get(SearchNodeModel searchNodeModel)
        {
            NodeModel nodeModel = new NodeModel();

            try
            {
                this._sqlDBManager.OpenConnection();

                using (SqlCommand cmd = new SqlCommand("SELECT * FROM Nodes Where Type = @Type And ParentNodeId = @ParentNodeId", this._sqlDBManager.SqlConnection))
                {
                    cmd.Parameters.Add("@Type", SqlDbType.Bit).Value         = searchNodeModel.Type;
                    cmd.Parameters.Add("@ParentNodeId", SqlDbType.Int).Value = searchNodeModel.ParentNodeId;

                    using (SqlDataReader dataReader = cmd.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            nodeModel.Id           = Convert.ToInt32(dataReader["Id"]);
                            nodeModel.Feature      = dataReader["Feature"].ToString();
                            nodeModel.Animal       = dataReader["Animal"].ToString();
                            nodeModel.Type         = Convert.ToBoolean(dataReader["Type"]);
                            nodeModel.ParentNodeId = Convert.ToInt32(dataReader["ParentNodeId"]);
                        }
                    }
                }
            }
            catch (SqlException sqlException)
            {
                //TODO: implement error handling
                //log err
            }
            finally
            {
                this._sqlDBManager.CloseConnection();
            }

            return(nodeModel);
        }
        public IHttpActionResult Get([FromUri] SearchNodeModel search)
        {
            var node = this._nodeRepository.Get(search);

            return(Ok(node));
        }