示例#1
0
        /// <summary>
        /// Executes the Client Task.
        /// </summary>
        public override void Execute()
        {
            try
            {
                switch (FClientTaskDataRow["TaskGroup"].ToString())
                {
                // MessageBox.Show('Executing Client Task #' + FClientTaskDataRow['TaskID'].ToString + ' in Thread.');
                case SharedConstants.CLIENTTASKGROUP_USERMESSAGE:
                {
                    //MessageBox.Show(SharedConstants.CLIENTTASKGROUP_USERMESSAGE + " (Client Task #" +
                    //    FClientTaskDataRow["TaskID"].ToString() + "): " + FClientTaskDataRow["TaskCode"].ToString(),
                    //    "Client #" + UserInfo.GUserInfo.ProcessID.ToString() + " received a ClientTask.");

                    ShowMessageBoxOnTopOfAllFormsAutoParsed();

                    break;
                }

                case SharedConstants.CLIENTTASKGROUP_CACHEREFRESH:
                {
                    if (FClientTaskDataRow["TaskParameter1"].ToString() == "")
                    {
                        TDataCache.ReloadCacheTable(FClientTaskDataRow["TaskCode"].ToString());
                    }
                    else
                    {
                        TDataCache.ReloadCacheTable(FClientTaskDataRow["TaskCode"].ToString(), FClientTaskDataRow["TaskParameter1"]);
                    }

                    break;
                }

                case SharedConstants.CLIENTTASKGROUP_USERDEFAULTSREFRESH:
                {
                    if (FClientTaskDataRow["TaskCode"].ToString() == "All")
                    {
//                            TLogging.Log("FClientTaskDataRow[TaskCode] = All!");
                        TUserDefaults.ReloadCachedUserDefaults();
                        TUserDefaults.SaveChangedUserDefaults();
                    }
                    else
                    {
//                            TLogging.Log("FClientTaskDataRow[TaskCode] <> All, but '" + FClientTaskDataRow["TaskCode"].ToString() + "'" +
//                                "FClientTaskDataRow[TaskParameter1]: '" + FClientTaskDataRow["TaskParameter1"].ToString() + "'\r\n" +
//                                "FClientTaskDataRow[TaskParameter2]: '" + FClientTaskDataRow["TaskParameter2"].ToString() + "'\r\n" +
//                                "FClientTaskDataRow[TaskParameter3]: '" + FClientTaskDataRow["TaskParameter3"].ToString() + "'" +
//                                ((FClientTaskDataRow["TaskParameter4"] != System.DBNull.Value) ? "\r\nFClientTaskDataRow[TaskParameter4]: '" +
//                                 FClientTaskDataRow["TaskParameter4"].ToString() + "'" : "\r\nFClientTaskDataRow[TaskParameter4]: DBNull"));
                        TUserDefaults.RefreshCachedUserDefault(
                            FClientTaskDataRow["TaskParameter1"].ToString(), FClientTaskDataRow["TaskParameter2"].ToString(),
                            FClientTaskDataRow["TaskParameter3"].ToString(),
                            ((FClientTaskDataRow["TaskParameter4"] != System.DBNull.Value) ?
                             Convert.ToInt32(FClientTaskDataRow["TaskParameter4"]) : -1));
                    }

                    break;
                }

                case SharedConstants.CLIENTTASKGROUP_USERINFOREFRESH:
                {
                    TUserInfo.ReloadCachedUserInfo();
                    break;
                }

                case RemotingConstants.CLIENTTASKGROUP_DISCONNECT:
                {
                    if (FClientTaskDataRow["TaskCode"].ToString() == "IMMEDIATE")
                    {
                        TLogging.Log("Client disconnected due to server disconnection request.");

                        PetraClientShutdown.Shutdown.SaveUserDefaultsAndDisconnectAndStop();
                    }

                    if (FClientTaskDataRow["TaskCode"].ToString() == "IMMEDIATE-HARDEXIT")
                    {
                        TLogging.Log(
                            "Application stopped due to server disconnection request (without saving of User Defaults or disconnection).");

                        // APPLICATION STOPS HERE !!!
                        Environment.Exit(0);
                    }

                    break;
                }

                case SharedConstants.CLIENTTASKGROUP_REPORT:
                {
                    FastReportsPrintReportNoUiDelegate(FClientTaskDataRow["TaskCode"].ToString(), FClientTaskDataRow["TaskParameter1"].ToString());
                    break;
                }

                case SharedConstants.CLIENTTASKGROUP_DBCONNECTIONBROKEN:
                {
                    //MessageBox.Show(SharedConstants.CLIENTTASKGROUP_DBCONNECTIONBROKEN + " (Client Task #" +
                    //    FClientTaskDataRow["TaskID"].ToString() + "): " + FClientTaskDataRow["TaskCode"].ToString(),
                    //    "Client #" + UserInfo.GUserInfo.ProcessID.ToString() + " received a ClientTask.");

                    ShowMessageBoxOnTopOfAllFormsDBConnectionBroken();

                    break;
                }
                }
            }
            catch (Exception Exp)
            {
//              MessageBox.Show("Exception occured in TClientTaskInstance.Execute: \r\n" + Exp.ToString());
                TLogging.Log("Exception occured in TClientTaskInstance.Execute: \r\n" + Exp.ToString());
            }
        }
