Example #1
0
        /// <summary>
        /// Print various reports
        /// </summary>
        /// <param name="type">Report to print</param>
        /// <param name="options">Options in JSON string format</param>
        /// <param name="options.baxiArgs">TransferAmount arguments in JSON string format</param>
        /// <returns>JSON payload sent to the terminal</returns>
        public string PrintReport(string type, string options = "{}")
        {
            var opts = JsonConvert.DeserializeObject <OperationOptions>(options);
            Operation <AdministrationArgs> op = null;

            switch (type.ToUpper())
            {
            case "Z":
                op = new ZReport(baxiArgs: opts.baxiArgs);
                break;

            case "X":
                op = new XReport(baxiArgs: opts.baxiArgs);
                break;

            case "EOT":
                op = new EOTReport(baxiArgs: opts.baxiArgs);
                break;

            case "LATEST":
            case "TRANSACTION":
            case "LATESTTRANSACTION":
                op = new LatestTransactionReport(baxiArgs: opts.baxiArgs);
                break;

            default:
                throw new NotImplementedException(string.Format("Report of type {0} is not supported.", type));
            }

            Debug.WriteLine("Generating report of type {0}...", type);
            terminalCtrl.SendAdminOperation(op);
            return(JsonConvert.SerializeObject(op.Args));
        }
Example #2
0
        internal void RegisterNewItem(ClientXObject <TKind> _child, Guid _collectionOwnerUid, int _fieldId)
        {
            var ownerDescriptor = GetDescriptor(_collectionOwnerUid);
            ClientXObjectDescriptor <TKind> childDescriptor;

            if (m_descriptors.TryGetValue(_child.Uid, out childDescriptor))
            {
                if (!childDescriptor.CollectionOwnerUid.Equals(_collectionOwnerUid))
                {
                    throw new ApplicationException("Object owned by another parent");
                }
                ProcessAddedToCollection(_child, ownerDescriptor, _fieldId);
                return;
                //throw new ApplicationException("Object is not unique");
            }

            var kindId = KindToInt(_child.Kind);
            var report = new XReport(_child.Uid, _child.GetChanges(), kindId, EState.SINGLE);

            m_transport.AddNew(report, m_sessionId, _collectionOwnerUid);

            var descriptor = new ClientXObjectDescriptor <TKind>(_child, this, kindId, _collectionOwnerUid);

            m_descriptors.Add(_child.Uid, descriptor);

            ProcessAddedToCollection(_child, ownerDescriptor, _fieldId);
            _child.SetClientInternal(this);
            _child.OnInstantiationFinished();
        }
Example #3
0
        internal void ApplyChanges(XReport _report, bool _firstTime)
        {
            if (_firstTime)
            {
                UnsubscribePersistedValuesChanges();
            }
            var done = new List <IXValueInternal>();

            foreach (var item in _report.Items.OrderBy(_item => _item.State))
            {
                if (Kind.ToString() == "ALL")
                {
                }

                IXValueInternal value;
                if (m_xValues.TryGetValue(item.FieldId, out value))
                {
                    value.ApplyChanges(item, _firstTime);
                    done.Add(value);
                }
            }
            if (_firstTime)
            {
                SubscribePersistedValuesChanges();
                m_isDirty = null;
            }
            foreach (var xValue in m_xValues.Values.Except(done))
            {
                xValue.Revert();
            }
        }
        public void Serialize()
        {
            var cl = new TstClient();
            var a  = cl.GetRoot <Root>().AItems.First();

            a.Value = 10;
            var report = new XReport(a.Uid, a.GetChanges(), (int)a.Kind, EState.SINGLE);

            var ser = new DataContractSerializer(typeof(XReport)
                                                 //, new Type[] { typeof(XReportItem<Int32>)}
                                                 );
            var sb = new StringBuilder();

            using (var writer = XmlWriter.Create(sb, new XmlWriterSettings {
                OmitXmlDeclaration = true
            }))
            {
                ser.WriteObject(writer, report);
            }
            var xml = sb.ToString();
            var resultSerializer = new DataContractSerializer(typeof(XReport)
                                                              //, new Type[] { typeof(XReportItem<Int32>) }
                                                              );
            XReport deserializedReport;
            var     stream = new MemoryStream(Encoding.UTF8.GetBytes(xml));
            {
                deserializedReport = (XReport)resultSerializer.ReadObject(stream);
            }
            var reportHC       = report;
            var deserializedHC = deserializedReport.GetHashCode();

            Assert.AreEqual(report.Uid, deserializedReport.Uid);
        }
