// list all
        public List <Domain.EVA_Attribute> GetAll()
        {
            List <Domain.EVA_Attribute> list = null;

            DataProvider.ExecuteCmd(GetConnection, "dbo.EVA_Attribute_SelectAll"
                                    , inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
            }, map : delegate(IDataReader reader, short set)
            {
                Domain.EVA_Attribute p = new Domain.EVA_Attribute();
                int startingIndex      = 0; //startingOrdinal

                p.ID          = reader.GetSafeInt32(startingIndex++);
                p.Name        = reader.GetSafeString(startingIndex++);
                p.Slug        = reader.GetSafeString(startingIndex++);
                p.Description = reader.GetSafeString(startingIndex++);
                int TypeID    = reader.GetSafeInt32(startingIndex++);

                p.DataType = (AttributesDataType)TypeID;

                if (list == null)
                {
                    list = new List <Domain.EVA_Attribute>();
                }

                list.Add(p);
            }
                                    );

            return(list);
        }
        // list by  Name
        public Domain.EVA_Attribute GetByName(string name)
        {
            Domain.EVA_Attribute item = null;

            DataProvider.ExecuteCmd(GetConnection, "dbo.EVA_Attribute_SelectByName"
                                    , inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@Name", name);
            }, map : delegate(IDataReader reader, short set)
            {
                Domain.EVA_Attribute p = new Domain.EVA_Attribute();
                int startingIndex      = 0; //startingOrdinal

                p.ID          = reader.GetSafeInt32(startingIndex++);
                p.Name        = reader.GetSafeString(startingIndex++);
                p.Slug        = reader.GetSafeString(startingIndex++);
                p.Description = reader.GetSafeString(startingIndex++);
                //p.DataType = reader.GetSafeInt32(startingIndex++);
                int TypeID = reader.GetSafeInt32(startingIndex++);

                p.DataType = (AttributesDataType)TypeID;
                //p.DataType = AttributesDataType.
                //p.UserID = reader.GetSafeInt32(startingIndex++);

                item = p;
            }
                                    );

            return(item);
        }
        // Pagiantion list
        public List <Domain.EVA_Attribute> GetPaginationList(PaginateListRequestModel model)
        {
            List <Domain.EVA_Attribute> list = null;

            DataProvider.ExecuteCmd(GetConnection, "dbo.EVA_Attribute_Select"
                                    , inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@CurrentPage", model.CurrentPage);
                paramCollection.AddWithValue("@ItemsPerPage", model.ItemsPerPage);
                paramCollection.AddWithValue("@Query", model.Query);
            }, map : delegate(IDataReader reader, short set)
            {
                Domain.EVA_Attribute p = new Domain.EVA_Attribute();
                int startingIndex      = 0; //startingOrdinal


                p.ID          = reader.GetSafeInt32(startingIndex++);
                p.Name        = reader.GetSafeString(startingIndex++);
                p.Slug        = reader.GetSafeString(startingIndex++);
                p.Description = reader.GetSafeString(startingIndex++);
                int TypeID    = reader.GetSafeInt32(startingIndex++);

                p.DataType = (AttributesDataType)TypeID;


                if (list == null)
                {
                    list = new List <Domain.EVA_Attribute>();
                }

                list.Add(p);
            }
                                    );

            return(list);
        }