/// <summary>
		/// Selects DIC_TextLanguage values from Database and assigns them to the appropriate DO_DIC_TextLanguage property.
		/// </summary>
		/// <param name="IFText_in">IFText</param>
		/// <param name="IFLanguage_in">IFLanguage</param>
		/// <param name="dbConnection_in">Database connection, making the use of Database Transactions possible on a sequence of operations across the same or multiple DataObjects</param>
		/// <returns>null if DIC_TextLanguage doesn't exists at Database</returns>
		public static SO_DIC_TextLanguage getObject(
			long IFText_in, 
			int IFLanguage_in, 
			DBConnection dbConnection_in
		) {
			SO_DIC_TextLanguage _output = null;

			DBConnection _connection = (dbConnection_in == null)
				? DO__utils.DBConnection_createInstance(
					DO__utils.DBServerType,
					DO__utils.DBConnectionstring,
					DO__utils.DBLogfile
				) 
				: dbConnection_in;
			IDbDataParameter[] _dataparameters = new IDbDataParameter[] {
				_connection.newDBDataParameter("IFText_", DbType.Int64, ParameterDirection.InputOutput, IFText_in, 0), 
				_connection.newDBDataParameter("IFLanguage_", DbType.Int32, ParameterDirection.InputOutput, IFLanguage_in, 0), 
				_connection.newDBDataParameter("CharVar8000_", DbType.AnsiString, ParameterDirection.Output, null, 8000), 
				_connection.newDBDataParameter("Text_", DbType.AnsiString, ParameterDirection.Output, null, 0)
			};
			_connection.Execute_SQLFunction("sp0_DIC_TextLanguage_getObject", _dataparameters);
			if (dbConnection_in == null) { _connection.Dispose(); }

			if (_dataparameters[0].Value != DBNull.Value) {
				_output = new SO_DIC_TextLanguage();

				if (_dataparameters[0].Value == System.DBNull.Value) {
					_output.IFText = 0L;
				} else {
					_output.IFText = (long)_dataparameters[0].Value;
				}
				if (_dataparameters[1].Value == System.DBNull.Value) {
					_output.IFLanguage = 0;
				} else {
					_output.IFLanguage = (int)_dataparameters[1].Value;
				}
				if (_dataparameters[2].Value == System.DBNull.Value) {
					_output.CharVar8000_isNull = true;
				} else {
					_output.CharVar8000 = (string)_dataparameters[2].Value;
				}
				if (_dataparameters[3].Value == System.DBNull.Value) {
					_output.Text_isNull = true;
				} else {
					_output.Text = (string)_dataparameters[3].Value;
				}

				_output.haschanges_ = false;
				return _output;
			}

			return null;
		}
		private static SO_DIC_TextLanguage[] getRecord(
			DataTable dataTable_in
		) {
			DataColumn _dc_iftext = null;
			DataColumn _dc_iflanguage = null;
			DataColumn _dc_charvar8000 = null;
			DataColumn _dc_text = null;

			SO_DIC_TextLanguage[] _output 
				= new SO_DIC_TextLanguage[dataTable_in.Rows.Count];
			for (int r = 0; r < dataTable_in.Rows.Count; r++) {
				if (r == 0) {
					_dc_iftext = dataTable_in.Columns["IFText"];
					_dc_iflanguage = dataTable_in.Columns["IFLanguage"];
					_dc_charvar8000 = dataTable_in.Columns["CharVar8000"];
					_dc_text = dataTable_in.Columns["Text"];
				}

				_output[r] = new SO_DIC_TextLanguage();
				if (dataTable_in.Rows[r][_dc_iftext] == System.DBNull.Value) {
					_output[r].iftext_ = 0L;
				} else {
					_output[r].iftext_ = (long)dataTable_in.Rows[r][_dc_iftext];
				}
				if (dataTable_in.Rows[r][_dc_iflanguage] == System.DBNull.Value) {
					_output[r].iflanguage_ = 0;
				} else {
					_output[r].iflanguage_ = (int)dataTable_in.Rows[r][_dc_iflanguage];
				}
				if (dataTable_in.Rows[r][_dc_charvar8000] == System.DBNull.Value) {
					_output[r].CharVar8000_isNull = true;
				} else {
					_output[r].charvar8000_ = (string)dataTable_in.Rows[r][_dc_charvar8000];
				}
				if (dataTable_in.Rows[r][_dc_text] == System.DBNull.Value) {
					_output[r].Text_isNull = true;
				} else {
					_output[r].text_ = (string)dataTable_in.Rows[r][_dc_text];
				}

				_output[r].haschanges_ = false;
			}

			return _output;
		}
		/// <summary>
		/// Inserts/Updates DIC_TextLanguage values into/on Database. Inserts if DIC_TextLanguage doesn't exist or Updates if DIC_TextLanguage already exists.
		/// </summary>
		/// <param name="forceUpdate_in">assign with True if you wish to force an Update (even if no changes have been made since last time getObject method was run) and False if not</param>
		/// <param name="dbConnection_in">Database connection, making the use of Database Transactions possible on a sequence of operations across the same or multiple DataObjects</param>
		/// <returns>True if it didn't exist (INSERT), and False if it did exist (UPDATE)</returns>
		public static bool setObject(
			SO_DIC_TextLanguage DIC_TextLanguage_in, 
			bool forceUpdate_in, 
			DBConnection dbConnection_in
		) {
			bool ConstraintExist_out;
			if (forceUpdate_in || DIC_TextLanguage_in.haschanges_) {
				DBConnection _connection = (dbConnection_in == null)
					? DO__utils.DBConnection_createInstance(
						DO__utils.DBServerType,
						DO__utils.DBConnectionstring,
						DO__utils.DBLogfile
					) 
					: dbConnection_in;
				IDbDataParameter[] _dataparameters = new IDbDataParameter[] {
					_connection.newDBDataParameter("IFText_", DbType.Int64, ParameterDirection.Input, DIC_TextLanguage_in.IFText, 0), 
					_connection.newDBDataParameter("IFLanguage_", DbType.Int32, ParameterDirection.Input, DIC_TextLanguage_in.IFLanguage, 0), 
					_connection.newDBDataParameter("CharVar8000_", DbType.AnsiString, ParameterDirection.Input, DIC_TextLanguage_in.CharVar8000_isNull ? null : (object)DIC_TextLanguage_in.CharVar8000, 8000), 
					_connection.newDBDataParameter("Text_", DbType.AnsiString, ParameterDirection.Input, DIC_TextLanguage_in.Text_isNull ? null : (object)DIC_TextLanguage_in.Text, 0), 

					//_connection.newDBDataParameter("Exists", DbType.Boolean, ParameterDirection.Output, 0, 1)
					_connection.newDBDataParameter("Output_", DbType.Int32, ParameterDirection.Output, null, 0)
				};
				_connection.Execute_SQLFunction(
					"sp0_DIC_TextLanguage_setObject", 
					_dataparameters
				);
				if (dbConnection_in == null) { _connection.Dispose(); }

				ConstraintExist_out = (((int)_dataparameters[4].Value & 2) == 1);
				if (!ConstraintExist_out) {
					DIC_TextLanguage_in.haschanges_ = false;
				}

				return (((int)_dataparameters[4].Value & 1) != 1);
			} else {
				ConstraintExist_out = false;

				return  false;
			}
		}
		/// <summary>
		/// Inserts/Updates DIC_TextLanguage values into/on Database. Inserts if DIC_TextLanguage doesn't exist or Updates if DIC_TextLanguage already exists.
		/// </summary>
		/// <param name="forceUpdate_in">assign with True if you wish to force an Update (even if no changes have been made since last time getObject method was run) and False if not</param>
		/// <returns>True if it didn't exist (INSERT), and False if it did exist (UPDATE)</returns>
		public static bool setObject(
			SO_DIC_TextLanguage DIC_TextLanguage_in, 
			bool forceUpdate_in
		) {
			return setObject(
				DIC_TextLanguage_in, 
				forceUpdate_in, 
				null
			);
		}
		public static DataTable getDataTable(
			SO_DIC_TextLanguage[] serializableobjects_in
		) {
			DataTable _output = new DataTable();
			DataRow _dr;

			DataColumn _dc_iftext = new DataColumn("IFText", typeof(long));
			_output.Columns.Add(_dc_iftext);
			DataColumn _dc_iflanguage = new DataColumn("IFLanguage", typeof(int));
			_output.Columns.Add(_dc_iflanguage);
			DataColumn _dc_charvar8000 = new DataColumn("CharVar8000", typeof(string));
			_output.Columns.Add(_dc_charvar8000);
			DataColumn _dc_text = new DataColumn("Text", typeof(string));
			_output.Columns.Add(_dc_text);

			foreach (SO_DIC_TextLanguage _serializableobject in serializableobjects_in) {
				_dr = _output.NewRow();

				_dr[_dc_iftext] = _serializableobject.IFText;
				_dr[_dc_iflanguage] = _serializableobject.IFLanguage;
				_dr[_dc_charvar8000] = _serializableobject.CharVar8000;
				_dr[_dc_text] = _serializableobject.Text;

				_output.Rows.Add(_dr);
			}

			return _output;
		}
		public static void updObject(
			DBConnection dbConnection_in,

			long idText_in,

			params OGen.NTier.Kick.lib.datalayer.shared.structures.SO_DIC__TextLanguage[] textLanguage_in
		) {
			SO_DIC_TextLanguage _textlanguage;
			foreach (OGen.NTier.Kick.lib.datalayer.shared.structures.SO_DIC__TextLanguage _text in textLanguage_in) {
				#region _textlanguage = ...;
				_textlanguage 
					= new SO_DIC_TextLanguage(
						idText_in,
						_text.IFLanguage,
						"",
						""
					);
				if (_text.Text.Length > 8000) {
					_textlanguage.Text = _text.Text;
					_textlanguage.CharVar8000_isNull = true;
				} else {
					_textlanguage.Text_isNull = true;
					_textlanguage.CharVar8000 = _text.Text;
				}
				#endregion
				DO_DIC_TextLanguage.setObject(
					_textlanguage,
					true, 

					dbConnection_in
				);
			}
		}