Example #5
0
        ///// <summary>
        /////
        ///// </summary>
        ///// <param name="templateFile">报表文件</param>
        ///// <param name="ds">数据集</param>
        //public ReportDesign(string templateFile, DataSet ds, XRDesignFormExBase form)
        //{
        //    _templateSource = ds;
        //    _templateStr = templateFile;
        //    m_frm = form;
        //    Design();
        //}

        #region FormDataSoruce
        //private DataTable m_ReportDataSoruce = new DataTable();
        //private string m_Path = string.Empty;
        //private void m_frm_Load(object sender, EventArgs e)
        //{
        //    m_frm.Visible = true;
        //    FormDataSoruce formSoruce = new FormDataSoruce();
        //    if (formSoruce.ShowDialog() == DialogResult.OK)
        //    {
        //        m_ReportDataSoruce = formSoruce.ReportDataSoruce.Copy();
        //        m_Path = formSoruce.Path;
        //        DataSet ds = new DataSet();
        //        ds.Tables.Add(m_ReportDataSoruce);
        //        m_frm.Visible = true;
        //        ReportDesign rp = new ReportDesign(m_Path, ds);
        //        rp.Design();
        //    }
        //    else
        //    {
        //        m_frm.Close();
        //    }
        //}



        //#endregion
        #endregion


        /// <summary>
        /// 给出设计界面
        /// </summary>
        public void Design()
        {
            //初始化报表设计界面
            if (m_FromStream)
            {
                _reportUtil = new XReport(_templateStr, _templateSource);
            }
            else
            {
                _reportUtil = new XReport(_templateSource, _templateStr);
            }
            if (m_frm == null)
            {
                m_frm = new CustomDesignForm();
                m_frm.SkipQueryData = true;
                m_frm.WindowState   = FormWindowState.Maximized;
            }
            if (AUTOSAVE)
            {
                m_frm.ReportStateChanged += new ReportStateEventHandler(m_frm_ReportStateChanged);
                m_frm.Closing            += new System.ComponentModel.CancelEventHandler(m_frm_Closing);
            }
            m_frm.TextChanged                += new EventHandler(m_frm_TextChanged);
            m_frm.FileName                    = _reportUtil.FileName;
            ReportUtil.DataSource             = _templateSource;
            ReportUtil.DataSource.DataSetName = "ReportDesign";
            m_frm.OpenReport(_reportUtil.CurrentReport);

            m_frm.ShowDialog();
        }
Example #6
0
        internal bool Save(SessionId _sessionId, IStorage _storage, DateTime _now, AbstractXServer _abstractXServer)
        {
            List <XReport> reports;

            if (m_changes.TryGetValue(_sessionId, out reports) && m_currentVersion[_sessionId] >= 0)
            {
                var reverseItems = new List <AbstractXReportItem>();

                var changes = reports[m_currentVersion[_sessionId]];
                foreach (var item in changes.Items)
                {
                    IServerXValue xValue;
                    if (!m_xValues.TryGetValue(item.FieldId, out xValue))
                    {
                        xValue = item.CreateXValue();
                        m_xValues.Add(item.FieldId, xValue);
                        reverseItems.Add(item.CreateDefaultReportItem());
                    }
                    else
                    {
                        reverseItems.Add(xValue.CreateReverseReportItem(item));
                    }

                    int oldId;
                    if (m_xValueOldIds.TryGetValue(item.FieldId, out oldId))
                    {
                        m_xValueOldIds[item.FieldId] = xValue.SaveOriginalValue(Uid, item, _storage, oldId, _now, _abstractXServer);
                    }
                    else
                    {
                        m_xValueOldIds[item.FieldId] = xValue.SaveOriginalValue(Uid, item, _storage, null, _now, _abstractXServer);
                    }
                }
                reports.Clear();
                m_currentVersion[_sessionId] = -1;
                ValidFrom = _now;

                foreach (var pair in m_changes)
                {
                    if (pair.Key == _sessionId)
                    {
                        continue;
                    }
                    var reverseReport = new XReport(changes.Uid, reverseItems, changes.Kind, EState.UNDO_ABLE | EState.REVERT_ABLE | (pair.Value.Any()?EState.REDO_ABLE : EState.SINGLE))
                    {
                        ActualFrom = changes.ActualFrom
                    };
                    foreach (var xReport in pair.Value)
                    {
                        xReport.UpdateAccordingNewValues(m_xValues, reverseReport);
                    }
                    pair.Value.Insert(0, reverseReport);
                    m_currentVersion[pair.Key]++;
                }
                return(true);
            }
            return(false);
        }
