protected void _dgvEventos_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Deletar") { try { int index = int.Parse(e.CommandArgument.ToString()); int evt_id = Convert.ToInt32(_dgvEventos.DataKeys[index].Value); ACA_Evento entity = new ACA_Evento { evt_id = evt_id }; ACA_EventoBO.GetEntity(entity); if (ACA_EventoBO.Delete(entity)) { _dgvEventos.PageIndex = 0; _dgvEventos.DataBind(); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "evt_id: " + evt_id); _lblMessage.Text = UtilBO.GetErroMessage("Evento excluído com sucesso.", UtilBO.TipoMensagem.Sucesso); } } catch (ValidationException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao excluir o evento.", UtilBO.TipoMensagem.Erro); } } }
private bool PermitirEditarPeriodoAula(byte tdt_posicao, int tpc_id, int cal_id, long tur_id, DateTime cap_dataFim, bool permiteSalvarAulasPrevistas = true) { if (__userLogged.Docente.doc_id == 0) return false; bool efetivado = false; //Se o bimestre está ativo ou nem começou então não está efetivado if (DateTime.Today <= cap_dataFim) efetivado = false; else { List<ACA_Evento> lstEventos = ACA_EventoBO.GetEntity_Efetivacao_List(cal_id, tur_id, __userLogged.Grupo.gru_id, __userLogged.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo, false); efetivado = !lstEventos.Exists(p => p.tpc_id == tpc_id && p.tev_id == ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __userLogged.Usuario.ent_id) && DateTime.Today >= p.evt_dataInicio && DateTime.Today <= p.evt_dataFim); } // Somente os docentes titulares e o especial podem alterar ou salvar e o período não pode estar efetivado if ((!(tdt_posicao == (byte)EnumTipoDocente.Titular || tdt_posicao == (byte)EnumTipoDocente.SegundoTitular || tdt_posicao == (byte)EnumTipoDocente.Especial) || !permiteSalvarAulasPrevistas) || efetivado) { return false; } return true; }
protected void _btnSalvar_Click(object sender, EventArgs e) { _lblMessage.Text = string.Empty; try { if ((cvDataInicio.IsValid) && (cvDataFim.IsValid)) { List <int> calendarios; if (!verificarCalendarioSelecionado(out calendarios)) { throw new MSTech.Validation.Exceptions.ValidationException("Selecione pelo menos um calendário para o evento."); } //Verifica se o evento foi marcado como 'sem atividade discente' if (Convert.ToBoolean(rblAtividadeDiscente.SelectedValue)) { // carrega datatable com os calendários selecionados CriarListaCalendarioEvento(); string lista_cal = string.Empty; for (int i = 0; i < _VS_Calendario.Rows.Count; i++) { lista_cal = _VS_Calendario.Rows[i]["cal_id"].ToString() + ","; } if (lista_cal.Length > 0) { lista_cal = lista_cal.Remove(lista_cal.Length - 1); } //Verifica se existem aulas cadastradas no período informado para o evento if (ACA_EventoBO.VerificaAulaPorCalendarioEscolaData(lista_cal, _UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID, Convert.ToDateTime(_txtInicioEvento.Text), Convert.ToDateTime(_txtFimEvento.Text))) { ScriptManager.RegisterStartupScript(Page, typeof(Page), "ValidaAulaEventoSemAtividade", "$(document).ready(function(){ $('#divAulaEventoSemAtividade').dialog('open'); });", true); } else { // Bug #9852 _Salvar(_txtInicioEvento.Enabled); } } else { // Bug #9852 _Salvar(_txtInicioEvento.Enabled); } } } catch (MSTech.Validation.Exceptions.ValidationException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o evento.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Verifica se o período está fechado para o fechamento de bimestre. /// </summary> /// <returns></returns> private bool VerificaPeriodoFechado(int cal_id, int tpc_id, int esc_id, int uni_id) { ACA_CalendarioPeriodo entityCap = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario_TipoPeriodo(cal_id, tpc_id, ApplicationWEB.AppMinutosCacheLongo); List <ACA_Evento> ltEventos = ACA_EventoBO.SelecionaEventosEfetivacaoPeriodoCalendario(cal_id, entityCap.cap_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, esc_id, uni_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id); DateTime dataAtual = DateTime.Now; int tev_EfetivacaoNotas = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id); return((dataAtual > entityCap.cap_dataFim && dataAtual < entityCap.cap_dataInicio) || (!ltEventos.Exists(p => p.tpc_id == tpc_id && p.tev_id == tev_EfetivacaoNotas))); }
/// <summary> /// Informa se o período já foi fechado (evento de fechamento já acabou) e não há nenhum evento de fechamento por vir. /// Se o período ainda estiver ativo então não verifica o evento de fechamento /// </summary> /// <param name="tpc_id">ID do período do calendário</param> /// <param name="cal_id">ID do calendário</param> /// <param name="tur_id">ID da turma</param> /// <param name="cap_dataFim">Data fim do período</param> /// <returns></returns> private bool VS_PeriodoEfetivado(int tpc_id, int cal_id, long tur_id, DateTime cap_dataFim) { bool efetivado = false; //Se o bimestre está ativo ou nem começou então não bloqueia pelo evento de fechamento if (DateTime.Today <= cap_dataFim) { return(false); } List <ACA_Evento> lstEventos = ACA_EventoBO.GetEntity_Efetivacao_List(cal_id, tur_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo, false, __SessionWEB.__UsuarioWEB.Docente.doc_id); //Só permite editar o bimestre se tiver evento ativo efetivado = !lstEventos.Exists(p => p.tpc_id == tpc_id && p.tev_id == ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id) && DateTime.Today >= p.evt_dataInicio && DateTime.Today <= p.evt_dataFim); return(efetivado); }
protected void _UCFiltroEscolas__SelecionarEscola() { List <int> calendarios; if (verificarCalendarioSelecionado(out calendarios)) { string msg; if (!ACA_EventoBO.ValidarLimite(false, _VS_TipoEvento, _VS_Limites, chkPadrao.Checked , _UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID, _UCFiltroEscolas._UCComboUnidadeEscola_Uni_ID , UCCTipoPeriodoCalendario1.Valor , calendarios , _txtInicioEvento.Text , _txtFimEvento.Text , __SessionWEB.__UsuarioWEB.Grupo.vis_id , out msg , __SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Gestao ? __SessionWEB.__UsuarioWEB.GrupoUA.Select(p => p.uad_id).ToList() : new List <Guid>() )) { _lblMessage.Text = UtilBO.GetErroMessage(msg, UtilBO.TipoMensagem.Alerta); } } }
protected void _dgvEventos_DataBound(object sender, EventArgs e) { UCTotalRegistros1.Total = ACA_EventoBO.GetTotalRecords(); // Seta propriedades necessárias para ordenação nas colunas. ConfiguraColunasOrdenacao(_dgvEventos); if ((!string.IsNullOrEmpty(_dgvEventos.SortExpression)) && (__SessionWEB.BuscaRealizada.PaginaBusca == PaginaGestao.Evento)) { Dictionary <string, string> filtros = __SessionWEB.BuscaRealizada.Filtros; if (filtros.ContainsKey("VS_Ordenacao")) { filtros["VS_Ordenacao"] = _dgvEventos.SortExpression; } else { filtros.Add("VS_Ordenacao", _dgvEventos.SortExpression); } if (filtros.ContainsKey("VS_SortDirection")) { filtros["VS_SortDirection"] = _dgvEventos.SortDirection.ToString(); } else { filtros.Add("VS_SortDirection", _dgvEventos.SortDirection.ToString()); } __SessionWEB.BuscaRealizada = new BuscaGestao { PaginaBusca = PaginaGestao.Evento , Filtros = filtros }; } }
public void UCCTipoPeriodoCalendario_IndexChanged() { try { int tpc_id = UCCTipoPeriodoCalendario1.Valor; // carrega as listas para selecao de calendários CarregaCalendarios(tpc_id); //********************************** List <int> calendarios; if (verificarCalendarioSelecionado(out calendarios)) { string msg; if (!ACA_EventoBO.ValidarLimite(false, _VS_TipoEvento, _VS_Limites, chkPadrao.Checked , _UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID, _UCFiltroEscolas._UCComboUnidadeEscola_Uni_ID , UCCTipoPeriodoCalendario1.Valor , calendarios , _txtInicioEvento.Text , _txtFimEvento.Text , __SessionWEB.__UsuarioWEB.Grupo.vis_id , out msg , __SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Gestao ? __SessionWEB.__UsuarioWEB.GrupoUA.Select(p => p.uad_id).ToList() : new List <Guid>() )) { _lblMessage.Text = UtilBO.GetErroMessage(msg, UtilBO.TipoMensagem.Alerta); } } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro); } }
private void Salvar(bool confirmacao) { try { if (VS_Cpe_Ano != VSAnoLetivo) { lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.SalvarApenasAnoCorrente"), UtilBO.TipoMensagem.Alerta); return; } if (!confirmacao) { UCConfirmacaoOperacao1.Mensagem = "Estas informações serão compartilhadas com a Escola e impressas no boletim. Confirmar?"; UCConfirmacaoOperacao1.ObservacaoVisivel = false; UCConfirmacaoOperacao1.ObservacaoObrigatorio = false; ScriptManager.RegisterStartupScript(Page, typeof(Page), "ConfirmaMovimentacao", "$(document).ready(function(){ $('#divConfirmacao').dialog('open'); });", true); } else { // Busca todos os eventos do calendário DataTable dtEventos = ACA_EventoBO.Select_TodosEventosPorTipo_CalendarioPeriodo(VS_Cal_Id, VS_Tur_Id, UCComboTipoPeriodoCalendario1.Valor, __SessionWEB.__UsuarioWEB.Usuario.ent_id); // Verifica se existe um evento cadastrado if (dtEventos.Rows.Count == 0) { lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.BimetreNaoAbertoLancamento"), UtilBO.TipoMensagem.Alerta); return; } else { // Se não exister nenhum calendário cadastrado, ou exister e a data atual é menor que a data de início bool existeBimestreFuturo = dtEventos.Rows.Cast <DataRow>().Any(row => DateTime.Now.Date < Convert.ToDateTime(row["evt_dataInicio"].ToString())); if (existeBimestreFuturo) { lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.BimetreNaoAbertoLancamento"), UtilBO.TipoMensagem.Alerta); return; } // Verifica se já passou a data final do evento do calendário para fechamento do bimestre vigente bool existeBimestreFechado = dtEventos.Rows.Cast <DataRow>().Any(row => DateTime.Now.Date >= Convert.ToDateTime(row["evt_dataInicio"].ToString()) && DateTime.Now.Date <= Convert.ToDateTime(row["evt_dataFim"].ToString())); if (!existeBimestreFechado) { lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.BimetreFechadoLancamento"), UtilBO.TipoMensagem.Alerta); return; } } Int64 alu_id = __SessionWEB.__UsuarioWEB.alu_id; // Se for um compromisso de estudo que estava excluído e agora foi incluído novamente, altera situação e os dados bool compromissoEstudoAlteraSituacao = false; // Verifica se já existe um compromisso de estudo pra esse bimestre desse aluno // Busca todos os compromissos de estudo do aluno DataTable dtTodosCompromissosAluno = ACA_CompromissoEstudoBO.SelectSituacaoTodosCompromissoAlunoBy_alu_id(alu_id); bool existeBimestreAtivo = dtTodosCompromissosAluno.Rows.Cast <DataRow>().Any(row => row["tpc_id"].ToString().Equals(UCComboTipoPeriodoCalendario1.Valor.ToString()) && !row["cpe_id"].ToString().Equals(VS_Cpe_Id.ToString()) && row["cpe_ano"].ToString().Equals(VS_Cpe_Ano.ToString()) && !row["cpe_situacao"].ToString().Equals("3") ); // Se existir e tiver com situação ativo, mostra a msg! if (existeBimestreAtivo) { lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.IncluirExisteRegistro"), UtilBO.TipoMensagem.Alerta); return; } else if (VS_Cpe_Id <= 0) // Senão verifica se existe com situação excluído, pra alterar a situação pra ativo, ao invés de salvar um novo registro { foreach (DataRow row in dtTodosCompromissosAluno.Rows) { if (Convert.ToInt32(row["tpc_id"]) == UCComboTipoPeriodoCalendario1.Valor && Convert.ToInt32(row["cpe_ano"]) == VS_Cpe_Ano && Convert.ToInt32(row["cpe_situacao"]) == 3) { compromissoEstudoAlteraSituacao = true; VS_Cpe_Id = Convert.ToInt32(row["cpe_id"]); break; } } } ACA_CompromissoEstudo compromisso = new ACA_CompromissoEstudo { alu_id = __SessionWEB.__UsuarioWEB.alu_id, cpe_id = -1, cpe_atividadeFeita = txtOqTenhoFeito.Text, cpe_atividadePretendeFazer = txtOqPretendoFazer.Text, cpe_situacao = 1, cpe_dataAlteracao = DateTime.Now, cpe_dataCriacao = DateTime.Now, cpe_ano = VS_Cpe_Ano, tpc_id = UCComboTipoPeriodoCalendario1.Valor, IsNew = true }; // Se já existir, altera if (VS_Cpe_Id > 0) { compromisso.cpe_id = VS_Cpe_Id; compromisso.IsNew = false; } if (ACA_CompromissoEstudoBO.Save(compromisso)) { if (VS_Cpe_Id <= 0 || compromissoEstudoAlteraSituacao) { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "Área do aluno. cpe_id: " + Convert.ToString(compromisso.cpe_id)); __SessionWEB.PostMessages = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.IncluirSucesso"), UtilBO.TipoMensagem.Sucesso); } else { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "Área do aluno. cpe_id: " + Convert.ToString(compromisso.cpe_id)); __SessionWEB.PostMessages = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.AlterarErro"), UtilBO.TipoMensagem.Sucesso); } Response.Redirect("~/Cadastro/CompromissoEstudo/Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.SalvarSucesso"), UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Metodo executado por delegate que /// </summary> public void _UCComboTipoEvento_IndexChanged() { try { if (_UCComboTipoEvento.SelectedIndex == 0) { MostraTipoPeriodoCalendario(false); } else { string parametroAtivDiversificada = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.TIPO_EVENTO_ATIVIDADE_DIVERSIFICADA, __SessionWEB.__UsuarioWEB.Usuario.ent_id); ACA_TipoEvento tipoEvento = new ACA_TipoEvento { tev_id = _UCComboTipoEvento.Valor }; ACA_TipoEventoBO.GetEntity(tipoEvento); if (tipoEvento.tev_periodoCalendario) { MostraTipoPeriodoCalendario(true); } else { MostraTipoPeriodoCalendario(false); CarregaCalendarios(0); } if (parametroAtivDiversificada.Equals(_UCComboTipoEvento.Valor.ToString())) { rblAtividadeDiscente.SelectedValue = "False"; rblAtividadeDiscente.Enabled = false; } else { rblAtividadeDiscente.Enabled = true; } _VS_TipoEvento = tipoEvento; CarregarLimites(); List <int> calendarios; if (verificarCalendarioSelecionado(out calendarios)) { string msg; if (!ACA_EventoBO.ValidarLimite(false, _VS_TipoEvento, _VS_Limites, chkPadrao.Checked , _UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID, _UCFiltroEscolas._UCComboUnidadeEscola_Uni_ID , UCCTipoPeriodoCalendario1.Valor , calendarios , _txtInicioEvento.Text , _txtFimEvento.Text , __SessionWEB.__UsuarioWEB.Grupo.vis_id , out msg , __SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Gestao ? __SessionWEB.__UsuarioWEB.GrupoUA.Select(p => p.uad_id).ToList() : new List <Guid>() )) { _lblMessage.Text = UtilBO.GetErroMessage(msg, UtilBO.TipoMensagem.Alerta); } } } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Salva os dados do evento. /// </summary> /// <param name="bValidaDataInicial"></param> public void _Salvar(bool bValidaDataInicial) { try { ACA_Evento Evento = new ACA_Evento { evt_id = _VS_evt_id , ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id , tev_id = _UCComboTipoEvento.Valor , esc_id = _UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID , uni_id = _UCFiltroEscolas._UCComboUnidadeEscola_Uni_ID , evt_nome = _txtNome.Text , evt_descricao = _txtDescricao.Text , evt_dataInicio = Convert.ToDateTime(_txtInicioEvento.Text) , evt_dataFim = Convert.ToDateTime(_txtFimEvento.Text) , evt_semAtividadeDiscente = Convert.ToBoolean(rblAtividadeDiscente.SelectedValue) //_ckbAtividadeDiscente.Checked , evt_padrao = chkPadrao.Checked , tpc_id = UCCTipoPeriodoCalendario1.Valor , evt_situacao = 1 , IsNew = (_VS_evt_id > 0) ? false : true , evt_limitarDocente = false }; List <int> calendarios; if (!verificarCalendarioSelecionado(out calendarios)) { throw new MSTech.Validation.Exceptions.ValidationException("Selecione pelo menos um calendário para o evento."); } // carrega datatable com os calendários selecionados CriarListaCalendarioEvento(); if (ACA_EventoBO.Salvar ( Evento , _VS_Calendario , _VS_CalendarioExcluido , bValidaDataInicial , __SessionWEB.__UsuarioWEB.Usuario.ent_id , __SessionWEB.__UsuarioWEB.Grupo.vis_id , __SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Gestao ? __SessionWEB.__UsuarioWEB.GrupoUA.Select(p => p.uad_id).ToList() : new List <Guid>() )) { if (_VS_evt_id > 0) { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "evt_id: " + Evento.evt_id); __SessionWEB.PostMessages = UtilBO.GetErroMessage("Evento alterado com sucesso.", UtilBO.TipoMensagem.Sucesso); } else { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "evt_id: " + Evento.evt_id); __SessionWEB.PostMessages = UtilBO.GetErroMessage("Evento incluído com sucesso.", UtilBO.TipoMensagem.Sucesso); } Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "Academico/Evento/Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } else { _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o evento.", UtilBO.TipoMensagem.Erro); } } catch (DataAnteriorException) { btnConfirmarEvento.Text = _VS_evt_id > 0 ? "Confirmar alteração do evento" : "Confirmar inclusão do evento"; btnCancelarEvento.Text = _VS_evt_id > 0 ? "Cancelar alteração do evento" : "Cancelar inclusão do evento"; ScriptManager.RegisterStartupScript(Page, typeof(Page), "ValidaDataInicial", "$(document).ready(function(){ $('#divDataAnterior').dialog('open'); });", true); } catch (MSTech.Validation.Exceptions.ValidationException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (DuplicateNameException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro); } catch (ArgumentException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o evento.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Carrega os dados do evento na tela. /// </summary> /// <param name="evt_id">ID do evento</param> private void _LoadFromEntity(long evt_id) { try { ACA_Evento evento = new ACA_Evento { evt_id = evt_id }; ACA_EventoBO.GetEntity(evento); ESC_Escola entEscola = new ESC_Escola { esc_id = evento.esc_id }; ESC_EscolaBO.GetEntity(entEscola); SYS_UnidadeAdministrativa entUA = new SYS_UnidadeAdministrativa { ent_id = entEscola.ent_id, uad_id = entEscola.uad_id }; SYS_UnidadeAdministrativaBO.GetEntity(entUA); if (evento.ent_id != __SessionWEB.__UsuarioWEB.Usuario.ent_id) { __SessionWEB.PostMessages = UtilBO.GetErroMessage("O evento não pertence à entidade na qual você está logado.", UtilBO.TipoMensagem.Alerta); Response.Redirect("~/Academico/Evento/Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } _UCFiltroEscolas.SelecionaCombosAutomatico = false; //_UCFiltroEscolas._UnidadeEscola_Load(0); //_UCFiltroEscolas._ComboUnidadeEscola.DataBind(); if (entEscola.esc_id > 0) { _UCFiltroEscolas._ComboUnidadeEscola.SelectedValue = entEscola.esc_id + ";" + "1"; } Guid tua_id = ACA_ParametroAcademicoBO.VerificaFiltroEscolaPorEntidade(__SessionWEB.__UsuarioWEB.Usuario.ent_id); SYS_TipoUnidadeAdministrativa TipoUnidadeAdm = new SYS_TipoUnidadeAdministrativa { tua_id = tua_id }; SYS_TipoUnidadeAdministrativaBO.GetEntity(TipoUnidadeAdm); _UCFiltroEscolas._LabelUnidadeAdministrativa.Text = string.IsNullOrEmpty(TipoUnidadeAdm.tua_nome) ? "Unidade Administrativa" : TipoUnidadeAdm.tua_nome; _UCFiltroEscolas._UnidadeAdministrativa_LoadBy_tua_id_situacao(tua_id, Guid.Empty, 0); chkPadrao.Checked = evento.evt_padrao; if (chkPadrao.Checked) { _UCFiltroEscolas.EscolaCampoObrigatorio = false; _UCFiltroEscolas.UnidadeAdministrativaCampoObrigatorio = false; _UCFiltroEscolas._ComboUnidadeEscola.SelectedIndex = -1; _UCFiltroEscolas._ComboUnidadeAdministrativa.SelectedIndex = -1; } else { _UCFiltroEscolas.EscolaCampoObrigatorio = true; _UCFiltroEscolas.UnidadeAdministrativaCampoObrigatorio = true; if (_UCFiltroEscolas._ComboUnidadeAdministrativa.Visible) { Guid uad_idSuperior = entEscola.uad_idSuperiorGestao.Equals(Guid.Empty) ? entUA.uad_idSuperior : entEscola.uad_idSuperiorGestao; _UCFiltroEscolas._UnidadeEscola_LoadBy_uad_idSuperior(new Guid(_UCFiltroEscolas._ComboUnidadeAdministrativa.SelectedValue), true); _UCFiltroEscolas._ComboUnidadeAdministrativa.SelectedValue = uad_idSuperior.ToString(); } _UCFiltroEscolas._ComboUnidadeEscola.SelectedValue = Convert.ToString(evento.esc_id + ";" + evento.uni_id).Equals("0;0") ? "-1;-1" : Convert.ToString(evento.esc_id + ";" + evento.uni_id); } _VS_evt_id = evento.evt_id; _UCComboTipoEvento.CarregarTipoEvento(0); _UCComboTipoEvento.Valor = evento.tev_id; _UCComboTipoEvento.PermiteEditar = false; ACA_TipoEvento tipoEvento = new ACA_TipoEvento { tev_id = evento.tev_id }; ACA_TipoEventoBO.GetEntity(tipoEvento); if (tipoEvento.tev_periodoCalendario) { MostraTipoPeriodoCalendario(true); UCCTipoPeriodoCalendario1.Valor = evento.tpc_id; } else { MostraTipoPeriodoCalendario(false); } // carrega as listas para selecao de calendários CarregaCalendarios(evento.tpc_id); //********************************** _txtNome.Text = evento.evt_nome; _txtDescricao.Text = evento.evt_descricao; _txtInicioEvento.Text = evento.evt_dataInicio.ToString("dd/MM/yyyy"); _txtFimEvento.Text = evento.evt_dataFim.ToString("dd/MM/yyyy"); //_ckbAtividadeDiscente.Checked = evento.evt_semAtividadeDiscente.Equals(true); rblAtividadeDiscente.SelectedValue = evento.evt_semAtividadeDiscente.Equals(true) ? "True" : "False"; /// dados que não podem ser alterados: chkPadrao.Enabled = false; _UCFiltroEscolas._ComboUnidadeEscola.Enabled = false; _UCFiltroEscolas._cvUnidadeEscola.Enabled = false; _UCFiltroEscolas._ComboUnidadeAdministrativa.Enabled = false; _UCFiltroEscolas._cvUnidadeAdministrativa.Enabled = false; _UCComboTipoEvento.PermiteEditar = false; UCCTipoPeriodoCalendario1.PermiteEditar = false; //_ckbAtividadeDiscente.Enabled = false; rblAtividadeDiscente.Enabled = false; DateTime dtIni = evento.evt_dataInicio; bool param = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.PERMITIR_CADASTRO_EVENTO_RETROATIVO, __SessionWEB.__UsuarioWEB.Usuario.ent_id); bool param_discente = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.PERMITIR_CADASTRO_EVENTO_RETROATIVO_SEM_ATIVIDADE_DISCENTE, __SessionWEB.__UsuarioWEB.Usuario.ent_id); if (((dtIni <= DateTime.Today) && evento.evt_semAtividadeDiscente && param && !param_discente) || ((dtIni <= DateTime.Today) && !evento.evt_semAtividadeDiscente)) { _txtInicioEvento.Enabled = false; foreach (RepeaterItem item in rptCampos.Items) { CheckBox ckbCampo = (CheckBox)item.FindControl("ckbCampo"); if (ckbCampo != null) { ckbCampo.Enabled = false; } } } DateTime dtFim = Convert.ToDateTime(_txtFimEvento.Text); if (dtFim <= DateTime.Today) { _txtFimEvento.Enabled = false; } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o evento.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Carregar os períodos e seta a visibilidade dos botões de acordo com a permissão do usuário. /// </summary> public void CarregarPeriodos ( List <sPermissaoDocente> VS_ltPermissaoFrequencia , List <sPermissaoDocente> VS_ltPermissaoEfetivacao , List <sPermissaoDocente> VS_ltPermissaoPlanejamentoAnual , List <sPermissaoDocente> VS_ltPermissaoAvaliacao , TUR_TurmaDisciplina VS_turmaDisciplinaRelacionada , int esc_id , byte tud_tipo , byte tdt_posicao = 0 , Int64 tur_id = -1 , Int64 tud_id = -1 , bool incluirPeriodoRecesso = false , int tpcIdPendencia = -1 ) { // Habilita a visibilidade dos botões alunos e voltar VisibleAlunos = !ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.MINHAS_TURMAS_ESCONDER_BOTAO_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id); VisibleVoltar = !ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.MINHAS_TURMAS_ESCONDER_BOTAO_VOLTAR, __SessionWEB.__UsuarioWEB.Usuario.ent_id); int fav_id = -1; if (tur_id > 0 && tud_id > 0 && ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.PRE_CARREGAR_CACHE_EFETIVACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { TUR_Turma entityTurma = new TUR_Turma { tur_id = tur_id }; TUR_TurmaBO.GetEntity(entityTurma); ACA_FormatoAvaliacao entityFormato = new ACA_FormatoAvaliacao { fav_id = entityTurma.fav_id }; ACA_FormatoAvaliacaoBO.GetEntity(entityFormato); ACA_EscalaAvaliacao entityEscala = new ACA_EscalaAvaliacao { esa_id = entityFormato.esa_idPorDisciplina }; ACA_EscalaAvaliacaoBO.GetEntity(entityEscala); ACA_EscalaAvaliacao entityEscalaDocente = new ACA_EscalaAvaliacao { esa_id = entityFormato.esa_idDocente }; ACA_EscalaAvaliacaoBO.GetEntity(entityEscalaDocente); TUR_TurmaDisciplina entityTurmaDisciplina = new TUR_TurmaDisciplina { tud_id = tud_id }; TUR_TurmaDisciplinaBO.GetEntity(entityTurmaDisciplina); // Valor do conceito global ou por disciplina. string valorMinimo = tud_id > 0 ? entityFormato.valorMinimoAprovacaoPorDisciplina : entityFormato.valorMinimoAprovacaoConceitoGlobal; double notaMinimaAprovacao = 0; int ordemParecerMinimo = 0; EscalaAvaliacaoTipo tipoEscala = (EscalaAvaliacaoTipo)entityEscala.esa_tipo; if (tipoEscala == EscalaAvaliacaoTipo.Numerica) { notaMinimaAprovacao = Convert.ToDouble(valorMinimo.Replace(',', '.')); } else if (tipoEscala == EscalaAvaliacaoTipo.Pareceres) { ordemParecerMinimo = ACA_EscalaAvaliacaoParecerBO.RetornaOrdem_Parecer(entityEscala.esa_id, valorMinimo, ApplicationWEB.AppMinutosCacheLongo); } hdnTudId.Value = tud_id.ToString(); hdnTurId.Value = entityTurma.tur_id.ToString(); hdnFavId.Value = entityTurma.fav_id.ToString(); hdnEsaId.Value = entityEscala.esa_id.ToString(); hdnTipoEscala.Value = entityEscala.esa_tipo.ToString(); hdnTipoEscalaDocente.Value = entityEscalaDocente.esa_tipo.ToString(); hdnNotaMinima.Value = notaMinimaAprovacao.ToString(); hdnParecerMinimo.Value = ordemParecerMinimo.ToString(); hdnTipoLancamento.Value = entityFormato.fav_tipoLancamentoFrequencia.ToString(); hdnCalculoQtAulasDadas.Value = entityFormato.fav_calculoQtdeAulasDadas.ToString(); hdnTurTipo.Value = entityTurma.tur_tipo.ToString(); hdnCalId.Value = entityTurma.cal_id.ToString(); hdnTudTipo.Value = entityTurmaDisciplina.tud_tipo.ToString(); hdnVariacao.Value = entityFormato.fav_variacao.ToString(); hdnTipoDocente.Value = (__SessionWEB.__UsuarioWEB.Docente.doc_id > 0 ? (byte)ACA_TipoDocenteBO.SelecionaTipoDocentePorPosicao(tdt_posicao, ApplicationWEB.AppMinutosCacheLongo) : (byte)0).ToString(); hdnDisciplinaEspecial.Value = entityTurmaDisciplina.tud_disciplinaEspecial ? "true" : "false"; hdnFechamentoAutomatico.Value = entityFormato.fav_fechamentoAutomatico ? "true" : "false"; hdnProcessarFilaFechamentoTela.Value = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.PROCESSAR_FILA_FECHAMENTO_TELA, __SessionWEB.__UsuarioWEB.Usuario.ent_id) ? "true" : "false"; fav_id = entityFormato.fav_id; } if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.TELA_UNICA_LANCAMENTO_FREQUENCIA_AVALIACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { VisibleListao = VS_ltPermissaoFrequencia.Any(p => p.pdc_permissaoConsulta) || VS_ltPermissaoAvaliacao.Any(p => p.pdc_permissaoConsulta); btnFrequencia.Visible = btnAvaliacao.Visible = false; } else { VisibleListao = false; btnFrequencia.Visible = VS_ltPermissaoFrequencia.Any(p => p.pdc_permissaoConsulta); btnAvaliacao.Visible = VS_ltPermissaoAvaliacao.Any(p => p.pdc_permissaoConsulta); } VisibleEfetivacao = tud_tipo != (byte)ACA_CurriculoDisciplinaTipo.DocenciaCompartilhada && VS_ltPermissaoEfetivacao.Any(p => p.pdc_permissaoConsulta) && !ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.MINHAS_TURMAS_ESCONDER_BOTAO_EFETIVACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id); VisiblePlanejamentoAnual = tud_tipo == (byte)ACA_CurriculoDisciplinaTipo.DocenciaCompartilhada ? VS_turmaDisciplinaRelacionada != null && VS_turmaDisciplinaRelacionada.tud_naoLancarPlanejamento == false : VS_ltPermissaoPlanejamentoAnual.Any(p => p.pdc_permissaoConsulta); List <Struct_CalendarioPeriodos> lstCalendarioPeriodos = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(VS_cal_id, ApplicationWEB.AppMinutosCacheLongo, false, __SessionWEB.__UsuarioWEB.Usuario.ent_id); if (incluirPeriodoRecesso) { VS_CalendarioPeriodo = lstCalendarioPeriodos; } else { VS_CalendarioPeriodo = lstCalendarioPeriodos.FindAll(p => p.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, __SessionWEB.__UsuarioWEB.Usuario.ent_id)); // Se o período selecionado for de recesso, // seleciono o bimestre anterior. if (VS_tpc_id == ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { int indiceRecesso = lstCalendarioPeriodos.FindIndex(p => p.tpc_id == VS_tpc_id); if (indiceRecesso > 0) { Struct_CalendarioPeriodos periodo = lstCalendarioPeriodos[indiceRecesso - 1]; VS_tpc_id = periodo.tpc_id; VS_tpc_ordem = periodo.tpc_ordem; } } } VS_cal_ano = VS_CalendarioPeriodo.Find(p => p.cal_id == VS_cal_id).cal_ano; List <ESC_EscolaCalendarioPeriodo> lstEscCalPeriodo = ESC_EscolaCalendarioPeriodoBO.SelectEscolasCalendarioCache(VS_cal_id, ApplicationWEB.AppMinutosCacheCurto); VS_CalendarioPeriodo = VS_CalendarioPeriodo.Where(calP => (lstEscCalPeriodo.Where(escP => (escP.esc_id == esc_id && escP.tpc_id == calP.tpc_id)).Count() == 0)).ToList(); if (VS_IncluirPeriodoFinal) { Struct_CalendarioPeriodos[] calendarioPeriodosCopy = new Struct_CalendarioPeriodos[VS_CalendarioPeriodo.Count() + 1]; VS_CalendarioPeriodo.CopyTo(calendarioPeriodosCopy, 0); Struct_CalendarioPeriodos periodoFinal = new Struct_CalendarioPeriodos(); periodoFinal.cap_descricao = periodoFinal.tpc_nomeAbreviado = GetGlobalResourceObject("UserControl", "NavegacaoTelaPeriodo.UCNavegacaoTelaPeriodo.PeriodoFinal").ToString(); periodoFinal.tpc_id = -1; calendarioPeriodosCopy[VS_CalendarioPeriodo.Count()] = periodoFinal; rptPeriodo.DataSource = calendarioPeriodosCopy; } else { rptPeriodo.DataSource = VS_CalendarioPeriodo; } if (fav_id > 0) { string tpc_id = string.Join(",", VS_CalendarioPeriodo.Select(p => p.tpc_id.ToString()).ToArray()); ltAvaliacao = ACA_AvaliacaoBO.ConsultaPor_Periodo_Relacionadas(fav_id, tpc_id, ApplicationWEB.AppMinutosCacheLongo); if (VS_IncluirPeriodoFinal) { ltAvaliacao.AddRange(ACA_AvaliacaoBO.SelectAvaliacaoFinal_PorFormato(fav_id, ApplicationWEB.AppMinutosCacheLongo)); } } rptPeriodo.DataBind(); //Seleciona o ultimo bimestre List <Struct_CalendarioPeriodos> tabelaPeriodos = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(VS_cal_id, ApplicationWEB.AppMinutosCacheLongo); int tpc_idUltimoPeriodo = tabelaPeriodos.Count > 0 ? tabelaPeriodos.Last().tpc_id : -1; int tpc_ordemUltimoPeriodo = tabelaPeriodos.Count > 0 ? tabelaPeriodos.Last().tpc_ordem : 0; if (tpcIdPendencia > 0) { //Busca o bimestre pendente Struct_CalendarioPeriodos periodo = VS_CalendarioPeriodo.Where(x => x.tpc_id == tpcIdPendencia).FirstOrDefault(); VS_tpc_id = periodo.tpc_id; VS_tpc_ordem = periodo.tpc_ordem; } if (VS_tpc_id <= 0 && !VS_IncluirPeriodoFinal) { //Busca o bimestre corrente Struct_CalendarioPeriodos periodo = VS_CalendarioPeriodo.Where(x => (x.cap_dataInicio.Date <= DateTime.Now.Date && x.cap_dataFim.Date >= DateTime.Now.Date)).FirstOrDefault(); VS_tpc_id = periodo.tpc_id; VS_tpc_ordem = periodo.tpc_ordem; if (VS_tpc_id <= 0) { //Se não tem bimestre selecionado e nem bimestre corrente então seleciona o próximo corrente periodo = VS_CalendarioPeriodo.Where(x => (x.cap_dataInicio.Date >= DateTime.Now.Date)).FirstOrDefault(); VS_tpc_id = periodo.tpc_id; VS_tpc_ordem = periodo.tpc_ordem; if (VS_tpc_id <= 0) { //Se não tem bimestre selecionado então seleciona o ultimo VS_tpc_id = tpc_idUltimoPeriodo; VS_tpc_ordem = tpc_ordemUltimoPeriodo; } } } if (VS_tpc_id >= 0 && VS_IncluirPeriodoFinal) { if (VS_tpc_id == tpc_idUltimoPeriodo) { // Se for o ultimo periodo e a avaliacao final estiver aberta, // selecionar a avaliacao final List <ACA_Evento> listaEventos = ACA_EventoBO.GetEntity_Efetivacao_List(VS_cal_id, tur_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo, true, __SessionWEB.__UsuarioWEB.Docente.doc_id); if (listaEventos.Exists(p => p.tev_id == ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id))) { VS_tpc_id = -1; VS_tpc_ordem = 0; } } if (VS_tpc_id == 0) { //Se não tem bimestre selecionado e nem bimestre corrente então seleciona o próximo corrente Struct_CalendarioPeriodos periodo = VS_CalendarioPeriodo.Where(x => (x.cap_dataInicio.Date >= DateTime.Now.Date)).FirstOrDefault(); VS_tpc_id = periodo.tpc_id; VS_tpc_ordem = periodo.tpc_ordem; if (VS_tpc_id <= 0) { //Se não tem bimestre selecionado então seleciona o final VS_tpc_id = -1; VS_tpc_ordem = 0; } } } if (VS_tpc_ordem < 0) { VS_tpc_ordem = 0; } // Seleciona o botão do bimestre informado (VS_tpc_id) rptPeriodo.Items.Cast <RepeaterItem>().ToList() .Select(p => (Button)p.FindControl("btnPeriodo")) .ToList().ForEach(p => RemoveClass(p, "periodo_selecionado")); rptPeriodo.Items.Cast <RepeaterItem>().ToList() .Where(p => Convert.ToInt32(((HiddenField)p.FindControl("hdnPeriodo")).Value) == VS_tpc_id && Convert.ToInt32(((HiddenField)p.FindControl("hdnPeriodoOrdem")).Value) == VS_tpc_ordem) .Select(p => (Button)p.FindControl("btnPeriodo")) .ToList() .ForEach ( p => { AddClass(p, "periodo_selecionado"); HiddenField hdn = (HiddenField)p.FindControl("hdnIdAvaliacao"); if (!string.IsNullOrEmpty(hdn.Value)) { hdnAvaId.Value = hdn.Value; } hdn = (HiddenField)p.FindControl("hdnAvaliacaoTipo"); if (!string.IsNullOrEmpty(hdn.Value)) { hdnTipoAvaliacao.Value = hdn.Value; } hdnTpcId.Value = VS_tpc_id.ToString(); hdn = (HiddenField)p.FindControl("hdnPeriodoOrdem"); if (!string.IsNullOrEmpty(hdn.Value)) { hdnTpcOrdem.Value = hdn.Value; } } ); }
/// <summary> /// Carrega as avaliações no combo que estão liberadas de acordo com os eventos do calendário, /// e com os períodos ligados à disciplina. /// </summary> /// <param name="entityTurma">Entidade da turma</param> /// <param name="tud_id">Id da disciplina</param> public void CarregarAvaliacao(TUR_Turma entityTurma, long tud_id, int tpc_idFiltrar = -1, bool incluirPeriodoFinal = false, long doc_id = -1) { try { // Busca o evento ligado ao calendário, que seja do tipo definido // no parâmetro como de efetivação. List <ACA_Evento> listEvento = ACA_EventoBO.GetEntity_Efetivacao_List(entityTurma.cal_id, entityTurma.tur_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, tpc_idFiltrar, ApplicationWEB.AppMinutosCacheLongo, true, doc_id); if (entityTurma.fav_id <= 0) { __SessionWEB.PostMessages = UtilBO.GetErroMessage("É necessário selecionar uma turma que possua um formato de avaliação.", UtilBO.TipoMensagem.Alerta); Response.Redirect("~/Classe/Efetivacao/Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } else { int valor = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id); int valorRecuperacao = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_RECUPERACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id); int valorFinal = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id); int valorRecuperacaoFinal = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_RECUPERACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id); // verifica se existe evento do tipo Efetivação Nota string listaTpcIdPeriodicaPeriodicaFinal = string.Empty; IEnumerable <ACA_Evento> dadoNota = (from ACA_Evento item in listEvento where item.tev_id == valor select item); // se existir, pega os tpc_id's List <ACA_Evento> lt = dadoNota.ToList(); if (lt.Count > 0) { var x = from ACA_Evento evt in listEvento where evt.tev_id == valor select evt.tpc_id; foreach (int tpc_id in x.ToList()) { if (string.IsNullOrEmpty(listaTpcIdPeriodicaPeriodicaFinal)) { listaTpcIdPeriodicaPeriodicaFinal += Convert.ToString(tpc_id); } else { listaTpcIdPeriodicaPeriodicaFinal += "," + Convert.ToString(tpc_id); } } } // verifica se existe evento do tipo efetivação recuperacao string listaTpcIdRecuperacao = string.Empty; IEnumerable <ACA_Evento> dadoRecuperacao = (from ACA_Evento item in listEvento where item.tev_id == valorRecuperacao select item); List <ACA_Evento> ltRe = dadoRecuperacao.ToList(); // se existir, pega os tpc_id's if (ltRe.Count > 0) { var x = from ACA_Evento evt in listEvento where evt.tev_id == valorRecuperacao select evt.tpc_id; foreach (int tpc_id in x.ToList()) { if (string.IsNullOrEmpty(listaTpcIdRecuperacao)) { listaTpcIdRecuperacao += Convert.ToString(tpc_id); } else { listaTpcIdRecuperacao += "," + Convert.ToString(tpc_id); } } } // verifica se existe evento do tipo efetivação final bool existeFinal = false; IEnumerable <ACA_Evento> dadoFinal = (from ACA_Evento item in listEvento where item.tev_id == valorFinal select item); List <ACA_Evento> ltFinal = dadoFinal.ToList(); // se existir, marca para trazer as avaliações do tipo final if (ltFinal.Count > 0) { existeFinal = true; } // verifica se existe evento do tipo recuperação final bool existeRecuperacaoFinal = false; IEnumerable <ACA_Evento> dadoRecuperacaoFinal = (from ACA_Evento item in listEvento where item.tev_id == valorRecuperacaoFinal select item); List <ACA_Evento> ltRecuperacaoFinal = dadoRecuperacaoFinal.ToList(); // se existir, marca para trazer as avaliações do tipo recuperação final if (ltRecuperacaoFinal.Count > 0) { existeRecuperacaoFinal = true; } DataTable dtAvaliacoes; // Se for turma eletiva do aluno, carrega apenas os períodos do calendário em que // a turma é oferecida if ((TUR_TurmaTipo)entityTurma.tur_tipo == TUR_TurmaTipo.EletivaAluno) { List <CadastroTurmaDisciplina> listaDisciplinas = TUR_TurmaDisciplinaBO.GetSelectCadastradosBy_Turma(entityTurma.tur_id); dtAvaliacoes = ACA_AvaliacaoBO.ConsultaPor_Periodo_Efetivacao_TurmaDisciplinaCalendario(entityTurma.tur_id, listaDisciplinas[0].entTurmaDisciplina.tud_id, entityTurma.fav_id, listaTpcIdPeriodicaPeriodicaFinal, listaTpcIdRecuperacao, existeFinal, true, true); if (tpc_idFiltrar > 0) { var eletivaFiltrada = (from DataRow dr in dtAvaliacoes.Rows where (tpc_idFiltrar == Convert.ToInt32(string.IsNullOrEmpty(dr["tpc_id"].ToString()) ? 0 : dr["tpc_id"])) select dr); dtAvaliacoes = eletivaFiltrada.Any() ? eletivaFiltrada.CopyToDataTable() : new DataTable(); } } else { dtAvaliacoes = ACA_AvaliacaoBO.ConsultaPor_Periodo_Efetivacao(entityTurma.tur_id, entityTurma.fav_id, tud_id, listaTpcIdPeriodicaPeriodicaFinal, listaTpcIdRecuperacao, existeFinal, existeRecuperacaoFinal, true, true, tpc_idFiltrar, ApplicationWEB.AppMinutosCacheLongo); } if (incluirPeriodoFinal) { if (tpc_idFiltrar > 0) { var eletivaFiltrada = (from DataRow dr in dtAvaliacoes.Rows where (tpc_idFiltrar == Convert.ToInt32(string.IsNullOrEmpty(dr["tpc_id"].ToString()) ? 0 : dr["tpc_id"])) select dr); dtAvaliacoes = eletivaFiltrada.Any() ? eletivaFiltrada.CopyToDataTable() : new DataTable(); } else { var eletivaFiltrada = (from DataRow dr in dtAvaliacoes.Rows where ((byte)dr["ava_tipo"] == (byte)AvaliacaoTipo.Final) select dr); dtAvaliacoes = eletivaFiltrada.Any() ? eletivaFiltrada.CopyToDataTable() : new DataTable(); } } var avaliacoes = (from DataRow dr in dtAvaliacoes.Rows let fechado = Convert.ToBoolean(dr["ava_tpc_fechado"]) let cap_dataInicio = Convert.ToDateTime(string.IsNullOrEmpty(dr["cap_dataInicio"].ToString()) ? new DateTime().ToString() : dr["cap_dataInicio"]) let tpc_id = Convert.ToInt32(string.IsNullOrEmpty(dr["tpc_id"].ToString()) ? 0 : dr["tpc_id"]) where (!(fechado && cap_dataInicio > DateTime.Now)) && ((VS_tpc_id == -1) || (tpc_id == VS_tpc_id)) select dr); dtAvaliacoes = avaliacoes.Any() ? avaliacoes.CopyToDataTable() : new DataTable(); ddlAvaliacao.Items.Clear(); ddlAvaliacao.DataTextField = "ava_tpc_nome"; ddlAvaliacao.DataSource = dtAvaliacoes; ddlAvaliacao.Items.Insert(0, new ListItem("-- Selecione uma avaliação --", "-1")); ddlAvaliacao.AppendDataBoundItems = true; ddlAvaliacao.DataBind(); //if (tpc_idSelecionar > 0) //{ // // Seleciona o tpc_id da avaliação relacionada. //} } } catch (ValidationException ex) { __SessionWEB.PostMessages = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); Response.Redirect("~/Classe/Efetivacao/Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } catch (Exception ex) { TrataErro(ex); } }
protected void grvCompromissoEstudo_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Deletar") { try { if (UCComboAnosLetivos.Ano != VSAnoLetivo) { lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.SalvarApenasAnoCorrente"), UtilBO.TipoMensagem.Alerta); return; } int index = int.Parse(e.CommandArgument.ToString()); Int64 alu_id = __SessionWEB.__UsuarioWEB.alu_id; DataTable dtCurriculo = ACA_AlunoCurriculoBO.SelecionaDadosUltimaMatricula(alu_id); if (dtCurriculo.Rows.Count == 0) { throw new ValidationException("Aluno não possui dados para a Área do Aluno."); } Int64 tur_id = Convert.ToInt64(dtCurriculo.Rows[0]["tur_id"]); int cal_id = Convert.ToInt32(dtCurriculo.Rows[0]["cal_id"]); ACA_CompromissoEstudo compromisso = new ACA_CompromissoEstudo { alu_id = alu_id, cpe_id = Convert.ToInt32(grvCompromissoEstudo.DataKeys[index].Value) }; ACA_CompromissoEstudoBO.GetEntity(compromisso); List <Cache_EventosEfetivacaoTodos> listEventosCalendario = ACA_EventoBO.Select_EventoEfetivacaoTodos (cal_id, tur_id, compromisso.tpc_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo); if (!listEventosCalendario.Any()) { throw new ValidationException("Não é possível excluir, pois o bimestre já está fechado."); } compromisso.cpe_situacao = 3; compromisso.cpe_dataAlteracao = DateTime.Now; if (ACA_CompromissoEstudoBO.Save(compromisso)) { CarregarCompromissoEstudoAlunoAnoLetivo(alu_id, UCComboAnosLetivos.Ano); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "cpe_id: " + compromisso.cpe_id); lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Busca.ExcluirSucesso"), UtilBO.TipoMensagem.Sucesso); } } catch (ValidationException ex) { lblMensagem.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Busca.ExcluirErro"), UtilBO.TipoMensagem.Erro); } } }
protected void _dgvTurma_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Selecionar") { try { VS_cancelSelect = false; GridViewRow row = (GridViewRow)((LinkButton)e.CommandSource).NamingContainer; int index = row.RowIndex; _VS_tur_id = Convert.ToInt32(_dgvTurma.DataKeys[index].Values["tur_id"]); // Utilizado para verificar se é turma eletiva do aluno TUR_Turma tur = new TUR_Turma { tur_id = _VS_tur_id }; TUR_TurmaBO.GetEntity(tur); // verifica se existe evento de efetivacao ligado ao calendário da turma int cal_id = Convert.ToInt32(_dgvTurma.DataKeys[index].Values["cal_id"]); // Busca o evento ligado ao calendário, que seja do tipo definido // no parâmetro como de efetivação. List <ACA_Evento> listEvento = ACA_EventoBO.GetEntity_Efetivacao_List(cal_id, _VS_tur_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo, true, __SessionWEB.__UsuarioWEB.Docente.doc_id); if (string.IsNullOrEmpty(_dgvTurma.DataKeys[index].Values["fav_id"].ToString())) { _lblMessage.Text = UtilBO.GetErroMessage("É necessário selecionar uma turma que possua um formato de avaliação.", UtilBO.TipoMensagem.Alerta); } else { _VS_fav_id = Convert.ToInt32(_dgvTurma.DataKeys[index].Values["fav_id"]); int valor = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id); int valorRecuperacao = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_RECUPERACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id); int valorFinal = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id); int valorRecuperacaoFinal = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_RECUPERACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id); // verifica se existe evento do tipo Efetivação Nota string listaTpcIdPeriodicaPeriodicaFinal = string.Empty; IEnumerable <ACA_Evento> dadoNota = (from ACA_Evento item in listEvento where item.tev_id == valor select item); // se existir, pega os tpc_id's List <ACA_Evento> lt = dadoNota.ToList(); if (lt.Count > 0) { var x = from ACA_Evento evt in listEvento where evt.tev_id == valor select evt.tpc_id; foreach (int tpc_id in x.ToList()) { if (string.IsNullOrEmpty(listaTpcIdPeriodicaPeriodicaFinal)) { listaTpcIdPeriodicaPeriodicaFinal += Convert.ToString(tpc_id); } else { listaTpcIdPeriodicaPeriodicaFinal += "," + Convert.ToString(tpc_id); } } } // verifica se existe evento do tipo efetivação recuperacao string listaTpcIdRecuperacao = string.Empty; IEnumerable <ACA_Evento> dadoRecuperacao = (from ACA_Evento item in listEvento where item.tev_id == valorRecuperacao select item); List <ACA_Evento> ltRe = dadoRecuperacao.ToList(); // se existir, pega os tpc_id's if (ltRe.Count > 0) { var x = from ACA_Evento evt in listEvento where evt.tev_id == valorRecuperacao select evt.tpc_id; foreach (int tpc_id in x.ToList()) { if (string.IsNullOrEmpty(listaTpcIdRecuperacao)) { listaTpcIdRecuperacao += Convert.ToString(tpc_id); } else { listaTpcIdRecuperacao += "," + Convert.ToString(tpc_id); } } } // verifica se existe evento do tipo efetivação final bool existeFinal = false; IEnumerable <ACA_Evento> dadoFinal = (from ACA_Evento item in listEvento where item.tev_id == valorFinal select item); List <ACA_Evento> ltFinal = dadoFinal.ToList(); // se existir, marca para trazer as avaliações do tipo final if (ltFinal.Count > 0) { existeFinal = true; } // verifica se existe evento do tipo recuperação final bool existeRecuperacaoFinal = false; IEnumerable <ACA_Evento> dadoRecuperacaoFinal = (from ACA_Evento item in listEvento where item.tev_id == valorRecuperacaoFinal select item); List <ACA_Evento> ltRecuperacaoFinal = dadoRecuperacaoFinal.ToList(); // se existir, marca para trazer as avaliações do tipo recuperação final if (ltRecuperacaoFinal.Count > 0) { existeRecuperacaoFinal = true; } DataTable dtAvaliacoes; // Se for turma eletiva do aluno, carrega apenas os períodos do calendário em que // a turma é oferecida if ((TUR_TurmaTipo)tur.tur_tipo == TUR_TurmaTipo.EletivaAluno) { List <CadastroTurmaDisciplina> listaDisciplinas = TUR_TurmaDisciplinaBO.GetSelectCadastradosBy_Turma(_VS_tur_id); dtAvaliacoes = ACA_AvaliacaoBO.ConsultaPor_Periodo_Efetivacao_TurmaDisciplinaCalendario(_VS_tur_id, listaDisciplinas[0].entTurmaDisciplina.tud_id, _VS_fav_id, listaTpcIdPeriodicaPeriodicaFinal, listaTpcIdRecuperacao, existeFinal, false, true); } else { dtAvaliacoes = ACA_AvaliacaoBO.ConsultaPor_Periodo_Efetivacao(_VS_tur_id, _VS_fav_id, 0, listaTpcIdPeriodicaPeriodicaFinal, listaTpcIdRecuperacao, existeFinal, existeRecuperacaoFinal, false, true, -1, ApplicationWEB.AppMinutosCacheLongo); } var avaliacoes = (from DataRow dr in dtAvaliacoes.Rows let fechado = Convert.ToBoolean(dr["ava_tpc_fechado"]) let cap_dataInicio = Convert.ToDateTime(string.IsNullOrEmpty(dr["cap_dataInicio"].ToString()) ? new DateTime().ToString() : dr["cap_dataInicio"]) where !(fechado && cap_dataInicio > DateTime.Now) select dr); dtAvaliacoes = avaliacoes.Any() ? avaliacoes.CopyToDataTable() : new DataTable(); if (dtAvaliacoes.Rows.Count == 0) { _lblMessage.Text = UtilBO.GetErroMessage("Turma fora do período de " + NomeModulo + ".", UtilBO.TipoMensagem.Alerta); } else if (dtAvaliacoes.Rows.Count == 1) { ACA_FormatoAvaliacao ent = new ACA_FormatoAvaliacao { fav_id = _VS_fav_id }; ACA_FormatoAvaliacaoBO.GetEntity(ent); _VS_ava_id = Convert.ToInt32(dtAvaliacoes.Rows[0]["ava_id"]); RedirecionaCadastro(); } else if (dtAvaliacoes.Rows.Count > 1) { // Carregar Avaliações. gvAvaliacoes.DataSource = dtAvaliacoes; gvAvaliacoes.DataBind(); ScriptManager.RegisterStartupScript(this, typeof(Page), "abreAvaliacoes", "$(document).ready(function(){$('#divAvaliacoes').dialog('open'); });", true); } } } catch (ValidationException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar as avaliações.", UtilBO.TipoMensagem.Erro); } } }