internal static long insObject( DBConnection dbConnection_in, int idApplication_in, int sourceTableField_ref_in, params OGen.NTier.Kick.Libraries.DataLayer.Shared.Structures.SO_DIC__TextLanguage[] textLanguage_in ) { if (textLanguage_in.Length == 0) { return(-1L); } #region SO_DIC_Text _text = ...; SO_DIC_Text _text = new SO_DIC_Text( -1, idApplication_in, sourceTableField_ref_in ); if (idApplication_in <= 0) { _text.IFApplication_isNull = true; } if (sourceTableField_ref_in <= 0) { _text.SourceTableField_ref_isNull = true; } #endregion long _idtext = DO_DIC_Text.insObject( _text, true, dbConnection_in ); updObject( dbConnection_in, _idtext, textLanguage_in ); return(_idtext); }
public static void insLanguage( string sessionGuid_in, string ip_forLogPurposes_in, SO_DIC__TextLanguage[] languageName_in, SO_DIC__TextLanguage[] existingLanguagesInNewLanguage_in, out int[] errors_out ) { List <int> _errorlist; Guid _sessionguid; Sessionuser _sessionuser; #region check... if (!SBO_CRD_Authentication.isSessionGuid_valid( sessionGuid_in, ip_forLogPurposes_in, out _sessionguid, out _sessionuser, out _errorlist, out errors_out )) { //// no need! //errors_out = _errors.ToArray(); return; } #endregion #region check permissions... if (!_sessionuser.hasPermission(PermissionType.Language__insert)) { _errorlist.Add(ErrorType.language__lack_of_permissions_to_write); errors_out = _errorlist.ToArray(); return; } #endregion Exception _exception = null; #region DBConnection _con = DO__Utilities.DBConnection_createInstance(...); DBConnection _con = DO__Utilities.DBConnection_createInstance( DO__Utilities.DBServerType, DO__Utilities.DBConnectionstring, DO__Utilities.DBLogfile ); #endregion try { _con.Open(); _con.Transaction.Begin(); #region long _idtext = DO_DIC_Text.insObject(...); #region SO_DIC_Text _text = ...; SO_DIC_Text _text = new SO_DIC_Text( -1L, -1, -1 ); _text.IFApplication_isNull = true; _text.SourceTableField_ref_isNull = true; #endregion long _idtext = DO_DIC_Text.insObject( _text, true, _con ); #endregion #region int _idlanguage = DO_DIC_Language.insObject(...); int _idlanguage = DO_DIC_Language.insObject( new SO_DIC_Language( -1, _idtext ), true, _con ); #endregion for (int i = 0; i < languageName_in.Length; i++) { updObject( _con, _idtext, (languageName_in[i].IFLanguage > 0) // name of the new language on existing languages ? languageName_in[i] // name of the new language (on new language) : new SO_DIC__TextLanguage( _idlanguage, languageName_in[i].Text ) ); } SO_DIC_TextLanguage _textlanguage; for (int i = 0; i < existingLanguagesInNewLanguage_in.Length; i++) { _textlanguage = new SO_DIC_TextLanguage(); _textlanguage.IFText = DO_DIC_Language.getObject( existingLanguagesInNewLanguage_in[i].IFLanguage ).TX_Name; _textlanguage.IFLanguage = _idlanguage; if (existingLanguagesInNewLanguage_in[i].Text.Length > 8000) { _textlanguage.Text__large = existingLanguagesInNewLanguage_in[i].Text; _textlanguage.Text__small_isNull = true; } else { _textlanguage.Text__large_isNull = true; _textlanguage.Text__small = existingLanguagesInNewLanguage_in[i].Text; } DO_DIC_TextLanguage.setObject( _textlanguage, true, _con ); } #region _con.Transaction.Commit(); if (_con.Transaction.InTransaction) { _con.Transaction.Commit(); } #endregion _errorlist.Add(ErrorType.language__successfully_created__WARNING); } catch (Exception _ex) { #region _con.Transaction.Rollback(); if ( _con.IsOpen && _con.Transaction.InTransaction ) { _con.Transaction.Rollback(); } #endregion _exception = _ex; } finally { #region _con.Transaction.Terminate(); _con.Close(); _con.Dispose(); if (_con.IsOpen) { if (_con.Transaction.InTransaction) { _con.Transaction.Terminate(); } _con.Close(); } _con.Dispose(); #endregion } if (_exception != null) { #region SBO_LOG_Log.log(ErrorType.data); OGen.NTier.Kick.Libraries.BusinessLayer.SBO_LOG_Log.log( _sessionuser, LogType.error, ErrorType.data, -1L, _sessionuser.IDApplication, "{0}", new string[] { _exception.Message } ); #endregion _errorlist.Add(ErrorType.data); } errors_out = _errorlist.ToArray(); }