Ejemplo n.º 1
0
        public static void delObject(
            string sessionGuid_in,
            string ip_forLogPurposes_in,

            long idAttachment_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(
                    false,
                    PermissionType.News__delete_Approved,
                    PermissionType.News__delete_Mine_notApproved
                    )
                )
            {
                _errorlist.Add(ErrorType.news__lack_of_permissions_to_delete);
                errors_out = _errorlist.ToArray();
                return;
            }
            #endregion
            #region check existence...
            SO_NWS_Attachment _attachment;
            if (
                idAttachment_in <= 0
                ||
                (
                    (_attachment = DO_NWS_Attachment.getObject(
                         idAttachment_in
                         )) == null
                )
                )
            {
                _errorlist.Add(ErrorType.data__not_found);
                errors_out = _errorlist.ToArray();
                return;
            }
            #endregion
            #region             //check References . . . (no references to check)
            //if (
            //    (DO_NWS_ContentAuthor.getCount_inRecord_byAuthor(
            //        idAttachment_in
            //    ) > 0)
            //) {
            //    _errors.Add(ErrorType.data__constraint_violation);
            //    errors_out = _errors.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();

                DO_NWS_Attachment.delObject(
                    idAttachment_in,

                    _con
                    );
                #region SBO_DIC_Dic.delObject(_con, _attachment.TX_Name);
                if (!_attachment.TX_Name_isNull)
                {
                    SBO_DIC_Dic.delObject(
                        _con,

                        _attachment.TX_Name
                        );
                }
                #endregion
                #region SBO_DIC_Dic.delObject(_con, _attachment.TX_Description);
                if (!_attachment.TX_Description_isNull)
                {
                    SBO_DIC_Dic.delObject(
                        _con,

                        _attachment.TX_Description
                        );
                }
                #endregion

                _errorlist.Add(ErrorType.news__attachment__successfully_deleted__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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        public static long insObject(
            string sessionGuid_in,
            string ip_forLogPurposes_in,

            SO_NWS_Attachment attachment_in,
            SO_DIC__TextLanguage[] tx_Name_in,
            SO_DIC__TextLanguage[] tx_Description_in,

            bool selectIdentity_in,

            out string guid_out,

            out int[] errors_out
            )
        {
            guid_out = "";
            long _output = -1L;

            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(_output);
            }
            #endregion
            #region check Existence . . .
            if (
                (attachment_in.IFContent <= 0)
                ||
                !DO_NWS_Content.isObject(attachment_in.IFContent)
                )
            {
                _errorlist.Add(ErrorType.data__not_found);
                errors_out = _errorlist.ToArray();
                return(_output);
            }
            #endregion

            // ToDos: here! should mark Content to be re-Approved!
            // ToDos: here! or not allow if no approve permission

            attachment_in.GUID
                  = guid_out
                  = Guid.NewGuid().ToString("N");
            attachment_in.Order = DateTime.Now.Ticks;

            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 {
                //if (
                //    (
                //        (tx_Name_in != null)
                //        &&
                //        (tx_Name_in.Length != 0))
                //    ||
                //    (
                //        (tx_Description_in != null)
                //        &&
                //        (tx_Description_in.Length != 0)
                //    )
                //) {
                _con.Open();
                _con.Transaction.Begin();
                //}

                #region content_in.TX_Name = ...;
                if (
                    (tx_Name_in == null)
                    ||
                    (tx_Name_in.Length == 0)
                    )
                {
                    attachment_in.TX_Name_isNull = true;
                }
                else
                {
                    attachment_in.TX_Name = SBO_DIC_Dic.insObject(
                        _con,

                        _sessionuser.IDApplication,
                        OGen.NTier.Kick.Libraries.BusinessLayer.Shared.TableFieldSource.NWS_ATTACHMENT__TX_NAME,

                        tx_Name_in
                        );
                }
                #endregion
                #region content_in.TX_Description = ...;
                if (
                    (tx_Description_in == null)
                    ||
                    (tx_Description_in.Length == 0)
                    )
                {
                    attachment_in.TX_Description_isNull = true;
                }
                else
                {
                    attachment_in.TX_Description = SBO_DIC_Dic.insObject(
                        _con,

                        _sessionuser.IDApplication,
                        OGen.NTier.Kick.Libraries.BusinessLayer.Shared.TableFieldSource.NWS_ATTACHMENT__TX_DESCRIPTION,

                        tx_Description_in
                        );
                }
                #endregion

                _output = DO_NWS_Attachment.insObject(
                    attachment_in,
                    selectIdentity_in,

                    _con
                    );
                _errorlist.Add(ErrorType.news__attachment__successfully_created__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();
            return(_output);
        }
Ejemplo n.º 4
0
        public static void delObject(
            string sessionGuid_in,
            string ip_forLogPurposes_in,

            long idTag_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.Tag__delete
                    )
                )
            {
                _errorlist.Add(ErrorType.tag__lack_of_permissions_to_delete);
                errors_out = _errorlist.ToArray();
                return;
            }
            #endregion
            #region check existence . . .
            SO_NWS_Tag _tag;
            if (
                idTag_in <= 0
                ||
                (
                    (_tag = DO_NWS_Tag.getObject(
                         idTag_in
                         )) == null
                )
                )
            {
                _errorlist.Add(ErrorType.data__not_found);
                errors_out = _errorlist.ToArray();
                return;
            }
            #endregion
            #region check Permissions . . . (more)
            if (
                // is approved
                (
                    !_tag.IFUser__Approved_isNull
                    ||
                    !_tag.Approved_date_isNull
                )
                &&
                // and no permission to approve
                !_sessionuser.hasPermission(
                    PermissionType.Tag__approve
                    )
                )
            {
                _errorlist.Add(ErrorType.tag__lack_of_permissions_to_delete_approved);
                errors_out = _errorlist.ToArray();
                return;
            }
            #endregion
            #region check References . . .
            if (
                (DO_NWS_ContentTag.getCount_inRecord_byTag(
                     idTag_in
                     ) > 0)
                ||
                (DO_NWS_Tag.getCount_inRecord_byParent(
                     idTag_in,
                     _sessionuser.IDApplication                    // ToDos: here! this should not be needed!
                     ) > 0)
                )
            {
                _errorlist.Add(ErrorType.data__constraint_violation);
                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();

                DO_NWS_Tag.delObject(
                    idTag_in,

                    _con
                    );

                SBO_DIC_Dic.delObject(
                    _con,

                    _tag.TX_Name
                    );

                _errorlist.Add(ErrorType.tag__successfully_deleted__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();
        }
Ejemplo n.º 5
0
        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();
        }
Ejemplo n.º 6
0
        public static long insObject(
            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,

            bool selectIdentity_in,

            out int[] errors_out
            )
        {
            long        _output = -1L;
            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(_output);
            }
            #endregion

            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;
            }

            tag_in.IFApplication = _sessionuser.IDApplication;

            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();

                long _tx_name = SBO_DIC_Dic.insObject(
                    _con,
                    _sessionuser.IDApplication,
                    TableFieldSource.NWS_TAG__TX_NAME,
                    tx_Name_in
                    );

                tag_in.TX_Name = _tx_name;
                _output        = DO_NWS_Tag.insObject(
                    tag_in,
                    selectIdentity_in,

                    _con
                    );
                _errorlist.Add(ErrorType.tag__successfully_created__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();
            return(_output);
        }