private void CarregarTela() { try { rptDisciplinas.Visible = btnSalvar.Visible = false; if (Cur_id > 0 && Crr_id > 0 && Crp_id > 0 && Cal_id > 0) { LstTipoPeriodoCalendario = ACA_TipoPeriodoCalendarioBO.SelecionaTipoPeriodoCalendarioPorCalendario(UCCCalendario.Valor, ApplicationWEB.AppMinutosCacheLongo); LstCargaHoraria = ACA_CargaHorariaExtraclasseBO.SelecionaPorCurriculoPeriodoCalendario(Cur_id, Crr_id, Crp_id, Cal_id); using (DataTable dt = ACA_CurriculoDisciplinaBO.SelecionaDisciplinasParaFormacaoTurmaNormal(Cur_id, Crr_id, Crp_id)) { rptDisciplinas.DataSource = dt; VerificarPermissaoEdicao(); rptDisciplinas.DataBind(); rptDisciplinas.Visible = btnSalvar.Visible = dt.Rows.Count > 0; } } updBotoes.Update(); updCadastro.Update(); } catch (Exception ex) { lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro); ApplicationWEB._GravaErro(ex); updMensagem.Update(); } }
/// <summary> /// Preenche uma lista com as disciplinas e a flag que indica se permite editar a carga horária extra classe da disciplina /// </summary> private void VerificarPermissaoEdicao() { DisciplinaPermiteEditar = new Dictionary <int, bool>(); var listDis_ids = ((DataTable)rptDisciplinas.DataSource).AsEnumerable().Select(q => q.Field <int>("dis_id")).ToArray(); string dis_ids = string.Join(",", listDis_ids.Select(item => item.ToString()).ToArray()); DisciplinaPermiteEditar = ACA_CargaHorariaExtraclasseBO.VerificaAtividadeLancamento(dis_ids).AsEnumerable() .ToDictionary <DataRow, int, bool>(row => row.Field <int>("dis_id"), row => Convert.ToBoolean(row.Field <string>("permiteEditar"))); }
private void Salvar() { try { List <ACA_CargaHorariaExtraclasse> lstSalvar = (from RepeaterItem itemDisciplina in rptDisciplinas.Items let rptPeriodoCalendario = itemDisciplina.FindControl("rptPeriodoCalendario") as Repeater let hdnDisId = itemDisciplina.FindControl("hdnDisId") as HiddenField where (itemDisciplina.ItemType == ListItemType.Item || itemDisciplina.ItemType == ListItemType.AlternatingItem) && rptPeriodoCalendario != null && hdnDisId != null from RepeaterItem itemPeriodo in rptPeriodoCalendario.Items let hdnTpcId = itemPeriodo.FindControl("hdnTpcId") as HiddenField let hdnCheId = itemPeriodo.FindControl("hdnCheId") as HiddenField let txtCargaHoraria = itemPeriodo.FindControl("txtCargaHoraria") as TextBox where hdnTpcId != null && hdnCheId != null let tpc_id = Convert.ToInt32(hdnTpcId.Value) let che_id = Convert.ToInt32(hdnCheId.Value) let dis_id = Convert.ToInt32(hdnDisId.Value) select new ACA_CargaHorariaExtraclasse { dis_id = dis_id , cal_id = Cal_id , tpc_id = tpc_id , che_id = che_id , che_cargaHoraria = txtCargaHoraria != null && !string.IsNullOrEmpty(txtCargaHoraria.Text) ? Convert.ToInt32(txtCargaHoraria.Text) : 0 , IsNew = che_id <= 0 }).ToList(); if (ACA_CargaHorariaExtraclasseBO.Salvar(lstSalvar)) { ApplicationWEB._GravaLogSistema(lstSalvar.Any(p => p.che_id > 0) ? LOG_SistemaTipo.Update : LOG_SistemaTipo.Insert, string.Format("Cadastro carga horária de atividade extraclasse | cur_id: {0}, crr_id: {1}, crp_id: {2}, cal_id: {3}", Cur_id, Crr_id, Crp_id, Cal_id)); __SessionWEB.PostMessages = UtilBO.GetErroMessage("Carga horária de atividades extraclasse salvo com sucesso.", UtilBO.TipoMensagem.Sucesso); RedirecionarPagina("Cadastro.aspx"); } } catch (ValidationException ex) { lblMensagem.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); updMensagem.Update(); } catch (Exception ex) { lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar salvar a carga horária de atividades extraclasse.", UtilBO.TipoMensagem.Erro); ApplicationWEB._GravaErro(ex); updMensagem.Update(); } }