public void ApplySet() { var ApplyData = ItemData[ListBox1.SelectedIndex]; string newData = "<locinfo>" + ApplyData + "</locinfo>"; for (var i = 0; i <= count - 1; i++) { if (!i == ListBox1.SelectedIndex) { newData += Constants.vbCr + "<locinfo>" + ItemData[i] + "</locinfo>"; } } My.Settings.LocHistory = newData; if (getData(ApplyData, "type") == "location") { My.Settings.StationName = null; My.Settings.LocationName = getData(ApplyData, "string"); My.Settings.LocationPoint_X = getData(ApplyData, "X"); My.Settings.LocationPoint_Y = getData(ApplyData, "Y"); } else { My.Settings.LocationName = getData(ApplyData, "string") + " (측정소)"; My.Settings.StationName = getData(ApplyData, "string"); } APIForm.AirAPICheck.CancelAsync(); APIForm.Close(); APIForm.combnum = 0; APIForm.PrevChk = "-1"; // 무조건 업데이트하도록 APIForm.prevCombnum = -1; MainGUI.DrawState(); APIForm.Activate(); TrayForm.MainGUI_Open(); this.Close(); }
private void AirAPICheck_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e) { // 여기는 결과값 판별 영역 if (APIOK) { string[] AirChkHour = NowChk.Split(" "); AirChkHour = AirChkHour[1].Split(":"); // MsgBox(AirChkHour(0)) '업데이트의 시간대를 가져옴 if (AirChkHour[0] == "24") { AirChkHour[0] = "00"; } // 에어체크의 API가 00(오전12)시를 24시로 표시해서 이렇게 바꿔주어야함 // 값이 바뀌든 말든 일단 API 불러온겸 그리도록 하기 AirCheck(); // 현재 공기를 체크한 PC시간과(24시) 실제 측정소의 측정기준시간(24시)이 같을 경우 if (AirChkHour[0] == DateTime.Now.ToString("HH")) { PrevChk = NowChk; // 체크 완료하였으므로 멈춤 ->다시 정각때까지 대기 Checking = false; APICheck.Stop(); } else if (My.Settings.ChkEnabled == false) { PrevChk = NowChk; // 체크 완료하였으므로 멈춤 ->새로고침 명령이 없다면 절대 업뎃 X Checking = false; APICheck.Stop(); } else if (combnum == -4) { PrevChk = NowChk; // API 호출 과부하를 막기 위해 업데이트 중지 Checking = false; APICheck.Stop(); } } else // 오류발생 (그런데 erlevel을 앞서 다 combnum에 줘서 특별한 조치 필요없음) // 타이머를 멈추지 않음으로써 오류가 일어나면 미리 설정된 인터벌마다 다시 시도하도록 하기 // API서버 트래픽 초과 if (!airData == null) { if (airData.Contains("resultCode")) { if (getData(airData, "resultCode") == "22") { combnum = -5; APICheck.Stop(); } } } // 메인GUI의 폼을 그리고 트레이도 새로고침 MainGUI.DrawState(); TrayForm.trayico_selector(); if (My.Settings.widget_enabled) { WidgetGUI.DrawState(); } // 여기서부터는 푸시 알림 영역 PushCheck(); // 이전의 상태 넘버를 저장해야함 prevCombnum = combnum; }
private void FadeOutEffect(object sender, EventArgs e) { FadeOut(this); MainGUI.Show(); FadeIn(MainGUI, 1); }
private void Button4_Click(object sender, EventArgs e) { combnum = NumericUpDown1.Value; MainGUI.DrawState(); WidgetGUI.DrawState(); }
private void Button2_Click(object sender, EventArgs e) { if (complete) { // 처음판별 bool wasitfirst = false; if (My.Settings.LocationName == null /* TODO Change to default(_) if this is not a reference type */) { wasitfirst = true; } if (StationName == null) { My.Settings.StationName = null; My.Settings.LocationName = loctext; My.Settings.LocationPoint_X = tm_co[0]; My.Settings.LocationPoint_Y = tm_co[1]; } else { My.Settings.LocationName = StationName + " (측정소)"; My.Settings.StationName = StationName; } if (wasitfirst) { if (Interaction.MsgBox("처음 설정하시는 것 같네요. 실시간으로 대기 정보를 받아볼 수 있도록 다음 설정을 활성화 하시겠습니까?" + Constants.vbCr + Constants.vbCr + "- 자동으로 대기 상태 업데이트 (권장)" + Constants.vbCr + "- 대기 상태 푸시 알림 (권장)" + Constants.vbCr + Constants.vbCr + "'예'를 누를시 자동으로 적용되며, 이 설정은 나중에 '프로그램 설정'에서 변경하실 수 있습니다.", Constants.vbQuestion + Constants.vbYesNo) == Constants.vbYes) { My.Settings.ChkEnabled = true; My.Settings.PushEnabled = true; } } APIForm.AirAPICheck.CancelAsync(); APIForm.Close(); APIForm.combnum = 0; APIForm.PrevChk = "-1"; // 무조건 업데이트하도록 APIForm.prevCombnum = -1; MainGUI.DrawState(); APIForm.Activate(); TrayForm.MainGUI_Open(); if (StationName == null) { if (!CheckHisExist(false, loctext)) { AddLocHistory_Axis(loctext, tm_co[0], tm_co[1]); } } else if (!CheckHisExist(true, StationName)) { AddLocHistory_station(StationName); } My.Settings.Save(); My.Settings.Reload(); this.Close(); } }