Example #7
0
        internal uint AddNew(XReport _report, SessionId _sessionId, Guid _parentUid)
        {
            _report.ActualFrom = NextGeneration();
            var obj = new ServerXObjectContainer(_report.Kind, _report.Uid);

            obj.FillFromClient(_report, _sessionId);
            m_objects.Add(_report.Uid, obj);
            return(_report.ActualFrom);
        }
Example #8
0
        private void btnPrint_Click(object sender, EventArgs e)
        {
            if (m_pageSouce == null)
            {
                return;
            }
            XReport xreport = new XReport(m_pageSouce.Copy(), @"ReportMedQCAnalysis.repx");

            xreport.ShowPreview();
        }
Example #9
0
 internal void ClientObjectChanged(XReport _xReport)
 {
     if (_xReport.Uid == RootDescriptor.Uid)
     {
         var toDel = _xReport.Items.Where(_item => m_abstractKinds.Contains(_item.FieldId)).ToArray();
         foreach (var item in toDel)
         {
             _xReport.Items.Remove(item);
         }
     }
     m_transport.ClientObjectChanged(_xReport, m_sessionId);
 }
Example #10
0
        private void button2_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            if (ds == null || ds.Tables.Count == 0)
            {
                button3_Click(sender, e);
            }
            XReport rp = new XReport(ds, textBox1.Text);

            rp.ShowPreview();
            Cursor.Current = Cursors.Default;
        }
Example #11
0
        internal void GetAvailableRedoDate(SessionId _sessionId, AbstractXServer _server,
                                           ref uint _generation, ref List <Guid> _candidates)
        {
            XReport changes = null;
            int     version;

            if (m_currentVersion.TryGetValue(_sessionId, out version))
            {
                if (version < m_changes[_sessionId].Count)
                {
                    if (version < m_changes[_sessionId].Count - 1)
                    {
                        changes = m_changes[_sessionId][version + 1];
                        var result = changes.ActualFrom;
                        if (result < _generation)
                        {
                            _candidates.Clear();
                            _generation = result;
                        }
                        if (result == _generation)
                        {
                            _candidates.Add(Uid);
                        }
                    }
                    else if (version >= 0)
                    {
                        changes = m_changes[_sessionId][version];
                    }
                }
            }
            var uids = new List <Guid>();

            if (changes != null)
            {
                uids.AddRange(
                    changes.Items.OfType <XReportList>().SelectMany(_list => _list.Items).Where(
                        _item => _item.State == EReportListItemState.ADDED).Select(_item => _item.Uid));
            }
            foreach (var pair in m_xValues)
            {
                var list = pair.Value as ServerXList;
                if (list == null)
                {
                    continue;
                }
                uids.AddRange(list.GetGuids());
            }
            foreach (var uid in uids)
            {
                _server.GetAvailableRedoDate(uid, _sessionId, _server, ref _generation, ref _candidates);
            }
        }
Example #12
0
        /// <summary>
        /// 打印事件
        /// edit by Yanqiao.Cai 2012-11-13
        /// 1、add try ... catch
        /// 2、添加提示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnPrint_Click(object sender, EventArgs e)
        {
            try
            {
                if (m_pageSouce == null)
                {
                    MessageBox.Show("请先查询数据");
                    return;
                }
                XReport xreport = new XReport(m_pageSouce.Copy(), @"ReportFail.repx");

                xreport.ShowPreview();
            }
            catch (Exception ex)
            {
                MyMessageBox.Show(1, ex);
            }
        }
