public AddScheduleResponse AddSchedule(AddScheduleRequest request)
        {
            if (RoomExist(request.Room))
            {
                var date = new Date(request.InitialDate, request.FinalDate);

                var schedule = new Schedule(request.Title, SelectGuidRoom(request.Room), date);

                AddNotifications(schedule);

                if (schedule.IsInvalid())
                {
                    return(null);
                }

                if (ScheduleIsValid(schedule.RoomId, schedule.Date.InitialDate, schedule.Date.FinalDate))
                {
                    schedule = _repositorySchedule.AddSchedule(schedule);
                }
                else
                {
                    return(null);
                }

                return((AddScheduleResponse)schedule);
            }
            else
            {
                return(null);
            }
        }
        public async Task <HttpResponseMessage> Adicionar(AddScheduleRequest request)
        {
            try
            {
                var response = _serviceSchedule.AddSchedule(request);

                return(await ResponseAsync(response, _serviceSchedule));
            }
            catch (Exception ex)
            {
                return(await ResponseExceptionAsync(ex));
            }
        }
 // Use this for initialization
 void Awake()
 {
     layout                = transform.Find("ScrollPanel/Layout");
     scheduleItem          = Resources.Load <GameObject>("UIItem/ScheduleItem");
     addScheduleRequest    = GetComponent <AddScheduleRequest>();
     updateScheduleRequest = GetComponent <UpdateScheduleRequest>();
     deleteScheduleRequest = GetComponent <DeleteScheduleRequest>();
     datePicker            = transform.Find("Calendar").GetComponent <DatePicker>();
     transform.Find("BackButton").GetComponent <Button>().onClick.AddListener(Back);
     transform.Find("AddButton").GetComponent <Button>().onClick.AddListener(Add);
     addPanel = transform.Find("AddPanel").gameObject;
     dateText = addPanel.transform.Find("Date").GetComponent <Text>();
     addPanel.transform.Find("SaveButton").GetComponent <Button>().onClick.AddListener(Save);
     content      = addPanel.transform.Find("Content").GetComponent <InputField>();
     noticeToggle = addPanel.transform.Find("NoticeToggle").GetComponent <Toggle>();
     for (int i = 0; i < 4; i++)
     {
         DateRange[i] = addPanel.transform.Find("DateRange/InputField" + i).GetComponent <InputField>();
         var j = i;
         DateRange[i].onEndEdit.AddListener(x => DateRange[j].text = (int.Parse(x) % (j % 2 == 0?24:60)).ToString());
     }
     addPanel.SetActive(false);
     Debug.Log(datePicker.VisibleDate);
 }