コード例 #1
0
ファイル: CopyDlg.xaml.cs プロジェクト: z-saffarpour/duscusys
        private void btnConfirm_Click_1(object sender, RoutedEventArgs e)
        {
            var dstTopic = lstDstTopics.SelectedItem as Topic;

            if (dstTopic == null)
            {
                MessageDlg.Show("Target topic not selected");
                return;
            }

            BusyWndSingleton.Show("Copying points...");
            try
            {
                var ownId  = SessionInfo.Get().person.Id;
                var discId = SessionInfo.Get().discussion.Id;
                foreach (var ap in dstPoints)
                {
                    copyArgPointTo(ap, dstTopic);
                }

                PrivateCenterCtx.SaveChangesIgnoreConflicts();

                _sharedClient.clienRt.SendNotifyStructureChanged(dstTopic.Id, ownId, DeviceType.Wpf);
                var srcTopic = lstSrcTopics.SelectedItem as Topic;
                _sharedClient.clienRt.SendStatsEvent(StEvent.ArgPointTopicChanged, ownId, discId, srcTopic.Id,
                                                     DeviceType.Wpf); //src
                _sharedClient.clienRt.SendStatsEvent(StEvent.ArgPointTopicChanged, ownId, discId, dstTopic.Id,
                                                     DeviceType.Wpf); //dst
            }
            finally
            {
                BusyWndSingleton.Hide();
            }
        }
コード例 #2
0
        //we can only process one deleted point at a time
        private void saveProcedure(ArgPoint deletedPt, int TopicOfDeletedPointId)
        {
            //extract modification lists
            List <ArgPoint> created = null;
            List <ArgPoint> edited  = null;
            List <ArgPoint> deleted = null;

            GetChangeLists(out created, out edited, out deleted);

            Topic    t;
            ArgPoint editedPoint;

            getPointAndTopic(out editedPoint, out t);

            //save changes
            PrivateCenterCtx.SaveChangesIgnoreConflicts();

            //first notify about deleted point!
            if (deletedPt != null)
            {
                _sharedClient.clienRt.SendArgPointDeleted(deletedPt.Id, TopicOfDeletedPointId,
                                                          SessionInfo.Get().person.Id);
            }

            //notify about changes
            foreach (var createdPt in created)
            {
                _sharedClient.clienRt.SendArgPointCreated(createdPt.Id, createdPt.Topic.Id,
                                                          SessionInfo.Get().person.Id);
            }

            foreach (var editedPt in edited)
            {
                _sharedClient.clienRt.SendArgPointChanged(editedPt.Id, editedPt.Topic.Id,
                                                          SessionInfo.Get().person.Id);
            }
        }