Exemplo n.º 1
0
    public void ConfirmVacation() //휴가 확정 버튼
    {
        if (!tempVacation.Any())
        {
            return;                                  //If no date is chosen return
        }
        tempVacation.Sort((a, b) => a.CompareTo(b)); //Sort Temp Vacation list
        TimeSpan ts = tempVacation[tempVacation.Count - 1] - tempVacation[0];

        if (ts.Days != tempVacation.Count - 1) //만약에 날짜들이 연속되지 않았을 경우
        {
            print(ts.Days + " : " + tempVacation.Count);
            ResetVacation();
            StartCoroutine(Toast("한번에 연속된\n휴가일만 신청가능합니다."));
        }
        else if (tempVacation.Count > availableVacation) //사용가능 휴가일을 넘었을 경우
        {
            print(ts.Days + " : " + tempVacation.Count);
            ResetVacation();
            StartCoroutine(Toast("허용된 휴가일 이상 신청할 수 없습니다."));
        }
        else
        {
            CalendarManager.SetVacation(tempVacation);
            foreach (var button in clickedButtons)
            {
                button.interactable = false;
                button.image.color  = confirmedColor;
            }
            resetButton.SetActive(false);
            confirmButton.SetActive(false);
            tempVacation.Clear();
            clickedButtons.Clear();
            DiableDayButtons();
            StartCoroutine(Toast("휴가 신청이 완료되었습니다."));
        }
    }