public JsonResult AgendamentoCompleto(AgendamentoCompletoViewModel agenda)
        {
            //var AmbienteAgendados = AgendaAmbienteViewModel.MapToListViewModel(this.speDominioService.getAmbienteAgendados(int.Parse(agenda.IdModulo), int.Parse(agenda.IdComponente), int.Parse(agenda.IdTurma)));
            var AmbienteAgendados = AgendaAmbienteViewModel.MapToListViewModel(BL.AgendaAmbiente.GetAmbientesAgendados(int.Parse(agenda.IdModulo), int.Parse(agenda.IdComponente), int.Parse(agenda.IdTurma)));

            //var DocentesAgendados = AgendaDocenteViewModel.MapToListViewModel(this.speDominioService.getDocenteAgendados(int.Parse(agenda.IdModulo), int.Parse(agenda.IdComponente), int.Parse(agenda.IdTurma)));
            var DocentesAgendados = AgendaDocenteViewModel.MapToListViewModel(BL.AgendaDocente.GetDocentesAgendados(int.Parse(agenda.IdModulo), int.Parse(agenda.IdComponente), int.Parse(agenda.IdTurma)));

            //var agendaComponente = AgendaComponenteViewModel.MapToListViewModel(this.speDominioService.getComponentesAgendados(int.Parse(agenda.IdModulo), int.Parse(agenda.IdComponente), int.Parse(agenda.IdTurma)));
            var agendaComponente = AgendaComponenteViewModel.MapToListViewModel(BL.AgendaComponente.GetComponenteAgendados(int.Parse(agenda.IdModulo), int.Parse(agenda.IdComponente), int.Parse(agenda.IdTurma)));

            foreach (var Comp in agendaComponente)
            {
                //this.speDominioService.ApagarAgendaComponente(Comp.IdAgendaComponente);
                BL.AgendaComponente.Delete(Comp.IdAgendaComponente);
            }

            //this.speDominioService.AgendarComponente(AgendamentoCompletoViewModel.MapToModelAgendaComponente(agenda));
            BL.AgendaComponente.AgendarComponente(AgendamentoCompletoViewModel.MapToModelAgendaComponente(agenda));

            foreach (var Ambiente in AmbienteAgendados.ToList())
            {
                //this.speDominioService.ApagarAgendaAmbiente(Ambiente.IdAgendaAmbiente);
                BL.AgendaAmbiente.Delete(Ambiente.IdAgendaAmbiente);
            }
            foreach (var Docente in DocentesAgendados.ToList())
            {
                //this.speDominioService.ApagarAgendaDocente(Docente.IdAgendaDocente);
                BL.AgendaDocente.Delete(Docente.IdAgendaDocente);
            }

            if (agenda.AgendaAmbientes != null)
            {
                foreach (var item in agenda.AgendaAmbientes)
                {
                    //this.speDominioService.AgendarAmbiente(AgendaAmbienteViewModel.MapToModel(item));
                    BL.AgendaAmbiente.AgendarAmbiente(AgendaAmbienteViewModel.MapToModel(item));
                }
            }
            if (agenda.AgendaDocentes != null)
            {
                foreach (var item in agenda.AgendaDocentes)
                {
                    //this.speDominioService.AgendarDocente(AgendaDocenteViewModel.MapToModel(item));
                    BL.AgendaDocente.AgendarDocente(AgendaDocenteViewModel.MapToModel(item));
                }
            }


            //this.speDominioService.AtualizarTurmaPorAgendamento(agenda.IdTurma);
            BL.Turma.AtualizarTurmaPorAgendamento(agenda.IdTurma);


            return(Json("", JsonRequestBehavior.AllowGet));
        }
        public ActionResult Componente(int IdModulo, int IdComponente, int IdTurma)
        {
            AgendaComponenteViewModel agendaComponente = new AgendaComponenteViewModel();

            try
            {
                List <string> listaDias = new List <string>();
                //agendaComponente = AgendaComponenteViewModel.MapToViewModel(this.speDominioService.getComponentesAgendados(IdModulo, IdComponente, IdTurma).FirstOrDefault());
                agendaComponente = AgendaComponenteViewModel.MapToViewModel(BL.AgendaComponente.GetComponenteAgendados(IdModulo, IdComponente, IdTurma).FirstOrDefault());

                var lista = Enum.GetNames(typeof(DiasSemanaEnum)).ToList();
                agendaComponente.ListaDias = lista;
                agendaComponente.IdTurma   = IdTurma;
                if (agendaComponente.Turma == null)
                {
                    //agendaComponente.Turma = this.speDominioService.GetFilteredTurma(a => a.IdTurma == IdTurma, null, "Turno").FirstOrDefault();
                    agendaComponente.Turma = BL.Turma.Get(a => a.IdTurma == IdTurma, null, "Turno").FirstOrDefault();
                }

                //agendaComponente.Componente = this.speDominioService.GetFilteredComponente(a => a.IdComponente == IdComponente, null, "TipoAmbiente,TipoAmbiente.Ambiente,TipoAmbiente.Ambiente.localambiente").FirstOrDefault();
                agendaComponente.Componente = BL.Componente.Get(a => a.IdComponente == IdComponente, null, "TipoAmbiente,TipoAmbiente.Ambiente,TipoAmbiente.Ambiente.localambiente").FirstOrDefault();

                //agendaComponente.Docentes = this.speDominioService.GetDocenteAll().ToList();
                agendaComponente.Docentes = BL.Docente.Get().ToList();

                agendaComponente.ListaTipoAmbiente = new List <TipoAmbienteViewModel>();

                //agendaComponente.ComponentesAgendados = AgendaComponenteViewModel.MapToViewModel(this.speDominioService.getComponentesAgendados(IdModulo, IdComponente, IdTurma).FirstOrDefault());
                agendaComponente.ComponentesAgendados = AgendaComponenteViewModel.MapToViewModel(BL.AgendaComponente.GetComponenteAgendados(IdModulo, IdComponente, IdTurma).FirstOrDefault());

                //agendaComponente.AmbienteAgendados = AgendaAmbienteViewModel.MapToListViewModel(this.speDominioService.getAmbienteAgendados(IdModulo, IdComponente, IdTurma));
                agendaComponente.AmbienteAgendados = AgendaAmbienteViewModel.MapToListViewModel(BL.AgendaAmbiente.GetAmbientesAgendados(IdModulo, IdComponente, IdTurma));

                //agendaComponente.DocentesAgendados = AgendaDocenteViewModel.MapToListViewModel(this.speDominioService.getDocenteAgendados(IdModulo, IdComponente, IdTurma));
                agendaComponente.DocentesAgendados = AgendaDocenteViewModel.MapToListViewModel(BL.AgendaDocente.GetDocentesAgendados(IdModulo, IdComponente, IdTurma));

                agendaComponente.HoraIniView = agendaComponente.Turma.Turno.HoraIni.Value.ToString().Substring(0, 5);
                agendaComponente.HoraFimView = agendaComponente.Turma.Turno.HoraFim.Value.ToString().Substring(0, 5);

                //agendaComponente.Locais = LocalAmbienteViewModel.MapToListViewModel(this.speDominioService.GetLocalAmbienteAll().ToList());
                agendaComponente.Locais = LocalAmbienteViewModel.MapToListViewModel(BL.LocalAmbiente.Get().ToList());

                //agendaComponente.TiposAmbientes = TipoAmbienteViewModel.MapToListViewModel(this.speDominioService.GetTipoAmbienteAll().ToList());
                agendaComponente.TiposAmbientes = TipoAmbienteViewModel.MapToListViewModel(BL.TipoAmbiente.Get().ToList());
            }
            catch (Exception ex)
            {
                TempData["Error"]        = true;
                TempData["ErrorMessage"] = "Erro ao carregar a página";
                Logging.getInstance().Error(TempData["ErrorMessage"].ToString(), ex);
            }
            agendaComponente.IdModulo = IdModulo;
            return(View(agendaComponente));
        }