프로젝트

일반

사용자정보

개정판 053f2163

ID053f216316bc0d328f0e3c7b2148d3ec34cc6c75
상위 475c21be
하위 b6c247d1

백흠경이(가) 6달 전에 추가함

Fix: 프로그램 로딩 후 처음으로 마크업 항목을 선택하는 로직 수정(1)

Change-Id: I9e8ecc9bc9887f4074fa6c833a80f98a704aba22

차이점 보기:

KCOM/Controls/Sample.xaml.cs
313 313
            }
314 314
        }
315 315

  
316
        private void PageChange(KCOM.Common.ThumbnailItem selectItem)
316
        private async void PageChange(KCOM.Common.ThumbnailItem selectItem)
317 317
        { 
318 318
            var number = selectItem.PageNumber;
319 319

  
320 320
            if (ViewerDataModel.Instance.SyncPageNumber != number)
321 321
            {
322
                /*
322 323
                #region 페이지 전환 시 Markup 데이터를 업데이트
323 324
                var mainMenu = this.ParentOfType<MainWindow>().dzMainMenu;
324 325
                mainMenu.UpdateMyMarkupList();
325 326
                #endregion
327
                */
326 328

  
327 329
                #region 페이지 전환시 저장(성능 저하 초래)
328
                //TODO: 확인 후 삭제
329
                ///ViewerDataModel.Instance.SystemMain.dzTopMenu._SaveEvent(null, null);   /// save controls
330
                await ViewerDataModel.Instance.SystemMain.dzTopMenu._SaveEvent(null, null);   /// save controls
330 331
                #endregion
331 332

  
332 333
                this.CurrentPage = ImgListbox.SelectedItem as KCOM.Common.ThumbnailItem;
KCOM/Controls/SearchPanel.xaml.cs
115 115
            //Bytescout.PDFExtractor.SearchablePDFMaker maker = new Bytescout.PDFExtractor.SearchablePDFMaker(RegistrationName, RegistrationKey);
116 116
            //maker.LoadDocumentFromFile(Common.ViewerDataModel.Instance.searchPDF.FullName);
117 117
            //maker.MakePDFSearchable(Common.ViewerDataModel.Instance.searchPDF.FullName + ".pdf");
118
            
118

  
119 119
            //maker.Dispose();
120
            if (extractor == null)
121
            {
122
                throw new InvalidOperationException("extractor is null");
123
            }
120 124
            extractor.LoadDocumentFromFile(Common.ViewerDataModel.Instance.searchPDF.FullName + ".pdf");
121 125

  
122 126
            if (pageoption)
KCOM/Events/Implementation/TopMenuEvent.cs
375 375
                            await this.ExecuteSaveCommandAsync(mainMenu);
376 376
                            #endregion
377 377

  
378
                            ViewerDataModel.Instance._markupInfoList.FirstOrDefault(data => data.MarkupInfoID == (item as IKCOM.MarkupInfoItem).MarkupInfoID).UpdateTime = DateTime.Now;
378
                            var info = ViewerDataModel.Instance._markupInfoList.FirstOrDefault(data => data.MarkupInfoID == (item as IKCOM.MarkupInfoItem).MarkupInfoID);
379
                            if(info != null) info.UpdateTime = DateTime.Now;
379 380
                            if (!ViewerDataModel.Instance.IsConsolidate && (sender != null))
380 381
                            {
381 382
                                this.ParentOfType<MainWindow>().DialogMessage_Alert("Save is complete.", "Info");
382
                                
383 383
                            }
384 384

  
385 385
                            result = true;
KCOM/Services/BaseServices.cs
567 567
                    Consolidates.ForEach(x => gridViewMarkup.SelectedItems.Add(x));
568 568
                }
569 569
                #endregion
570
                #region Consolidate 항목이 없을 경우에는 AvoidConsolidate를 제외한 모든 항목들을 선택
570
                #region Consolidate 항목이 없을 경우에는 사용자 별로 AvoidConsolidate를 제외한 우선 순위가 높은(Team,Comment)항목들을 선택
571 571
                else
572 572
                {
573
                    var Consolidates = ViewerDataModel.Instance._markupInfoList.Where(x => x.AvoidConsolidate == 0).ToList();
574
                    Consolidates.ForEach(x => gridViewMarkup.SelectedItems.Add(x));
573
                    var MarkupInfoColl = ViewerDataModel.Instance._markupInfoList.Where(x => x.AvoidConsolidate == 0).ToList();
574

  
575
                    #region Team consolidate 항목 선택
576
                    var Candidates = MarkupInfoColl.Where(x => x.PartConsolidate == 1 && x.AvoidConsolidate == 0).ToList();
577
                    MarkupInfoColl.RemoveAll(x => Candidates.Exists(y => y.UserID == x.UserID));
578
                    #endregion
579

  
580
                    #region 추가되지 않은 사용자들을 추가
581
                    foreach (var item in MarkupInfoColl.Where(x => !Candidates.Exists(y => y.UserID == x.UserID)))
582
                    {
583
                        Candidates.Add(item);
584
                    }
585
                    #endregion
586

  
587
                    Candidates.ForEach(x => gridViewMarkup.SelectedItems.Add(x));
575 588
                }
576 589
                #endregion
577 590
            }
