using System; using System.Data; using System.Data.SqlTypes; using System.Data.SqlClient; namespace edoka_dms { public class clsDokumentstatus : clsDBInteractionBase { #region Class Member Declarations private SqlBoolean m_bFolgestatus_durch_anderen_verantwortlichen, m_bDokumentbearbeitung_moeglich, m_bDokument_ausgangsarchivieren, m_bDokument_bearbeitung_abgeschlossen, m_bAktiv; private SqlDateTime m_daErstellt_am, m_daMutiert_am; private SqlInt32 m_iDokumentstatusnr, m_iDokumenttypnr, m_iStatustypnr, m_iStatus_bezeichnungnr, m_iReihenfolge, m_iErledigung_ab, m_iMandantnr, m_iMutierer, m_iStatustyp; #endregion public clsDokumentstatus() { // Nothing for now. } public override bool Insert() { SqlCommand scmCmdToExecute = new SqlCommand(); scmCmdToExecute.CommandText = "dbo.[pr_dokumentstatus_Insert]"; scmCmdToExecute.CommandType = CommandType.StoredProcedure; // Use base class' connection object scmCmdToExecute.Connection = m_scoMainConnection; try { scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumentstatusnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iDokumentstatusnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iDokumenttypnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@istatustypnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatustypnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@istatus_bezeichnungnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatus_bezeichnungnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@ireihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)); scmCmdToExecute.Parameters.Add(new SqlParameter("@bfolgestatus_durch_anderen_verantwortlichen", SqlDbType.Bit, 1, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, m_bFolgestatus_durch_anderen_verantwortlichen)); scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokumentbearbeitung_moeglich", SqlDbType.Bit, 1, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, m_bDokumentbearbeitung_moeglich)); scmCmdToExecute.Parameters.Add(new SqlParameter("@ierledigung_ab", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iErledigung_ab)); scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_ausgangsarchivieren", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_ausgangsarchivieren)); scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_bearbeitung_abgeschlossen", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_bearbeitung_abgeschlossen)); scmCmdToExecute.Parameters.Add(new SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)); scmCmdToExecute.Parameters.Add(new SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)); scmCmdToExecute.Parameters.Add(new SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)); scmCmdToExecute.Parameters.Add(new SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)); scmCmdToExecute.Parameters.Add(new SqlParameter("@istatustyp", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatustyp)); scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)); if(m_bMainConnectionIsCreatedLocal) { // Open connection. m_scoMainConnection.Open(); } else { if(m_cpMainConnectionProvider.bIsTransactionPending) { scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction; } } // Execute query. m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery(); m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value; if(m_iErrorCode != (int)LLBLError.AllOk) { // Throw error. throw new Exception("Stored Procedure 'pr_dokumentstatus_Insert' reported the ErrorCode: " + m_iErrorCode); } return true; } catch(Exception ex) { // some error occured. Bubble it to caller and encapsulate Exception object throw new Exception("clsDokumentstatus::Insert::Error occured.", ex); } finally { if(m_bMainConnectionIsCreatedLocal) { // Close connection. m_scoMainConnection.Close(); } scmCmdToExecute.Dispose(); } } public override bool Update() { SqlCommand scmCmdToExecute = new SqlCommand(); scmCmdToExecute.CommandText = "dbo.[pr_dokumentstatus_Update]"; scmCmdToExecute.CommandType = CommandType.StoredProcedure; // Use base class' connection object scmCmdToExecute.Connection = m_scoMainConnection; try { scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumentstatusnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iDokumentstatusnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iDokumenttypnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@istatustypnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatustypnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@istatus_bezeichnungnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatus_bezeichnungnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@ireihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)); scmCmdToExecute.Parameters.Add(new SqlParameter("@bfolgestatus_durch_anderen_verantwortlichen", SqlDbType.Bit, 1, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, m_bFolgestatus_durch_anderen_verantwortlichen)); scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokumentbearbeitung_moeglich", SqlDbType.Bit, 1, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, m_bDokumentbearbeitung_moeglich)); scmCmdToExecute.Parameters.Add(new SqlParameter("@ierledigung_ab", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iErledigung_ab)); scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_ausgangsarchivieren", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_ausgangsarchivieren)); scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_bearbeitung_abgeschlossen", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_bearbeitung_abgeschlossen)); scmCmdToExecute.Parameters.Add(new SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)); scmCmdToExecute.Parameters.Add(new SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)); scmCmdToExecute.Parameters.Add(new SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)); scmCmdToExecute.Parameters.Add(new SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)); scmCmdToExecute.Parameters.Add(new SqlParameter("@istatustyp", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatustyp)); scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)); if(m_bMainConnectionIsCreatedLocal) { // Open connection. m_scoMainConnection.Open(); } else { if(m_cpMainConnectionProvider.bIsTransactionPending) { scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction; } } // Execute query. m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery(); m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value; if(m_iErrorCode != (int)LLBLError.AllOk) { // Throw error. throw new Exception("Stored Procedure 'pr_dokumentstatus_Update' reported the ErrorCode: " + m_iErrorCode); } return true; } catch(Exception ex) { // some error occured. Bubble it to caller and encapsulate Exception object throw new Exception("clsDokumentstatus::Update::Error occured.", ex); } finally { if(m_bMainConnectionIsCreatedLocal) { // Close connection. m_scoMainConnection.Close(); } scmCmdToExecute.Dispose(); } } public override bool Delete() { SqlCommand scmCmdToExecute = new SqlCommand(); scmCmdToExecute.CommandText = "dbo.[pr_dokumentstatus_Delete]"; scmCmdToExecute.CommandType = CommandType.StoredProcedure; // Use base class' connection object scmCmdToExecute.Connection = m_scoMainConnection; try { scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumentstatusnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iDokumentstatusnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)); if(m_bMainConnectionIsCreatedLocal) { // Open connection. m_scoMainConnection.Open(); } else { if(m_cpMainConnectionProvider.bIsTransactionPending) { scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction; } } // Execute query. m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery(); m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value; if(m_iErrorCode != (int)LLBLError.AllOk) { // Throw error. throw new Exception("Stored Procedure 'pr_dokumentstatus_Delete' reported the ErrorCode: " + m_iErrorCode); } return true; } catch(Exception ex) { // some error occured. Bubble it to caller and encapsulate Exception object throw new Exception("clsDokumentstatus::Delete::Error occured.", ex); } finally { if(m_bMainConnectionIsCreatedLocal) { // Close connection. m_scoMainConnection.Close(); } scmCmdToExecute.Dispose(); } } public override DataTable SelectOne() { SqlCommand scmCmdToExecute = new SqlCommand(); scmCmdToExecute.CommandText = "dbo.[pr_dokumentstatus_SelectOne]"; scmCmdToExecute.CommandType = CommandType.StoredProcedure; DataTable dtToReturn = new DataTable("dokumentstatus"); SqlDataAdapter sdaAdapter = new SqlDataAdapter(scmCmdToExecute); // Use base class' connection object scmCmdToExecute.Connection = m_scoMainConnection; try { scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumentstatusnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iDokumentstatusnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)); if(m_bMainConnectionIsCreatedLocal) { // Open connection. m_scoMainConnection.Open(); } else { if(m_cpMainConnectionProvider.bIsTransactionPending) { scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction; } } // Execute query. sdaAdapter.Fill(dtToReturn); m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value; if(m_iErrorCode != (int)LLBLError.AllOk) { // Throw error. throw new Exception("Stored Procedure 'pr_dokumentstatus_SelectOne' reported the ErrorCode: " + m_iErrorCode); } if(dtToReturn.Rows.Count > 0) { m_iDokumentstatusnr = (Int32)dtToReturn.Rows[0]["dokumentstatusnr"]; m_iDokumenttypnr = dtToReturn.Rows[0]["dokumenttypnr"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["dokumenttypnr"]; m_iStatustypnr = dtToReturn.Rows[0]["statustypnr"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["statustypnr"]; m_iStatus_bezeichnungnr = dtToReturn.Rows[0]["status_bezeichnungnr"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["status_bezeichnungnr"]; m_iReihenfolge = (Int32)dtToReturn.Rows[0]["reihenfolge"]; m_bFolgestatus_durch_anderen_verantwortlichen = (bool)dtToReturn.Rows[0]["folgestatus_durch_anderen_verantwortlichen"]; m_bDokumentbearbeitung_moeglich = (bool)dtToReturn.Rows[0]["dokumentbearbeitung_moeglich"]; m_iErledigung_ab = (Int32)dtToReturn.Rows[0]["erledigung_ab"]; m_bDokument_ausgangsarchivieren = dtToReturn.Rows[0]["dokument_ausgangsarchivieren"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["dokument_ausgangsarchivieren"]; m_bDokument_bearbeitung_abgeschlossen = dtToReturn.Rows[0]["dokument_bearbeitung_abgeschlossen"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["dokument_bearbeitung_abgeschlossen"]; m_iMandantnr = dtToReturn.Rows[0]["mandantnr"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["mandantnr"]; m_bAktiv = dtToReturn.Rows[0]["aktiv"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["aktiv"]; m_daErstellt_am = dtToReturn.Rows[0]["erstellt_am"] == System.DBNull.Value ? SqlDateTime.Null : (DateTime)dtToReturn.Rows[0]["erstellt_am"]; m_daMutiert_am = dtToReturn.Rows[0]["mutiert_am"] == System.DBNull.Value ? SqlDateTime.Null : (DateTime)dtToReturn.Rows[0]["mutiert_am"]; m_iMutierer = dtToReturn.Rows[0]["mutierer"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["mutierer"]; m_iStatustyp = dtToReturn.Rows[0]["statustyp"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["statustyp"]; } return dtToReturn; } catch(Exception ex) { // some error occured. Bubble it to caller and encapsulate Exception object throw new Exception("clsDokumentstatus::SelectOne::Error occured.", ex); } finally { if(m_bMainConnectionIsCreatedLocal) { // Close connection. m_scoMainConnection.Close(); } scmCmdToExecute.Dispose(); sdaAdapter.Dispose(); } } public override DataTable SelectAll() { SqlCommand scmCmdToExecute = new SqlCommand(); scmCmdToExecute.CommandText = "dbo.[pr_dokumentstatus_SelectAll]"; scmCmdToExecute.CommandType = CommandType.StoredProcedure; DataTable dtToReturn = new DataTable("dokumentstatus"); SqlDataAdapter sdaAdapter = new SqlDataAdapter(scmCmdToExecute); // Use base class' connection object scmCmdToExecute.Connection = m_scoMainConnection; try { scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)); if(m_bMainConnectionIsCreatedLocal) { // Open connection. m_scoMainConnection.Open(); } else { if(m_cpMainConnectionProvider.bIsTransactionPending) { scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction; } } // Execute query. sdaAdapter.Fill(dtToReturn); m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value; if(m_iErrorCode != (int)LLBLError.AllOk) { // Throw error. throw new Exception("Stored Procedure 'pr_dokumentstatus_SelectAll' reported the ErrorCode: " + m_iErrorCode); } return dtToReturn; } catch(Exception ex) { // some error occured. Bubble it to caller and encapsulate Exception object throw new Exception("clsDokumentstatus::SelectAll::Error occured.", ex); } finally { if(m_bMainConnectionIsCreatedLocal) { // Close connection. m_scoMainConnection.Close(); } scmCmdToExecute.Dispose(); sdaAdapter.Dispose(); } } #region Class Property Declarations public SqlInt32 iDokumentstatusnr { get { return m_iDokumentstatusnr; } set { SqlInt32 iDokumentstatusnrTmp = (SqlInt32)value; if(iDokumentstatusnrTmp.IsNull) { throw new ArgumentOutOfRangeException("iDokumentstatusnr", "iDokumentstatusnr can't be NULL"); } m_iDokumentstatusnr = value; } } public SqlInt32 iDokumenttypnr { get { return m_iDokumenttypnr; } set { m_iDokumenttypnr = value; } } public SqlInt32 iStatustypnr { get { return m_iStatustypnr; } set { m_iStatustypnr = value; } } public SqlInt32 iStatus_bezeichnungnr { get { return m_iStatus_bezeichnungnr; } set { m_iStatus_bezeichnungnr = value; } } public SqlInt32 iReihenfolge { get { return m_iReihenfolge; } set { SqlInt32 iReihenfolgeTmp = (SqlInt32)value; if(iReihenfolgeTmp.IsNull) { throw new ArgumentOutOfRangeException("iReihenfolge", "iReihenfolge can't be NULL"); } m_iReihenfolge = value; } } public SqlBoolean bFolgestatus_durch_anderen_verantwortlichen { get { return m_bFolgestatus_durch_anderen_verantwortlichen; } set { SqlBoolean bFolgestatus_durch_anderen_verantwortlichenTmp = (SqlBoolean)value; if(bFolgestatus_durch_anderen_verantwortlichenTmp.IsNull) { throw new ArgumentOutOfRangeException("bFolgestatus_durch_anderen_verantwortlichen", "bFolgestatus_durch_anderen_verantwortlichen can't be NULL"); } m_bFolgestatus_durch_anderen_verantwortlichen = value; } } public SqlBoolean bDokumentbearbeitung_moeglich { get { return m_bDokumentbearbeitung_moeglich; } set { SqlBoolean bDokumentbearbeitung_moeglichTmp = (SqlBoolean)value; if(bDokumentbearbeitung_moeglichTmp.IsNull) { throw new ArgumentOutOfRangeException("bDokumentbearbeitung_moeglich", "bDokumentbearbeitung_moeglich can't be NULL"); } m_bDokumentbearbeitung_moeglich = value; } } public SqlInt32 iErledigung_ab { get { return m_iErledigung_ab; } set { SqlInt32 iErledigung_abTmp = (SqlInt32)value; if(iErledigung_abTmp.IsNull) { throw new ArgumentOutOfRangeException("iErledigung_ab", "iErledigung_ab can't be NULL"); } m_iErledigung_ab = value; } } public SqlBoolean bDokument_ausgangsarchivieren { get { return m_bDokument_ausgangsarchivieren; } set { m_bDokument_ausgangsarchivieren = value; } } public SqlBoolean bDokument_bearbeitung_abgeschlossen { get { return m_bDokument_bearbeitung_abgeschlossen; } set { m_bDokument_bearbeitung_abgeschlossen = value; } } public SqlInt32 iMandantnr { get { return m_iMandantnr; } set { m_iMandantnr = value; } } public SqlBoolean bAktiv { get { return m_bAktiv; } set { m_bAktiv = value; } } public SqlDateTime daErstellt_am { get { return m_daErstellt_am; } set { m_daErstellt_am = value; } } public SqlDateTime daMutiert_am { get { return m_daMutiert_am; } set { m_daMutiert_am = value; } } public SqlInt32 iMutierer { get { return m_iMutierer; } set { m_iMutierer = value; } } public SqlInt32 iStatustyp { get { return m_iStatustyp; } set { m_iStatustyp = value; } } #endregion } }