using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; public partial class Estatisticas_Inc_Calendario_Calendario : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { /* ================================================================================= */ /* ================================================================================= */ if (Request.ServerVariables["HTTP_REFERER"] == null || Request.ServerVariables["HTTP_REFERER"].ToUpper().IndexOf("/SITE/ESTATISTICAS") < 0) { // REDIRECCIONA PARA A PÁGINA DE LOGIN.aspx // CASO ESTA PÁGINA SEJA ACEDIDA DIRECTAMENTE SEM PASSAR PELO SITE Response.Redirect("/login.aspx"); } /* ************************************************************************************************* */ // CABEÇALHO DAS SEMANAS int semanas_mes = 6; string[] semanas = new string[7] { Resources.Semanas.dia1, Resources.Semanas.dia2, Resources.Semanas.dia3, Resources.Semanas.dia4, Resources.Semanas.dia5, Resources.Semanas.dia6, Resources.Semanas.dia7 }; divSemanas.InnerHtml = ""; for (int i = 0; i < semanas_mes; i++) { divSemanas.InnerHtml = divSemanas.InnerHtml + "
" + semanas[0] + "
" + "
" + semanas[1] + "
" + "
" + semanas[2] + "
" + "
" + semanas[3] + "
" + "
" + semanas[4] + "
" + "
" + semanas[5] + "
" + "
" + semanas[6] + "
"; } /* ************************************************************************************************* */ // MÊS E RESPECTIVOS DIAS int ano = 0; string[] meses = new string[12] { Resources.Meses.mes_abreviado1, Resources.Meses.mes_abreviado2, Resources.Meses.mes_abreviado3, Resources.Meses.mes_abreviado4, Resources.Meses.mes_abreviado5, Resources.Meses.mes_abreviado6, Resources.Meses.mes_abreviado7, Resources.Meses.mes_abreviado8, Resources.Meses.mes_abreviado9, Resources.Meses.mes_abreviado10, Resources.Meses.mes_abreviado11, Resources.Meses.mes_abreviado12 }; ano = Convert.ToInt16(Request.QueryString["a"].ToString()); if (ano == 0) { ano = DateTime.Now.Year; } string cssClass = ""; divMeses.InnerHtml = ""; /* ************************************************************************************************* */ // COLABORADOR SELECCIONADO int colaborador = 0; colaborador = Convert.ToInt16(Request.QueryString["c"].ToString()); /* ********************************************************************************* */ // PREENCHE MESES COM DIAS DE FÉRIAS E AUSÊNCIAS MARCADAS DataTable dtFeriasAusencias; // LISTAGEM DE MARCAÇÕES PARA ESTE ANO if (colaborador > 0) { // APENAS O COLABORADOR SELECCIONADO dtFeriasAusencias = Intranet.RH.FeriasAusencias.Listagem(ano, colaborador); } else { // TODOS OS COLABORADORES dtFeriasAusencias = Intranet.RH.FeriasAusencias.Listagem(ano); } for (int mes = 1; mes <= meses.Length; mes++) { divMeses.InnerHtml = divMeses.InnerHtml + "
" + "
" + " " + " " + meses[mes-1] + " " + "
" + "
"; // PREENCHE COM ESPAÇOS EM BRANCO OS DIAS ANTERIORES AO 1º DIA for (int i = 0; i < Convert.ToInt16(new DateTime(ano, mes, 1).DayOfWeek); i++) { divMeses.InnerHtml = divMeses.InnerHtml + "
"; } // PREENCHE DIAS for (int dia = 1; dia <= DateTime.DaysInMonth(ano, mes); dia++) { // Verifica se o dia é Fim-de-semana if (Convert.ToInt16(new DateTime(ano, mes, dia).DayOfWeek) == 0 || Convert.ToInt16(new DateTime(ano, mes, dia).DayOfWeek) == 6) { cssClass = "dia_fds"; } else { cssClass = "dia"; } /* ************************************************************************* */ // VERIFICAR EVENTOS NESTA DATA foreach (DataRow marcacao in dtFeriasAusencias.Rows) { if (Convert.ToDateTime(marcacao.ItemArray[9].ToString()) <= Convert.ToDateTime(ano + "." + mes + "." + dia) && Convert.ToDateTime(marcacao.ItemArray[10].ToString()) >= Convert.ToDateTime(ano + "." + mes + "." + dia)) { cssClass = cssClass + "_evento_marcado"; break; } } divMeses.InnerHtml = divMeses.InnerHtml + "
" + " " + dia + "
"; } divMeses.InnerHtml = divMeses.InnerHtml + "
" + "
"; } } }