public ThreatenedAndEndangeredSpeciesDO GetDataObject()
        {
            ThreatenedAndEndangeredSpeciesDO data = new ThreatenedAndEndangeredSpeciesDO()
            {
                ThreatenedAndEndangeredSpeciesID = this.ThreatenedAndEndangeredSpeciesID,
                ThreatenedAndEndangeredSpecies = this.ThreatenedAndEndangeredSpecies,
                PermitKey = this.PermitKey

            };

            return data;
        }
        /// <summary>
        /// Creates a new ThreatenedAndEndangeredSpecies record using async
        /// </summary>
        public static async Task<int> CreateAsync(ThreatenedAndEndangeredSpeciesDO DO)
        {
            SqlParameter _PermitKey = new SqlParameter("PermitKey", SqlDbType.Int);
            SqlParameter _ThreatenedAndEndangeredSpecies = new SqlParameter("ThreatenedAndEndangeredSpecies", SqlDbType.VarChar);
            
            _PermitKey.Value = DO.PermitKey;
            _ThreatenedAndEndangeredSpecies.Value = DO.ThreatenedAndEndangeredSpecies;
            
            SqlParameter[] _params = new SqlParameter[] {
                _PermitKey,
                _ThreatenedAndEndangeredSpecies
            };

            string pid = ConfigurationManager.AppSettings["ePermitDAL"];

            return await DataCommon.ExecuteScalarAsync("[dbo].[ThreatenedAndEndangeredSpecies_Insert]", _params, pid);
            
        }
        /// <summary>
        /// Updates a ThreatenedAndEndangeredSpecies record and returns the number of records affected
        /// </summary>
        public static int Update(ThreatenedAndEndangeredSpeciesDO DO)
        {
            SqlParameter _ThreatenedAndEndangeredSpeciesID = new SqlParameter("ThreatenedAndEndangeredSpeciesID", SqlDbType.Int);
            SqlParameter _PermitKey = new SqlParameter("PermitKey", SqlDbType.Int);
            SqlParameter _ThreatenedAndEndangeredSpecies = new SqlParameter("ThreatenedAndEndangeredSpecies", SqlDbType.VarChar);
            
            _ThreatenedAndEndangeredSpeciesID.Value = DO.ThreatenedAndEndangeredSpeciesID;
            _PermitKey.Value = DO.PermitKey;
            _ThreatenedAndEndangeredSpecies.Value = DO.ThreatenedAndEndangeredSpecies;
            
            SqlParameter[] _params = new SqlParameter[] {
                _ThreatenedAndEndangeredSpeciesID,
                _PermitKey,
                _ThreatenedAndEndangeredSpecies
            };

            string pid = ConfigurationManager.AppSettings["ePermitDAL"];

            return DataCommon.ExecuteScalar("[dbo].[ThreatenedAndEndangeredSpecies_Update]", _params, pid);
        }
        /// <summary>
        /// Selects ThreatenedAndEndangeredSpecies records by PK
        /// </summary>
        public static async Task<ThreatenedAndEndangeredSpeciesDO[]> GetByPKAsync(Int32 ThreatenedAndEndangeredSpeciesID)
        {

            SqlParameter _ThreatenedAndEndangeredSpeciesID = new SqlParameter("ThreatenedAndEndangeredSpeciesID", SqlDbType.Int);
			
            _ThreatenedAndEndangeredSpeciesID.Value = ThreatenedAndEndangeredSpeciesID;
			
            SqlParameter[] _params = new SqlParameter[] {
                _ThreatenedAndEndangeredSpeciesID
            };

            string pid = ConfigurationManager.AppSettings["ePermitDAL"];

            SafeReader sr = await DataCommon.ExecuteSafeReaderAsync("[dbo].[ThreatenedAndEndangeredSpecies_GetByPK]", _params, pid);


            List<ThreatenedAndEndangeredSpeciesDO> objs = new List<ThreatenedAndEndangeredSpeciesDO>();
			
            while(sr.Read())
            {
                ThreatenedAndEndangeredSpeciesDO obj = new ThreatenedAndEndangeredSpeciesDO();
				
                obj.ThreatenedAndEndangeredSpeciesID = sr.GetInt32(sr.GetOrdinal("ThreatenedAndEndangeredSpeciesID"));
                obj.PermitKey = sr.GetInt32(sr.GetOrdinal("PermitKey"));
                obj.ThreatenedAndEndangeredSpecies = sr.GetString(sr.GetOrdinal("ThreatenedAndEndangeredSpecies"));
                

                objs.Add(obj);
            }

            return objs.ToArray();
        }
        /// <summary>
        /// Gets all ThreatenedAndEndangeredSpecies records
        /// </summary>
        public static async Task<ThreatenedAndEndangeredSpeciesDO[]> GetAllAsync()
        {

            string pid = ConfigurationManager.AppSettings["ePermitDAL"];

            SafeReader sr = await DataCommon.ExecuteSafeReaderAsync("[dbo].[ThreatenedAndEndangeredSpecies_GetAll]", new SqlParameter[] { }, pid);
            
            List<ThreatenedAndEndangeredSpeciesDO> objs = new List<ThreatenedAndEndangeredSpeciesDO>();
            
            while(sr.Read()){

                ThreatenedAndEndangeredSpeciesDO obj = new ThreatenedAndEndangeredSpeciesDO();
                
                obj.ThreatenedAndEndangeredSpeciesID = sr.GetInt32(sr.GetOrdinal("ThreatenedAndEndangeredSpeciesID"));
                obj.PermitKey = sr.GetInt32(sr.GetOrdinal("PermitKey"));
                obj.ThreatenedAndEndangeredSpecies = sr.GetString(sr.GetOrdinal("ThreatenedAndEndangeredSpecies"));
                


                objs.Add(obj);
            }

            return objs.ToArray();
        }
        /// <summary>
        /// Deletes a ThreatenedAndEndangeredSpecies record
        /// </summary>
        public static async Task<int> DeleteAsync(ThreatenedAndEndangeredSpeciesDO DO)
        {
            SqlParameter _ThreatenedAndEndangeredSpeciesID = new SqlParameter("ThreatenedAndEndangeredSpeciesID", SqlDbType.Int);
            
            _ThreatenedAndEndangeredSpeciesID.Value = DO.ThreatenedAndEndangeredSpeciesID;
            
            SqlParameter[] _params = new SqlParameter[] {
                _ThreatenedAndEndangeredSpeciesID
            };

            string pid = ConfigurationManager.AppSettings["ePermitDAL"];

            return await DataCommon.ExecuteScalarAsync("[dbo].[ThreatenedAndEndangeredSpecies_Delete]", _params, pid);
        }
 public WildlifeSurveyVM(ThreatenedAndEndangeredSpeciesDO DO)
 {
     this.ThreatenedAndEndangeredSpeciesID = DO.ThreatenedAndEndangeredSpeciesID;
     this.ThreatenedAndEndangeredSpecies = DO.ThreatenedAndEndangeredSpecies;
     this.PermitKey = DO.PermitKey;
 }