示例#1
0
文件: LocList.cs 项目: pdjdev/monZi
        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();
        }
示例#2
0
        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;
        }
示例#3
0
 private void FadeOutEffect(object sender, EventArgs e)
 {
     FadeOut(this);
     MainGUI.Show();
     FadeIn(MainGUI, 1);
 }
示例#4
0
 private void Button4_Click(object sender, EventArgs e)
 {
     combnum = NumericUpDown1.Value;
     MainGUI.DrawState();
     WidgetGUI.DrawState();
 }
示例#5
0
        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();
            }
        }