Beispiel #1
0
        public override void NativeFormLoaded(object sender, FormOpenedArgs e)
        {
            openedForm = e.OpenForm;
            if (openedForm == null || (openedForm.IsDisposed || !openedForm.Text.Contains("Trigger")))
            {
                return;
            }

            RuleCDOHelper.DownloadCDO();
            RuleLockCDO  cdo    = RuleCDOHelper.CDO;
            int          id     = ((EllieMae.EMLite.Setup.TriggerEditor)openedForm.ActiveControl.TopLevelControl).Trigger.RuleID;
            RuleLockInfo locked = cdo.Rules?.FirstOrDefault(x => x.RuleID.Equals(id)) ?? (RuleLockInfo)null;

            TextBox comments = openedForm.AllControls <TextBox>().FirstOrDefault(x => x.Name.Equals("commentsTxt"));

            if (comments == null)
            {
                return;
            }

            Button ok = openedForm.AllControls <Button>().FirstOrDefault(x => x.Name.Equals("okBtn"));

            if (ok == null)
            {
                return;
            }

            ok.Click += Ok_Click;

            FlowLayoutPanel p = new FlowLayoutPanel();

            openedForm.Controls.Add(p);
            p.Left          = comments.Left;
            p.Top           = comments.Bottom + 20;
            p.Size          = comments.Size;
            p.FlowDirection = FlowDirection.LeftToRight;

            Locked = new CheckBox();
            p.Controls.Add(Locked);
            Locked.Text = "Lock Rule";

            TextBox lockedBy = new TextBox();

            p.Controls.Add(lockedBy);

            Button diff = new Button();

            p.Controls.Add(diff);
            diff.Text   = "Diff";
            diff.Click += Diff_Click;

            if (locked != null)
            {
                lockedBy.Text  = $"Locked By {locked.ID}";
                Locked.Checked = locked.Locked;
                ok.Enabled     = locked.Locked && locked.ID.Equals(EncompassHelper.User.ID) ? false : true;
            }
        }
Beispiel #2
0
        private void Ok_Click(object sender, EventArgs e)
        {
            TriggerInfo  info = ((EllieMae.EMLite.Setup.TriggerEditor)openedForm.ActiveControl.TopLevelControl).Trigger;
            RuleLockInfo f    = new RuleLockInfo(info)
            {
                ID       = EncompassHelper.User.ID,
                Locked   = Locked.Checked,
                RuleName = info.RuleName,
                RuleID   = info.RuleID
            };

            DataExchange data = EncompassApplication.Session.DataExchange;

            data.PostDataToUser("rulelock", JsonConvert.SerializeObject(f));
        }
        public override void DataExchangeReceived(object sender, DataExchangeEventArgs e)
        {
            if (!ConcurrentUser)
            {
                return;
            }

            RuleLockInfo info = JsonConvert.DeserializeObject <RuleLockInfo>(e.Data.ToString(), new Newtonsoft.Json.JsonSerializerSettings
            {
                TypeNameHandling  = Newtonsoft.Json.TypeNameHandling.Auto,
                NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore
            });


            RuleLockCDO cdo = CustomDataObject.Get <RuleLockCDO>(RuleLockCDO.Key);

            cdo.Rules.Add(info);
            CustomDataObject.Save <RuleLockCDO>(RuleLockCDO.Key, cdo);
        }
Beispiel #4
0
        public override void DataExchangeReceived(object sender, DataExchangeEventArgs e)
        {
            if (!ConcurrentUser)
            {
                return;
            }

            RuleLockInfo info = JsonConvert.DeserializeObject <RuleLockInfo>(e.Data.ToString(), new Newtonsoft.Json.JsonSerializerSettings
            {
                TypeNameHandling  = Newtonsoft.Json.TypeNameHandling.Auto,
                NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore
            });

            RuleLockCDO cdo = RuleCDOHelper.CDO;

            if (cdo.Rules == null)
            {
                cdo.Rules = new List <RuleLockInfo>();
            }
            cdo.Rules.Add(info);
            RuleCDOHelper.UpdateCDO(cdo);
            RuleCDOHelper.UploadCDO();
        }