/// <summary> /// 11/06/2014. /// Generar fecha formateada "Ej: Oct 5 de 2011". /// </summary> /// <param name="fecha">fecha obtenida durante la lectura de datos.</param> /// <returns>fecha formateada = conversión correcta // fecha sin formato = error.</returns> private string FormatearFecha(string fecha) { //Inicializar variables. DateTime fecha_convertida = new DateTime(); string sMes = ""; try { fecha_convertida = Convert.ToDateTime(fecha, System.Globalization.CultureInfo.CreateSpecificCulture("es-CO")); sMes = OperacionesRoleNegocio.UppercaseFirst(fecha_convertida.ToString("MMM")); return(fecha = fecha_convertida.ToString("'" + sMes + "' dd 'de' yyyy")); } catch { return(fecha); } }
/// <summary> /// Mauricio Arias Olave. /// 06/06/2014. /// Obtener la información acerca de la última actualización realizada, ási como la habilitación del /// CheckBox para el usuario dependiendo de su grupo / rol. /// </summary> private void ObtenerDatosUltimaActualizacion() { //Inicializar variables. List <String> tabla = new List <String>(); bool bRealizado = false; bool EsMiembro = false; Int32 numPostIt = 0; Int32 CodigoEstado = 0; OperacionesRoleNegocio opRoleNeg = new OperacionesRoleNegocio(); String codRole = String.Empty; try { //Consultar si es miembro. EsMiembro = fnMiembroProyecto(usuario.IdContacto, codProyecto); //Obtener número "numPostIt". //numPostIt = opRoleNeg.Obtener_numPostIt(Convert.ToInt32(codProyecto)); numPostIt = opRoleNeg.Obtener_numPostIt(Convert.ToInt32(codProyecto), Convert.ToInt32(usuario.IdContacto)); //Consultar el "Estado" del proyecto. CodigoEstado = CodEstado_Proyecto(txtTab.ToString(), codProyecto, codConvocatoria); #region Obtener el rol. var uhb = opRoleNeg.ObtenerRolUsuario(codProyecto, usuario.IdContacto) ?? string.Empty; codRole = uhb.ToString(); HttpContext.Current.Session["CodRol"] = codRole; #endregion //Consultar los datos a mostrar en los campos correspondientes a la actualización. //Asignar resultados de la consulta a variable DataTable. //tabla = opRoleNeg.UltimaModificacion(codProyecto, txtTab); ////Si tiene datos "y debe tenerlos" ejecuta el siguiente código. //if (tabla.Count > 0) //{ // //Nombre del usuario quien hizo la actualización. // lbl_nombre_user_ult_act.Text = tabla[0].ToUpperInvariant(); // #region Formatear la fecha. // lbl_fecha_formateada.Text = tabla[1]; // #endregion // //Valor "bRealziado". // bRealizado = Convert.ToBoolean(tabla[2]); //} DateTime fecha = new DateTime(); var usuActualizo = consultas.RetornarInformacionActualizaPPagina(int.Parse(codProyecto), txtTab); var act = usuActualizo.ToList(); //if (usuActualizo != null) if (act.Count > 0) { lbl_nombre_user_ult_act.Text = usuActualizo.SingleOrDefault().nombres.ToUpper(); //Convertir fecha. try { fecha = Convert.ToDateTime(usuActualizo.SingleOrDefault().fecha); } catch { fecha = DateTime.Today; } //Obtener el nombre del mes (las primeras tres letras). string sMes = fecha.ToString("MMM", System.Globalization.CultureInfo.CreateSpecificCulture("es-CO")); //Obtener la hora en minúscula. string hora = fecha.ToString("hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture).ToLowerInvariant(); //Reemplazar el valor "am" o "pm" por "a.m" o "p.m" respectivamente. if (hora.Contains("am")) { hora = hora.Replace("am", "a.m"); } if (hora.Contains("pm")) { hora = hora.Replace("pm", "p.m"); } //Formatear la fecha según manejo de FONADE clásico. "Ej: Nov 19 de 2013 07:36:26 p.m.". lbl_fecha_formateada.Text = UppercaseFirst(sMes) + " " + fecha.Day + " de " + fecha.Year + " " + hora + "."; //Realizado bRealizado = usuActualizo.SingleOrDefault().realizado; } //Asignar check de acuerdo al valor obtenido en "bRealizado". chk_realizado.Checked = bRealizado; //Determinar si el usuario actual puede o no "chequear" la actualización. //if (!(EsMiembro && numPostIt == 0 && ((usuario.CodGrupo == Constantes.CONST_RolAsesorLider && CodigoEstado == Constantes.CONST_Inscripcion) || (CodigoEstado == Constantes.CONST_Evaluacion && usuario.CodGrupo == Constantes.CONST_RolEvaluador && es_bNuevo(codProyecto)))) || lbl_nombre_user_ult_act.Text.Trim() == "") if (!(EsMiembro && numPostIt == 0 && ((codRole == Constantes.CONST_RolAsesorLider.ToString() && CodigoEstado == Constantes.CONST_Inscripcion) || (CodigoEstado == Constantes.CONST_Evaluacion && codRole == Constantes.CONST_RolEvaluador.ToString() && es_bNuevo(codProyecto)))) || lbl_nombre_user_ult_act.Text.Trim() == "") { chk_realizado.Enabled = false; } //Mostrar el botón de guardar. //if (EsMiembro && numPostIt == 0 && lbl_nombre_user_ult_act.Text != "" && (usuario.CodGrupo == Constantes.CONST_RolAsesorLider && CodigoEstado == Constantes.CONST_Inscripcion) || (usuario.CodGrupo == Constantes.CONST_RolEvaluador && CodigoEstado == Constantes.CONST_Evaluacion && es_bNuevo(codProyecto))) if (EsMiembro && numPostIt == 0 && lbl_nombre_user_ult_act.Text != "" && (codRole == Constantes.CONST_RolAsesorLider.ToString() && CodigoEstado == Constantes.CONST_Inscripcion) || (codRole == Constantes.CONST_RolEvaluador.ToString() && CodigoEstado == Constantes.CONST_Evaluacion && es_bNuevo(codProyecto))) { if (usuario.CodGrupo == Constantes.CONST_Evaluador) { visibleGuardar = false; } else { visibleGuardar = true; } } //Mostrar los enlaces para adjuntar documentos. if (EsMiembro && codRole == Constantes.CONST_RolEmprendedor.ToString() && !bRealizado) { tabla_docs.Visible = true; } visibleGuardar = visibleGuardar || Constantes.CONST_CoordinadorEvaluador == usuario.CodGrupo; //Destruir variables. if (usuario.CodGrupo == Constantes.CONST_Asesor) { visibleGuardar = true; } tabla = null; } catch (Exception ex) { lblError.Text = ex.Message; } }