Ejemplo n.º 1
0
        public void NotifyRecord(GDMRecord record, RecordAction action)
        {
            if (record == null)
            {
                return;
            }

            DateTime dtNow = DateTime.Now;

            switch (action)
            {
            case RecordAction.raAdd:
            case RecordAction.raEdit:
                record.ChangeDate.ChangeDateTime = dtNow;
                CheckChangedRecord(record, true);
                break;

            case RecordAction.raDelete:
            {
                CheckChangedRecord(record, false);

                IListView rView = GetRecordsViewByType(record.RecordType);
                if (rView != null)
                {
                    rView.DeleteRecord(record);

                    IHyperView hView = GetHyperViewByType(record.RecordType);
                    if ((hView != null) && (rView.ListMan.FilteredCount == 0))
                    {
                        hView.Lines.Clear();
                    }
                }
            }
            break;

            case RecordAction.raJump:
                break;

            case RecordAction.raMoveUp:
            case RecordAction.raMoveDown:
                break;
            }

            if (action != RecordAction.raJump)
            {
                fContext.Tree.Header.TransmissionDateTime = dtNow;
                fContext.Modified = true;

                AppHost.Instance.NotifyRecord(fView, record, action);
            }
        }