protected virtual void SlackSetup_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
        {
            SlackSetup row = (SlackSetup)e.Row;

            if (row == null)
            {
                return;
            }
            PXUIFieldAttribute.SetEnabled <SlackSetup.cRCaseChannel>(SetupRecord.Cache, row, (bool)row.EnableCRCase);
        }
        public SlackProcessing()
        {
            SlackSetup setup = Setup.Current;

            Messages.SetProcessDelegate(
                delegate(List <SlackMessage> list)
            {
                Process(list, true);
            }
                );
        }
        public static void Process(List <SlackMessage> list, bool isMassProcess)
        {
            string            errorMessage  = string.Empty;
            bool              erroroccurred = false;
            SlackSetupMaint   setupGraph    = PXGraph.CreateInstance <SlackSetupMaint>();
            SlackMessageMaint graph         = PXGraph.CreateInstance <SlackMessageMaint>();
            SlackSetup        setup         = setupGraph.SetupRecord.SelectSingle();

            foreach (SlackMessage message in list)
            {
                try
                {
                    if ((bool)message.IsSimple)
                    {
                        var msg = createSimpleMessage(message);
                        WebRequest.postRequest(setup.SlackURL, msg);
                    }
                    else
                    {
                        //var  msg = createDetailMessage(message);
                        var msg = createDetailMessageWithFields(setup.AcumaticaURL, message);
                        WebRequest.postRequest(setup.SlackURL, msg);
                    }
                    message.Released = true;
                    graph.Messages.Update(message);
                    graph.Save.Press();
                    PXProcessing <SlackMessage> .SetInfo(list.IndexOf(message), "Processed.");
                }
                catch (Exception ex)
                {
                    errorMessage  = ex.Message;
                    erroroccurred = true;
                    PXProcessing <SlackMessage> .SetError(list.IndexOf(message), String.Format("{0}", ex.Message));
                }
            }
            if (erroroccurred && isMassProcess)
            {
                throw new PXException("A least one Transaction hasn't been processed.");
            }
            if (erroroccurred && !isMassProcess)
            {
                throw new PXException(errorMessage);
            }
        }