27b439b6da3332f32adb80672e3f3a105ed24903.svn-base 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. namespace IControls_FireManager
  10. {
  11. public partial class Form_Project_New : Form
  12. {
  13. public Form_Project_New()
  14. {
  15. InitializeComponent();
  16. ///
  17. /// 이벤트
  18. ///
  19. // 폼닫기 이벤트를 등록 (이벤트 핸들러 해제용)
  20. this.FormClosing += new FormClosingEventHandler(CreateForm_FormClosing);
  21. // 윈도우 스타일 변경 이벤트 핸들러 등록
  22. _Event.WindowStyleSet_SendMessage_Event += new _Event.WindowStyleSet_SendMessage_Handler(_Event_WindowStyleSet_SendMessage_Event);
  23. ///
  24. /// 스타일 변경
  25. ///
  26. UI_Style_Initialize();
  27. }
  28. // 폼닫기 이벤트를 등록 (이벤트 핸들러 해제용)
  29. public void CreateForm_FormClosing(object sender, FormClosingEventArgs e)
  30. {
  31. // 윈도우 스타일 변경 이벤트 핸들러 해제
  32. _Event.WindowStyleSet_SendMessage_Event -= new _Event.WindowStyleSet_SendMessage_Handler(_Event_WindowStyleSet_SendMessage_Event);
  33. }
  34. // 윈도우 스타일 변경 이벤트
  35. public void _Event_WindowStyleSet_SendMessage_Event()
  36. {
  37. UI_Style_Initialize();
  38. }
  39. // 스타일 초기화 함수
  40. private void UI_Style_Initialize()
  41. {
  42. }
  43. // 환경옵션의 경로에 프로젝트명이 중복되는지 확인한다
  44. private bool Check_ProjectName(string ProjectName)
  45. {
  46. // 지정된 경로에 폴더 조회
  47. string result = _File.Get_FolderNameList(_Data.Project_Path);
  48. if (result != null)
  49. {
  50. // 폴더리스트 생성
  51. string[] FolderNames = _Convert.String_to_ArrayString(result);
  52. foreach (string FolderName in FolderNames)
  53. {
  54. // 모두 대문자로 변경하여 비교함
  55. if (FolderName.ToUpper().ToString() == ProjectName.ToUpper().ToString())
  56. return false;
  57. }
  58. }
  59. return true;
  60. }
  61. private void UiButton_Project_Save_Click(object sender, EventArgs e)
  62. {
  63. // 공백제거
  64. this.EditBox_ProjectName.Text = this.EditBox_ProjectName.Text.Trim();
  65. if (this.EditBox_ProjectName.Text == null
  66. || this.EditBox_ProjectName.Text == _Text.DEFAULT_PROJECT_NAME
  67. || this.EditBox_ProjectName.Text.Length == 0)
  68. {
  69. // 팝업창 : 프로젝트명이 잘못되었습니다
  70. _Popup.Create(Popup_Type.Confirm, Popup_Style.Normal, _Text.Warnning, 250, 150, _Text.NotCorrectProjectNameInform, 0);
  71. }
  72. else if (Check_ProjectName(this.EditBox_ProjectName.Text) == false)
  73. {
  74. // 팝업창 : 이미 지정된 경로에 프로젝트명이 존재합니다
  75. _Popup.Create(Popup_Type.Confirm, Popup_Style.Normal, _Text.Warnning, 300, 150, _Text.SameProjectNameInform, 0);
  76. }
  77. else if (_Error.Data_Confirm_NotDefineString(this.EditBox_ProjectName.Text.Trim()) != null)
  78. {
  79. ;// 상위 비교문에서 팝업처리
  80. }
  81. else
  82. {
  83. // 해쉬 및 리스트 초기화 (수신기 전체 삭제와 동일)
  84. _Data.HASH_RECEIVER.Clear();
  85. _Data.LIST_RECEIVER_ID.Clear();
  86. _Data.HASH_XMLDEVTYPE.Clear();
  87. _Data.LIST_XMLDEVTYPE_ID.Clear();
  88. //_Data.HASH_PAGE.Clear();
  89. //_Data.LIST_PAGE_ID.Clear();
  90. // _Receiver.xml 제거 : cyim 2012.8.29 -> 복구 2013.5.27
  91. //_Data.HASH_XMLRECEIVER.Clear();
  92. _Data.LIST_XMLRECEIVER_ID.Clear();
  93. _Data.List_ExcelPoint.Clear();
  94. _Data.HASH_CodePosition.Clear();
  95. _Data.LIST_CodePosition_NAME.Clear();
  96. _Data.LIST_XmlDBNotSave_Receiver.Clear();
  97. _Data.Hash_ImportPoint.Clear();
  98. // 수신기 아이디 초기화
  99. _Data.INIT_RECEIVER_ID = 1;
  100. // 데이타베이스 경로 초기화
  101. _Data.DB_FullPath = null;
  102. // 프로젝트명 기본값으로 전환
  103. _Data.Project_Name = this.EditBox_ProjectName.Text.Trim();
  104. // 프로젝트 폴더생성
  105. _File.Create_ProjectFolder(_Data.Project_Path, _Data.Project_Name);
  106. // 파일생성
  107. _File.Write_Receiver_XML(_Data.Project_Path + "\\" + _Data.Project_Name);
  108. // 워크뷰 및 트리뷰 에 알림
  109. _Event.WorkView_Clear_SendMessage_Write();
  110. _Event.TreeView_Clear_SendMessage_Write(_Data.Project_Name);
  111. // 종료
  112. this.Close();
  113. }
  114. }
  115. }
  116. }