Example #13
0
        internal void AddChanges(SessionId _sessionId, XReport _report)
        {
            List <XReport> list;

            if (!m_changes.TryGetValue(_sessionId, out list))
            {
                list = new List <XReport>();
                m_changes.Add(_sessionId, list);
                m_currentVersion.Add(_sessionId, 0);
            }
            else
            {
                var version = ++m_currentVersion[_sessionId];
                if (version < list.Count)
                {
                    list.RemoveRange(version, list.Count - version);
                }
            }
            list.Add(_report);
        }
Example #14
0
        public void MergeChanges(XReport _report)
        {
            State = EState.UNDO_ABLE | EState.REVERT_ABLE;

            foreach (var reportItem in _report.Items)
            {
                switch (reportItem.State)
                {
                case XReportItemState.CHANGE:
                    var changeExists = Items.SingleOrDefault(_item => _item.FieldId == reportItem.FieldId && _item.State == XReportItemState.CHANGE);
                    if (changeExists != null)
                    {
                        Items.Remove(changeExists);
                    }
                    Items.Add(reportItem);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }

            if (ActualFrom < _report.ActualFrom)
            {
                foreach (var reportItem in Items)
                {
                    switch (reportItem.State)
                    {
                    case XReportItemState.CHANGE:
                        var changeExists = _report.Items.SingleOrDefault(_item => _item.FieldId == reportItem.FieldId);                                 // && _item.State == XReportItemState.CHANGE);
                        if (changeExists == null)
                        {
                            _report.Items.Add(reportItem);
                        }
                        break;
                    }
                }
            }
        }
Example #15
0
        public void MergeChanges(XReport _report)
        {
            State = EState.UNDO_ABLE | EState.REVERT_ABLE;

            foreach (var reportItem in _report.Items)
            {
                switch (reportItem.State)
                {
                    case XReportItemState.CHANGE:
                        var changeExists = Items.SingleOrDefault(_item => _item.FieldId == reportItem.FieldId && _item.State == XReportItemState.CHANGE);
                        if (changeExists != null)
                        {
                            Items.Remove(changeExists);
                        }
                        Items.Add(reportItem);
                        break;
                    default:
                        throw new ArgumentOutOfRangeException();
                }
            }

            if (ActualFrom < _report.ActualFrom)
            {
                foreach (var reportItem in Items)
                {
                    switch (reportItem.State)
                    {
                        case XReportItemState.CHANGE:
                            var changeExists = _report.Items.SingleOrDefault(_item => _item.FieldId == reportItem.FieldId); // && _item.State == XReportItemState.CHANGE);
                            if (changeExists == null)
                            {
                                _report.Items.Add(reportItem);
                            }
                            break;
                    }
                }
            }
        }
Example #16
0
        private void XObjectChanged(IClientXObject <TKind> _xObject)
        {
            var xObject = ((ClientXObject <TKind>)_xObject);
            var changes = xObject.GetChanges().ToArray();

            var xReport = new XReport(_xObject.Uid, changes, Kind, EState.UNDO_ABLE | EState.REVERT_ABLE);

            Report.MergeChanges(xReport);

            ResetState();

            foreach (var obj in m_instances.Values)
            {
                if (!ReferenceEquals(obj, _xObject))
                {
                    obj.Changed -= XObjectChanged;
                    obj.ApplyChanges(xReport, false);
                    obj.Changed += XObjectChanged;
                }
            }

            m_client.ClientObjectChanged(xReport);
        }
Example #17
0
        internal ServerXReport GetReport(SessionId _sessionId, uint _actualFor)
        {
            var            actualFrom       = Stored;
            var            lastModification = Stored;
            var            items            = new List <AbstractXReportItem>();
            List <XReport> reports;
            XReport        last = null;

            if (m_changes.TryGetValue(_sessionId, out reports))
            {
                last = reports.LastOrDefault(_report => _report.ActualFrom <= _actualFor);
                if (last != null)
                {
                    actualFrom = last.ActualFrom;
                }
            }
            else
            {
                m_changes.Add(_sessionId, new List <XReport>());
                m_currentVersion.Add(_sessionId, -1);
            }

            foreach (var pair in m_xValues)
            {
                var xName = pair.Key;
                items.Add(pair.Value.GetOriginalValueReportItem(xName, _sessionId));

                if (last != null)
                {
                    items.AddRange(last.Items.Where(_item => _item.FieldId == xName));
                }
            }

            var result = new ServerXReport(Uid, items, actualFrom, Kind, EState.SINGLE);

            return(result);
        }
Example #18
0
        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection cn = new System.Data.SqlClient.SqlConnection
                                   (@"Database=EMRNET;Server=192.168.2.202\two;user id=sa;password=sa");
//            SqlConnection cn = new System.Data.SqlClient.SqlConnection
//            (@"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)
//            (HOST=yidan-ser)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=yidanemr)));User Id=yidandba;Password=sa;");
            SqlCommand cmd = new SqlCommand("select  * from YY_ZGDMK", cn);
//            SqlCommand cmd = new SqlCommand(@"
//              select
//                 d.noofinpat,
//                 a.id,a.childname,
//                 b.cname,
//                 c.problem_desc as koufenliyou,
//                 c.reducepoint as redpoint,
//                  d.name as patname,
//                  e.name as deptname,
//                  f.name as indocname,
//                  f1.name as updocname
//                   from emr_configpoint a
//                join dict_catalog b on a.ccode=b.ccode
//                left join  emr_point  c on   a.ccode=c.sortid
//                join  inpatient  d on d.noofinpat=c.noofinpat
//                left join  department e on d.outhosdept=e.id
//                left join users f on d.resident=f.id
//                left join users f1 on f1.id=d.chief
//                where  a.valid='1' and d.noofinpat='4724' ",cn);
            DataTable      data = new DataTable();
            SqlDataAdapter da   = new SqlDataAdapter(cmd);

            da.Fill(data);

            string  file    = @"D:\YidanSoft.Net\OracleRun\users.repx";
            XReport xreport = new XReport(data, file);

            xreport.ShowPreview();
        }
