public static void updObject( string sessionGuid_in, string ip_forLogPurposes_in, SO_NWS_Attachment attachment_in, SO_DIC__TextLanguage[] tx_Name_in, SO_DIC__TextLanguage[] tx_Description_in, out int[] errors_out ) { Guid _sessionguid; Sessionuser _sessionuser; #region check... List <int> _errorlist; if (!check( sessionGuid_in, ip_forLogPurposes_in, ref attachment_in, out _sessionguid, out _sessionuser, out _errorlist )) { errors_out = _errorlist.ToArray(); return; } #endregion #region check existence . . . SO_NWS_Attachment _attachment; if ( attachment_in.IDAttachment <= 0 || ( (_attachment = DO_NWS_Attachment.getObject( attachment_in.IDAttachment )) == null ) ) { _errorlist.Add(ErrorType.data__not_found); errors_out = _errorlist.ToArray(); return; } #endregion // ToDos: here! should mark Content to be re-Approved! // ToDos: here! or not allow if no approve permission 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 TX_Name . . . if ((tx_Name_in != null) && (tx_Name_in.Length != 0)) { if (_attachment.TX_Name_isNull) { _attachment.TX_Name = SBO_DIC_Dic.insObject( _con, _sessionuser.IDApplication, OGen.NTier.Kick.Libraries.BusinessLayer.Shared.TableFieldSource.NWS_ATTACHMENT__TX_NAME, tx_Name_in ); } else { SBO_DIC_Dic.updObject( _con, _attachment.TX_Name, tx_Name_in ); } } #endregion #region TX_Description . . . if ((tx_Description_in != null) && (tx_Description_in.Length != 0)) { if (_attachment.TX_Description_isNull) { _attachment.TX_Description = SBO_DIC_Dic.insObject( _con, _sessionuser.IDApplication, OGen.NTier.Kick.Libraries.BusinessLayer.Shared.TableFieldSource.NWS_ATTACHMENT__TX_DESCRIPTION, tx_Description_in ); } else { SBO_DIC_Dic.updObject( _con, _attachment.TX_Description, tx_Description_in ); } } #endregion //_attachment.??? = attachment_in.???; DO_NWS_Attachment.updObject( _attachment, true, _con ); _errorlist.Add(ErrorType.news__attachment__successfully_updated__WARNING); #region _con.Transaction.Commit(); if ( _con.IsOpen && _con.Transaction.InTransaction ) { _con.Transaction.Commit(); } #endregion } 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(); }
public static void updObject( string sessionGuid_in, string ip_forLogPurposes_in, SO_NWS_Tag tag_in, OGen.NTier.Kick.Libraries.DataLayer.Shared.Structures.SO_DIC__TextLanguage[] tx_Name_in, out int[] errors_out ) { Guid _sessionguid; Sessionuser _sessionuser; #region check... List <int> _errorlist; if (!check( sessionGuid_in, ip_forLogPurposes_in, ref tag_in, tx_Name_in, out _sessionguid, out _sessionuser, out _errorlist )) { errors_out = _errorlist.ToArray(); return; } #endregion #region check existence . . . SO_NWS_Tag _tag; if ( tag_in.IDTag <= 0 || ( (_tag = DO_NWS_Tag.getObject( tag_in.IDTag )) == null ) ) { _errorlist.Add(ErrorType.data__not_found); errors_out = _errorlist.ToArray(); return; } #endregion if ( _tag.IFUser__Approved_isNull || _tag.Approved_date_isNull ) { if (_sessionuser.hasPermission(PermissionType.Tag__approve)) { tag_in.Approved_date = DateTime.Now; tag_in.IFUser__Approved = _sessionuser.IDUser; } else { tag_in.Approved_date_isNull = true; tag_in.IFUser__Approved_isNull = true; } } else { tag_in.Approved_date = _tag.Approved_date; tag_in.IFUser__Approved = _tag.IFUser__Approved; } tag_in.IFApplication = _tag.IFApplication; 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 TX_Name . . . if ((tx_Name_in != null) && (tx_Name_in.Length != 0)) { SBO_DIC_Dic.updObject( _con, _tag.TX_Name, tx_Name_in ); } #endregion tag_in.TX_Name = _tag.TX_Name; DO_NWS_Tag.updObject( tag_in, true, _con ); _errorlist.Add(ErrorType.tag__successfully_updated__WARNING); #region _con.Transaction.Commit(); if ( _con.IsOpen && _con.Transaction.InTransaction ) { _con.Transaction.Commit(); } #endregion } 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(); }