private void AutoSaveAsync_CurrentSheet() { if (_bIsUpdating_TableUI) { return; } pSpreadSheet_CurrentConnected.UpdateDate(); WriteConsole("자동 저장 중.." + pSpreadSheet_CurrentConnected.GetFileName()); SaveDataManager.SaveSheet_Async(pSpreadSheet_CurrentConnected, AutoSaveDone); }
public void DoAutoSaveAsync() { SpreadSheetParser_MainForm.WriteConsole($"자동 저장 중.. {GetDisplayString()}"); SaveDataManager.SaveSheet(SpreadSheetParser_MainForm.pSpreadSheet_CurrentConnected); }
private void AutoSaveAsync_Config() { WriteConsole("자동 저장 중.. Config"); SaveDataManager.SaveConfig_Async(_pConfig, AutoSaveDone); }
private void MainForm_Load(object sender, EventArgs e) { SetState(EState.None); _bIsLoading_CreateForm = true; _pConfig = SaveDataManager.LoadConfig(); _mapSaveData = SaveDataManager.LoadSheet(WriteConsole); comboBox_DependencyField.DropDownStyle = ComboBoxStyle.DropDownList; comboBox_DependencyField_Sub.DropDownStyle = ComboBoxStyle.DropDownList; comboBox_SaveSheet.DropDownStyle = ComboBoxStyle.DropDownList; comboBox_SaveSheet.Items.Clear(); comboBox_SaveSheet.Items.AddRange(_mapSaveData.Values.Where(p => p.eType == ESpreadSheetType.GoogleSpreadSheet).Cast <object>().ToArray()); SaveData_SpreadSheet pSheet_LastEdit = GetSheet_LastEdit(_mapSaveData); if (pSheet_LastEdit != null) { switch (pSheet_LastEdit.eType) { case ESpreadSheetType.MSExcel: textBox_ExcelPath_ForConnect.Text = pSheet_LastEdit.strSheetID; if (_pConfig.bAutoConnect) { WriteConsole("Config - 자동연결로 인해 연결을 시작합니다.."); button_Connect_Excel_Click(null, null); } break; case ESpreadSheetType.GoogleSpreadSheet: textBox_SheetID.Text = pSheet_LastEdit.strSheetID; if (_pConfig.bAutoConnect) { WriteConsole("Config - 자동연결로 인해 연결을 시작합니다.."); button_Connect_Click(null, null); } break; } } comboBox_ExcelPath_Saved.DropDownStyle = ComboBoxStyle.DropDownList; comboBox_ExcelPath_Saved.Items.Clear(); comboBox_ExcelPath_Saved.Items.AddRange(_mapSaveData.Values.Where(p => p.eType == ESpreadSheetType.MSExcel).Cast <object>().ToArray()); checkBox_AutoConnect.Checked = _pConfig.bAutoConnect; checkedListBox_SheetList.ItemCheck += CheckedListBox_TableList_ItemCheck; checkedListBox_SheetList.SelectedIndexChanged += CheckedListBox_SheetList_SelectedIndexChanged; checkedListBox_WorkList.ItemCheck += CheckedListBox_WorkList_ItemCheck; checkedListBox_WorkList.SelectedIndexChanged += CheckedListBox_WorkList_SelectedIndexChanged; CheckedListBox_WorkList_SelectedIndexChanged(null, null); comboBox_WorkList.DropDownStyle = ComboBoxStyle.DropDownList; comboBox_WorkList.Items.Clear(); var listWork = GetEnumerableOfType <WorkBase>(); foreach (var pWork in listWork) { comboBox_WorkList.Items.Add(pWork); } listView_Field.SelectedIndexChanged += ListView_Field_SelectedIndexChanged; _bIsLoading_CreateForm = false; }
private void OnFinishConnect(ISheetConnector pConnector, Exception pException_OnError) { if (pException_OnError != null) { WriteConsole("연결 실패 " + pException_OnError); return; } if (_mapSaveData.ContainsKey(pConnector.strSheetID)) { pSpreadSheet_CurrentConnected = _mapSaveData[pConnector.strSheetID]; pSpreadSheet_CurrentConnected.eType = pConnector.eSheetType; List <TypeData> listSavedTable = pSpreadSheet_CurrentConnected.listTable; int iOrder = 0; foreach (KeyValuePair <string, SheetData> pSheet in pConnector.mapWorkSheetData_Key_Is_SheetID) { TypeData pTypeDataFind = listSavedTable.FirstOrDefault(x => (x.strSheetID == pSheet.Key)); if (pTypeDataFind == null) { listSavedTable.Add(new TypeData(pSheet.Value.strSheetID, pSheet.Value.strSheetName, iOrder)); } else { // 이미 저장되있는 Sheet의 경우 // 웹에 있는 SheetName과 로컬의 SheetName이 다를 수 있기 때문에 갱신 pTypeDataFind.strSheetName = pSheet.Value.strSheetName; pTypeDataFind.iOrder = iOrder; } iOrder++; } } else { pSpreadSheet_CurrentConnected = new SaveData_SpreadSheet(pConnector.strSheetID, pConnector.eSheetType); _mapSaveData[pSpreadSheet_CurrentConnected.strSheetID] = pSpreadSheet_CurrentConnected; int iOrder = 0; pSpreadSheet_CurrentConnected.listTable.Clear(); foreach (KeyValuePair <string, SheetData> pSheet in pConnector.mapWorkSheetData_Key_Is_SheetID) { pSpreadSheet_CurrentConnected.listTable.Add(new TypeData(pSheet.Value.strSheetID, pSheet.Value.strSheetName, iOrder++)); } SaveDataManager.SaveSheet(pSpreadSheet_CurrentConnected); WriteConsole("새 파일을 만들었습니다."); } checkedListBox_SheetList.Items.Clear(); List <TypeData> listSheetSaved = pSpreadSheet_CurrentConnected.listTable; listSheetSaved.Sort((x, y) => x.iOrder.CompareTo(y.iOrder)); TypeData[] arrSheetDelete = listSheetSaved.Where((pSheet) => pConnector.mapWorkSheetData_Key_Is_SheetID.Values.Any(p => p.strSheetID == pSheet.strSheetID) == false).ToArray(); if (arrSheetDelete.Length > 0) { for (int i = 0; i < arrSheetDelete.Length; i++) { listSheetSaved.Remove(arrSheetDelete[i]); } AutoSaveAsync_CurrentSheet(); } ClearFieldData(listSheetSaved); for (int i = 0; i < listSheetSaved.Count; i++) { checkedListBox_SheetList.Items.Add(listSheetSaved[i], listSheetSaved[i].bEnable); } checkedListBox_WorkList.Items.Clear(); List <WorkBase> listWorkBase = pSpreadSheet_CurrentConnected.listSaveWork; listWorkBase.Sort((x, y) => x.iWorkOrder.CompareTo(y.iWorkOrder)); for (int i = 0; i < listWorkBase.Count; i++) { checkedListBox_WorkList.Items.Add(listWorkBase[i], listWorkBase[i].bEnable); } SetState(EState.IsConnected); WriteConsole("연결 성공"); _bIsConnecting = false; }