Example #19
0
        internal void GetAvailableUndoDate(SessionId _sessionId, AbstractXServer _server,
                                           ref uint _dateTime, ref List <Guid> _candidates)
        {
            XReport changes = null;
            var     result  = Stored;
            int     version;

            if (m_currentVersion.TryGetValue(_sessionId, out version))
            {
                if (version >= 0)
                {
                    changes = m_changes[_sessionId][version];
                    result  = changes.ActualFrom;
                }
                if (result > _dateTime)
                {
                    _candidates.Clear();
                    _dateTime = result;
                }
                if (result == _dateTime)
                {
                    _candidates.Add(Uid);
                }
            }

            var uids = new List <Guid>();

            if (changes != null)
            {
                uids.AddRange(
                    changes.Items.OfType <XReportList>().SelectMany(_list => _list.Items).Where(
                        _item => _item.State == EReportListItemState.ADDED).Select(_item => _item.Uid));
            }

            foreach (var pair in m_xValues)
            {
                var list = pair.Value as ServerXList;
                if (list == null)
                {
                    continue;
                }
                uids.AddRange(list.GetGuids());
                if (changes != null)
                {
                    var pairCopy = pair;
                    var update   = (XReportList)changes.Items.FirstOrDefault(_item => _item.FieldId == pairCopy.Key);
                    if (update != null)
                    {
                        foreach (var item in update.Items)
                        {
                            switch (item.State)
                            {
                            case EReportListItemState.REMOVED:
                                uids.Remove(item.Uid);
                                break;
                            }
                        }
                    }
                }
            }
            foreach (var uid in uids)
            {
                _server.GetAvailableUndoDate(uid, _sessionId, _server, ref _dateTime, ref _candidates);
            }
        }
Example #20
0
 internal void ClientObjectChanged(XReport _report, SessionId _sessionId)
 {
     _report.ActualFrom = NextGeneration();
     m_objects[_report.Uid].AddChanges(_sessionId, _report);
 }
Example #21
0
 public void ClientObjectChanged(XReport _report, SessionId _sessionId)
 {
     ServiceContract.ClientObjectChanged(_report, _sessionId);
 }
Example #22
0
 public uint AddNew(XReport _xReport, SessionId _sessionId, Guid _parentUid)
 {
     return ServiceContract.AddNew(_xReport, _sessionId, _parentUid);
 }
Example #23
0
 public uint AddNew(XReport _xReport, SessionId _sessionId, Guid _parentUid)
 {
     return(ServiceContract.AddNew(_xReport, _sessionId, _parentUid));
 }
