コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }