예제 #1
0
        protected void grvResultado_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                Label lblAlterar = (Label)e.Row.FindControl("lblAlterar");
                if (lblAlterar != null)
                {
                    lblAlterar.Visible = !__SessionWEB.__UsuarioWEB.GrupoPermissao.grp_alterar;
                }

                LinkButton btnAlterar = (LinkButton)e.Row.FindControl("btnAlterar");
                if (btnAlterar != null)
                {
                    btnAlterar.Visible = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_alterar;
                }
                ImageButton btnExcluir = (ImageButton)e.Row.FindControl("btnExcluir");
                if (btnExcluir != null)
                {
                    btnExcluir.Visible         = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_excluir && (__SessionWEB.__UsuarioWEB.Grupo.vis_id != SysVisaoID.UnidadeAdministrativa);
                    btnExcluir.CommandArgument = e.Row.RowIndex.ToString();
                }

                byte tipoConteudo = Convert.ToByte(grvResultado.DataKeys[e.Row.RowIndex].Values["qtc_tipo"].ToString());
                byte tipoResposta = Convert.ToByte(grvResultado.DataKeys[e.Row.RowIndex].Values["qtc_tipoResposta"].ToString());

                Label lblTipoConteudo = (Label)e.Row.FindControl("lblTipoConteudo");
                if (lblTipoConteudo != null)
                {
                    lblTipoConteudo.Text = GestaoEscolarUtilBO.GetEnumDescription((QuestionarioTipoConteudo)tipoConteudo);
                }
                Label lblTipoResposta = (Label)e.Row.FindControl("lblTipoResposta");
                if (lblTipoResposta != null)
                {
                    lblTipoResposta.Text = tipoResposta > 0 ? GestaoEscolarUtilBO.GetEnumDescription((QuestionarioTipoResposta)tipoResposta) : "-";
                }

                Button btnIncluirRespostas = (Button)e.Row.FindControl("btnIncluirRespostas");
                if (btnIncluirRespostas != null)
                {
                    btnIncluirRespostas.Visible = (tipoConteudo == (byte)QuestionarioTipoConteudo.Pergunta) && (tipoResposta != (byte)QuestionarioTipoResposta.TextoAberto);
                }

                ImageButton _btnSubir = (ImageButton)e.Row.FindControl("_btnSubir");
                if (_btnSubir != null)
                {
                    _btnSubir.ImageUrl        = __SessionWEB._AreaAtual._DiretorioImagens + "cima.png";
                    _btnSubir.CommandArgument = e.Row.RowIndex.ToString();
                    _btnSubir.Visible         = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_alterar;
                }

                ImageButton _btnDescer = (ImageButton)e.Row.FindControl("_btnDescer");
                if (_btnDescer != null)
                {
                    _btnDescer.ImageUrl        = __SessionWEB._AreaAtual._DiretorioImagens + "baixo.png";
                    _btnDescer.CommandArgument = e.Row.RowIndex.ToString();
                    _btnDescer.Visible         = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_alterar;
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Carrega o controle de calendário.
        /// </summary>
        /// <param name="inicializar"></param>
        protected void CarregarCalendario(bool inicializar = true)
        {
            List <CalendarioBO.EventTime> lstEventos = new List <CalendarioBO.EventTime>();

            Func <byte, string> disciplinaNaoInformada = delegate(byte trh_tipo)
            {
                return(trh_tipo == (byte)ACA_TurnoHorarioTipo.AulaNormal ||
                       trh_tipo == (byte)ACA_TurnoHorarioTipo.AulaForaPeriodo ? "<span class=\"sem-info\">" + CustomResource.GetGlobalResourceObject("Turma", "Turma.QuadroHorarios.DisciplinaNaoInformada") + "</span>" : string.Empty);
            };

            lstEventos = VS_lstTurmaHorario.Select(p =>
                                                   new CalendarioBO.EventTime
            {
                evento = new CalendarioBO.Event
                {
                    id =
                        p.trn_id.ToString() + ";" +
                        p.trh_id.ToString() + ";" +
                        p.trh_tipo.ToString() + ";" +
                        p.trh_diaSemana.ToString() + ";" +
                        (p.tud_id > 0 ? p.tud_id : -1).ToString() + ";" +
                        ((p.trh_tipo == (byte)ACA_TurnoHorarioTipo.AulaNormal ||
                          p.trh_tipo == (byte)ACA_TurnoHorarioTipo.AulaForaPeriodo) ? "1" : "0")
                    ,
                    title = "<span class=\"quadro-title\">" + (p.tud_id > 0 && !string.IsNullOrEmpty(p.tud_nome) ? p.tud_nome + "</span>" : disciplinaNaoInformada(p.trh_tipo)) +
                            (p.trh_tipo == (byte)ACA_TurnoHorarioTipo.IntervaloEntreAulas || p.trh_tipo == (byte)ACA_TurnoHorarioTipo.IntervaloEntrePeriodos ? "" : "<br/>") + "<span class=\"quadro-tipo\">" + GestaoEscolarUtilBO.GetEnumDescription((ACA_TurnoHorarioTipo)Enum.ToObject(typeof(ACA_TurnoHorarioTipo), p.trh_tipo)) + "</span>"
                    ,
                    allDay = false
                    ,
                    url = ""
                    ,
                    className = getClassNameTipoHorario((ACA_TurnoHorarioTipo)Enum.ToObject(typeof(ACA_TurnoHorarioTipo), p.trh_tipo))
                    ,
                    editable = false
                    ,
                    startEditable = false
                    ,
                    durationEditable = false
                    ,
                    overlap = false
                    ,
                    color = ""
                    ,
                    backgroundColor = ""
                    ,
                    borderColor = ""
                    ,
                    textColor = ""
                }
                ,
                diaSemana = (eDiasSemana)Enum.ToObject(typeof(eDiasSemana), p.trh_diaSemana)
                ,
                inicio = p.trh_horaInicio
                ,
                fim = p.trh_horaFim
            }
                                                   ).ToList();

            // Encontro os máximos e mínimos para garantir que os horários cadastrados
            // fora do período do turno também sejam exibidos.
            TimeSpan minTime = new TimeSpan(23, 59, 00);
            TimeSpan maxTime = new TimeSpan(00, 00, 00);

            if (VS_turno.trn_horaInicio != new TimeSpan())
            {
                minTime = VS_turno.trn_horaInicio;
            }

            if (VS_turno.trn_horaFim != new TimeSpan())
            {
                maxTime = VS_turno.trn_horaFim;
            }

            if (VS_lstTurmaHorario.Count > 0)
            {
                TimeSpan minTimeHorario = VS_lstTurmaHorario.Min(p => p.trh_horaInicio);
                TimeSpan maxTimeHorario = VS_lstTurmaHorario.Max(p => p.trh_horaFim);

                if (minTimeHorario < minTime)
                {
                    minTime = minTimeHorario;
                }
                if (maxTimeHorario > maxTime)
                {
                    maxTime = maxTimeHorario;
                }
            }

            if (minTime == new TimeSpan(23, 59, 00) || maxTime == new TimeSpan(00, 00, 00))
            {
                if (minTime != new TimeSpan(23, 59, 00))
                {
                    maxTime = minTime.Add(TimeSpan.FromMinutes(10));
                }
                else if (maxTime != new TimeSpan(00, 00, 00))
                {
                    minTime = maxTime.Subtract(TimeSpan.FromMinutes(10));
                }
                else
                {
                    minTime = new TimeSpan(00, 00, 00);
                    maxTime = new TimeSpan(23, 59, 00);
                }
            }

            CalendarioBO.OptionsCalendar option = new CalendarioBO.OptionsCalendar
            {
                header = ""
                ,
                defaultView = CalendarioBO.optionView.agendaWeek
                ,
                allDaySlot = false
                ,
                slotEventOverlap = false
                ,
                selectable = false
                ,
                columnFormat = "dddd"
                ,
                timeFormat = "HH:mm"
                ,
                slotDuration = new TimeSpan(00, 10, 00)
                ,
                minTime = minTime
                ,
                maxTime = maxTime
                ,
                scrollTime = minTime
                ,
                aspectRatio = 1.8F
                ,
                lang = "pt-br"
                ,
                defaultDate = new DateTime(2000, 10, 01)
                ,
                calendarClass = "calendar"
                ,
                onClickEvent = "clickHorario"
            };

            string strMinTime = string.Format("{0},{1}", minTime.Hours, minTime.Minutes);
            string strMaxTime = string.Format("{0},{1}", maxTime.Hours, maxTime.Minutes);

            if (string.IsNullOrEmpty(hdnMinTime.Value) || strMinTime != hdnMinTime.Value ||
                string.IsNullOrEmpty(hdnMaxTime.Value) || strMaxTime != hdnMaxTime.Value)
            {
                inicializar      = true;
                hdnMinTime.Value = strMinTime;
                hdnMaxTime.Value = strMaxTime;
            }

            int slotMin = -1;

            if (VS_turno.trn_horaInicio != new TimeSpan())
            {
                slotMin = (int)Math.Ceiling((double)((VS_turno.trn_horaInicio.Hours * 60 + VS_turno.trn_horaInicio.Minutes) - (minTime.Hours * 60 + minTime.Minutes)) / 10) + 1;
            }

            int slotMax = -1;

            if (VS_turno.trn_horaFim != new TimeSpan())
            {
                slotMax = (int)Math.Ceiling((double)((VS_turno.trn_horaFim.Hours * 60 + VS_turno.trn_horaFim.Minutes) - (minTime.Hours * 60 + minTime.Minutes)) / 10);
            }

            UCCalendario.CarregarCalendarioSemanal(lstEventos, option, inicializar, slotMin, slotMax);
        }