Example #24
0
 public void ClientObjectChanged(XReport _report, SessionId _sessionId)
 {
     ServiceContract.ClientObjectChanged(_report, _sessionId);
 }
 internal void AddChanges(SessionId _sessionId, XReport _report)
 {
     List<XReport> list;
     if (!m_changes.TryGetValue(_sessionId, out list))
     {
         list = new List<XReport>();
         m_changes.Add(_sessionId, list);
         m_currentVersion.Add(_sessionId, 0);
     }
     else
     {
         var version = ++m_currentVersion[_sessionId];
         if (version < list.Count)
         {
             list.RemoveRange(version, list.Count - version);
         }
     }
     list.Add(_report);
 }
        internal bool Save(SessionId _sessionId, IStorage _storage, DateTime _now, AbstractXServer _abstractXServer)
        {
            List<XReport> reports;
            if (m_changes.TryGetValue(_sessionId, out reports) && m_currentVersion[_sessionId] >= 0)
            {
                var reverseItems = new List<AbstractXReportItem>();

                var changes = reports[m_currentVersion[_sessionId]];
                foreach (var item in changes.Items)
                {
                    IServerXValue xValue;
                    if (!m_xValues.TryGetValue(item.FieldId, out xValue))
                    {
                        xValue = item.CreateXValue();
                        m_xValues.Add(item.FieldId, xValue);
                        reverseItems.Add(item.CreateDefaultReportItem());
                    }
                    else
                    {
                        reverseItems.Add(xValue.CreateReverseReportItem(item));
                    }

                    int oldId;
                    if (m_xValueOldIds.TryGetValue(item.FieldId, out oldId))
                    {
                        m_xValueOldIds[item.FieldId] = xValue.SaveOriginalValue(Uid, item, _storage, oldId, _now, _abstractXServer);
                    }
                    else
                    {
                        m_xValueOldIds[item.FieldId] = xValue.SaveOriginalValue(Uid, item, _storage, null, _now, _abstractXServer);
                    }
                }
                reports.Clear();
                m_currentVersion[_sessionId] = -1;
                ValidFrom = _now;

                foreach (var pair in m_changes)
                {
                    if (pair.Key == _sessionId)
                    {
                        continue;
                    }
                    var reverseReport = new XReport(changes.Uid, reverseItems, changes.Kind, EState.UNDO_ABLE | EState.REVERT_ABLE | (pair.Value.Any()?EState.REDO_ABLE : EState.SINGLE)) { ActualFrom = changes.ActualFrom };
                    foreach (var xReport in pair.Value)
                    {
                        xReport.UpdateAccordingNewValues(m_xValues, reverseReport);
                    }
                    pair.Value.Insert(0, reverseReport);
                    m_currentVersion[pair.Key]++;
                }
                return true;
            }
            return false;
        }
 internal void FillFromClient(XReport _xReport, SessionId _sessionId)
 {
     Uid = _xReport.Uid;
     AddChanges(_sessionId, _xReport);
 }
Example #28
0
 public uint AddNew(XReport _xReport, SessionId _sessionId, Guid _parentUid)
 {
     return(Implementation.AddNew(_xReport, _sessionId, _parentUid));
 }
Example #29
0
 internal void FillFromClient(XReport _xReport, SessionId _sessionId)
 {
     Uid = _xReport.Uid;
     AddChanges(_sessionId, _xReport);
 }
Example #30
0
 internal uint AddNew(XReport _report, SessionId _sessionId, Guid _parentUid)
 {
     _report.ActualFrom = NextGeneration();
     var obj = new ServerXObjectContainer(_report.Kind, _report.Uid);
     obj.FillFromClient(_report, _sessionId);
     m_objects.Add(_report.Uid, obj);
     return _report.ActualFrom;
 }
Example #31
0
 internal void ClientObjectChanged(XReport _report, SessionId _sessionId)
 {
     _report.ActualFrom = NextGeneration();
     m_objects[_report.Uid].AddChanges(_sessionId, _report);
 }
Example #32
0
 public void ClientObjectChanged(XReport _report, SessionId _sessionId)
 {
     Implementation.ClientObjectChanged(_report, _sessionId);
 }