示例#2
0
        /// <summary>
        /// Executes the Client Task.
        /// </summary>
        public override void Execute()
        {
            try
            {
                switch (FClientTaskDataRow["TaskGroup"].ToString())
                {
                // MessageBox.Show('Executing Client Task #' + FClientTaskDataRow['TaskID'].ToString + ' in Thread.');
                case SharedConstants.CLIENTTASKGROUP_USERMESSAGE:
                {
                    // MessageBox.Show(CLIENTTASKGROUP_USERMESSAGE + ' (Client Task #' + FClientTaskDataRow['TaskID'].ToString + '): ' + FClientTaskDataRow['TaskCode'].ToString, 'Client #' + UClientID.ToString + ' received a ClientTask.');
                    MessageBox.Show(FClientTaskDataRow["TaskCode"].ToString(), "OpenPetra Message");
                    break;
                }

                case SharedConstants.CLIENTTASKGROUP_CACHEREFRESH:
                {
                    if (FClientTaskDataRow["TaskParameter1"].ToString() == "")
                    {
                        TDataCache.ReloadCacheTable(FClientTaskDataRow["TaskCode"].ToString());
                    }
                    else
                    {
                        TDataCache.ReloadCacheTable(FClientTaskDataRow["TaskCode"].ToString(), FClientTaskDataRow["TaskParameter1"]);
                    }

                    break;
                }

                case SharedConstants.CLIENTTASKGROUP_USERDEFAULTSREFRESH:
                {
                    if (FClientTaskDataRow["TaskCode"].ToString() == "All")
                    {
                        // MessageBox.Show('FClientTaskDataRow[''TaskCode''] = All!');
                        TUserDefaults.ReloadCachedUserDefaults();
                        TUserDefaults.SaveChangedUserDefaults();
                    }
                    else
                    {
                        // MessageBox.Show('FClientTaskDataRow[''TaskCode''] <> All, but ''' + FClientTaskDataRow['TaskCode'].ToString + '''');
                        // MessageBox.Show('FClientTaskDataRow[''TaskParameter1'']: ' + FClientTaskDataRow['TaskParameter1'].ToString + "\r\n" +
                        // 'FClientTaskDataRow[''TaskParameter2'']: ' + FClientTaskDataRow['TaskParameter2'].ToString + "\r\n" +
                        // 'FClientTaskDataRow[''TaskParameter3'']: ' + FClientTaskDataRow['TaskParameter3'].ToString);
                        TUserDefaults.RefreshCachedUserDefault(
                            FClientTaskDataRow["TaskParameter1"].ToString(), FClientTaskDataRow["TaskParameter2"].ToString(),
                            FClientTaskDataRow["TaskParameter3"].ToString());
                    }

                    break;
                }

                case SharedConstants.CLIENTTASKGROUP_USERINFOREFRESH:
                {
                    TUserInfo.ReloadCachedUserInfo();
                    break;
                }

                case RemotingConstants.CLIENTTASKGROUP_DISCONNECT:
                {
                    if (FClientTaskDataRow["TaskCode"].ToString() == "IMMEDIATE")
                    {
                        TLogging.Log("Client disconnected due to server disconnection request.");

                        PetraClientShutdown.Shutdown.SaveUserDefaultsAndDisconnectAndStop();
                    }

                    if (FClientTaskDataRow["TaskCode"].ToString() == "IMMEDIATE-HARDEXIT")
                    {
                        TLogging.Log(
                            "Application stopped due to server disconnection request (without saving of User Defaults or disconnection).");

                        // APPLICATION STOPS HERE !!!
                        Environment.Exit(0);
                    }

                    break;
                }

                case SharedConstants.CLIENTTASKGROUP_REPORT:
                {
                    FastReportsPrintReportNoUiDelegate(FClientTaskDataRow["TaskCode"].ToString(), FClientTaskDataRow["TaskParameter1"].ToString());
                    break;
                }
                }
            }
            catch (Exception Exp)
            {
//              MessageBox.Show("Exception occured in TClientTaskInstance.Execute: \r\n" + Exp.ToString());
                TLogging.Log("Exception occured in TClientTaskInstance.Execute: \r\n" + Exp.ToString());
            }
        }