......
580 593
                var MarkupInfoColl = ViewerDataModel.Instance._markupInfoList.Where(x => x.AvoidConsolidate == 0).ToList();
581 594

  
582 595
                #region Team consolidate 항목 선택
583
                var Candidates = MarkupInfoColl.Where(x => x.PartConsolidate == 1).ToList();
584
                MarkupInfoColl.RemoveAll(x => Candidates.Exists(y => y == x));
596
                var Candidates = MarkupInfoColl.Where(x => x.PartConsolidate == 1 && x.AvoidConsolidate == 0).ToList();
597
                MarkupInfoColl.RemoveAll(x => Candidates.Exists(y => y.UserID == x.UserID));
585 598
                #endregion
586 599

  
587 600
                #region 추가되지 않은 사용자들을 추가
......
593 606

  
594 607
                Candidates.ForEach(x => gridViewMarkup.SelectedItems.Add(x));
595 608
            }
596
            else if (App.ViewInfo.CreateFinalPDFPermission && App.ViewInfo.NewCommentPermission)    /// Orig Comment Model
609
            else if (App.ViewInfo.CreateFinalPDFPermission)    /// Orig Comment Model
597 610
            {
598 611
                if (ViewerDataModel.Instance._markupInfoList.Any(x => x.Consolidate == 1 && x.AvoidConsolidate == 0))
599 612
                {
600 613
                    var Consolidates = ViewerDataModel.Instance._markupInfoList.Where(x => x.Consolidate == 1 && x.AvoidConsolidate == 0).ToList();
601 614
                    Consolidates.ForEach(x => gridViewMarkup.SelectedItems.Add(x));
602 615
                }
603
                else if (ViewerDataModel.Instance._markupInfoList.Any(x => x.PartConsolidate == 1))
616
                else if (ViewerDataModel.Instance._markupInfoList.Any(x => x.PartConsolidate == 1 && x.AvoidConsolidate == 0))
604 617
                {
605
                    var PartConsolidates = ViewerDataModel.Instance._markupInfoList.Where(x => x.PartConsolidate == 1).ToList();
606
                    PartConsolidates.ForEach(x => gridViewMarkup.SelectedItems.Add(x));
618
                    var MarkupInfoColl = ViewerDataModel.Instance._markupInfoList.Where(x => x.AvoidConsolidate == 0).ToList();
619

  
620
                    #region Team consolidate 항목 선택
621
                    var Candidates = MarkupInfoColl.Where(x => x.PartConsolidate == 1 && x.AvoidConsolidate == 0).ToList();
622
                    MarkupInfoColl.RemoveAll(x => Candidates.Exists(y => y.UserID == x.UserID));
623
                    #endregion
624

  
625
                    #region 추가되지 않은 사용자들을 추가
626
                    foreach (var item in MarkupInfoColl.Where(x => !Candidates.Exists(y => y.UserID == x.UserID)))
627
                    {
628
                        Candidates.Add(item);
629
                    }
630
                    #endregion
631

  
632
                    Candidates.ForEach(x => gridViewMarkup.SelectedItems.Add(x));
607 633
                }
608 634
                else
609 635
                {
610
                    var Comments = ViewerDataModel.Instance._markupInfoList.Where(x => x.Consolidate != 1 && x.AvoidConsolidate != 1).ToList();
636
                    var Comments = ViewerDataModel.Instance._markupInfoList.Where(x => x.Consolidate == 0 && x.AvoidConsolidate == 0).ToList();
611 637
                    Comments.ForEach(x => gridViewMarkup.SelectedItems.Add(x));
612 638
                }
613 639
            }

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)