public CulturalResourcesAddEditVM(CulturalResourceManagementDO DO)
 {
     this.CulturalResourceManagementID = DO.CulturalResourceManagementID;
     this.SiteID = DO.SiteID;
     this.NRHPEligible = DO.NRHPEligible;
     this.AdditionalInvestigationRequired = DO.AdditionalInvestigationRequired;
     this.MitigationRequired = DO.MitigationRequired;
     this.PlannedMitigation = DO.PlannedMitigation;
     this.ActualMitigation = DO.ActualMitigation;
     this.PlannedDisturbance = DO.PlannedDisturbance;
     this.Disturbance = DO.Disturbance;
     this.DescriptionOfMitigationEfforts = DO.DescriptionOfMitigationEfforts;
 }
        /// <summary>
        /// Creates a new CulturalResourceManagement record using async
        /// </summary>
        public static async Task<int> CreateAsync(CulturalResourceManagementDO DO)
        {
            SqlParameter _PermitKey = new SqlParameter("PermitKey", SqlDbType.Int);
            SqlParameter _SiteID = new SqlParameter("SiteID", SqlDbType.VarChar);
            SqlParameter _NRHPEligible = new SqlParameter("NRHPEligible", SqlDbType.Bit);
            SqlParameter _AdditionalInvestigationRequired = new SqlParameter("AdditionalInvestigationRequired", SqlDbType.Bit);
            SqlParameter _MitigationRequired = new SqlParameter("MitigationRequired", SqlDbType.Bit);
            SqlParameter _PlannedMitigation = new SqlParameter("PlannedMitigation", SqlDbType.DateTime);
            SqlParameter _ActualMitigation = new SqlParameter("ActualMitigation", SqlDbType.DateTime);
            SqlParameter _PlannedDisturbance = new SqlParameter("PlannedDisturbance", SqlDbType.DateTime);
            SqlParameter _Disturbance = new SqlParameter("Disturbance", SqlDbType.DateTime);
            SqlParameter _DescriptionOfMitigationEfforts = new SqlParameter("DescriptionOfMitigationEfforts", SqlDbType.VarChar);
            
            _PermitKey.Value = DO.PermitKey;
            _SiteID.Value = DO.SiteID;
            _NRHPEligible.Value = DO.NRHPEligible;
            _AdditionalInvestigationRequired.Value = DO.AdditionalInvestigationRequired;
            _MitigationRequired.Value = DO.MitigationRequired;
            _PlannedMitigation.Value = DO.PlannedMitigation;
            _ActualMitigation.Value = DO.ActualMitigation;
            _PlannedDisturbance.Value = DO.PlannedDisturbance;
            _Disturbance.Value = DO.Disturbance;
            _DescriptionOfMitigationEfforts.Value = DO.DescriptionOfMitigationEfforts;
            
            SqlParameter[] _params = new SqlParameter[] {
                _PermitKey,
                _SiteID,
                _NRHPEligible,
                _AdditionalInvestigationRequired,
                _MitigationRequired,
                _PlannedMitigation,
                _ActualMitigation,
                _PlannedDisturbance,
                _Disturbance,
                _DescriptionOfMitigationEfforts
            };

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

            return await DataCommon.ExecuteScalarAsync("[dbo].[CulturalResourceManagement_Insert]", _params, pid);
            
        }
        public CulturalResourceManagementDO WriteResourceManagementDataToTables()
        {
            CulturalResourceManagementDO data = new CulturalResourceManagementDO()
            {
                CulturalResourceManagementID = this.CulturalResourceManagementID,
                SiteID = this.SiteID,
                NRHPEligible = this.NRHPEligible,
                MitigationRequired = this.MitigationRequired,
                PermitKey = this.PermitKey,
                AdditionalInvestigationRequired = this.AdditionalInvestigationRequired,
                PlannedMitigation = this.PlannedMitigation,
                ActualMitigation = this.ActualMitigation,
                PlannedDisturbance = this.PlannedDisturbance,
                Disturbance = this.Disturbance,
                DescriptionOfMitigationEfforts = this.DescriptionOfMitigationEfforts

            };

            return data;
        }
 public ActionResult CulturalResourcesAdd(int PermitKey)
 {
     CulturalResourceManagementDO CR = new CulturalResourceManagementDO();
     CulturalResourcesAddEditVM model = new CulturalResourcesAddEditVM(CR);
     model.PermitKey = PermitKey;
     return PartialView("CulturalResourcesAddEdit", model);
 }
        /// <summary>
        /// Selects CulturalResourceManagement records by PK
        /// </summary>
        public static async Task<CulturalResourceManagementDO[]> GetByPKAsync(Int32 CulturalResourceManagementID)
        {

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

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

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


            List<CulturalResourceManagementDO> objs = new List<CulturalResourceManagementDO>();
			
            while(sr.Read())
            {
                CulturalResourceManagementDO obj = new CulturalResourceManagementDO();
				
                obj.CulturalResourceManagementID = sr.GetInt32(sr.GetOrdinal("CulturalResourceManagementID"));
                obj.PermitKey = sr.GetInt32(sr.GetOrdinal("PermitKey"));
                obj.SiteID = sr.GetString(sr.GetOrdinal("SiteID"));
                if (sr.IsDBNull(sr.GetOrdinal("NRHPEligible"))) { obj.NRHPEligible = null; } else { obj.NRHPEligible = sr.GetBoolean(sr.GetOrdinal("NRHPEligible")); }
                if (sr.IsDBNull(sr.GetOrdinal("AdditionalInvestigationRequired"))) { obj.AdditionalInvestigationRequired = null; } else { obj.AdditionalInvestigationRequired = sr.GetBoolean(sr.GetOrdinal("AdditionalInvestigationRequired")); }
                if (sr.IsDBNull(sr.GetOrdinal("MitigationRequired"))) { obj.MitigationRequired = null; } else { obj.MitigationRequired = sr.GetBoolean(sr.GetOrdinal("MitigationRequired")); }
                if (sr.IsDBNull(sr.GetOrdinal("PlannedMitigation"))) { obj.PlannedMitigation = null; } else { obj.PlannedMitigation = sr.GetDateTime(sr.GetOrdinal("PlannedMitigation")); }
                if (sr.IsDBNull(sr.GetOrdinal("ActualMitigation"))) { obj.ActualMitigation = null; } else { obj.ActualMitigation = sr.GetDateTime(sr.GetOrdinal("ActualMitigation")); }
                if (sr.IsDBNull(sr.GetOrdinal("PlannedDisturbance"))) { obj.PlannedDisturbance = null; } else { obj.PlannedDisturbance = sr.GetDateTime(sr.GetOrdinal("PlannedDisturbance")); }
                if (sr.IsDBNull(sr.GetOrdinal("Disturbance"))) { obj.Disturbance = null; } else { obj.Disturbance = sr.GetDateTime(sr.GetOrdinal("Disturbance")); }
                if (sr.IsDBNull(sr.GetOrdinal("DescriptionOfMitigationEfforts"))) { obj.DescriptionOfMitigationEfforts = null; } else { obj.DescriptionOfMitigationEfforts = sr.GetString(sr.GetOrdinal("DescriptionOfMitigationEfforts")); }

                objs.Add(obj);
            }

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

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

            return await DataCommon.ExecuteScalarAsync("[dbo].[CulturalResourceManagement_Delete]", _params, pid);
        }