/// <summary>
        /// Genera un listado de las Competencias almacenadas en el sistema del tipo de la entidad Competencia.
        /// </summary>
        /// <param name="ar">Recibe un parametro ar del Tipo Área</param>
        /// <returns>Retorna un listado con las Competencias por Área almacenadas en el sistema</returns>
        public List <Competencia> competenciasArea(Area ar)
        {
            try
            {
                DAL.AREA         area   = CommonBC.ModeloWFBS.AREA.First(a => a.ID_AREA == ar.ID_AREA);
                DAL.WFBSEntities modelo = new WFBSEntities();
                var competencias        = area.COMPETENCIA;
                //var competencias = CommonBC.ModeloWFBS.COMPETENCIA.Where(comp => comp.AREA == area);

                return(GenerarListadoCompetencia(competencias.ToList()));
            }
            catch (Exception ex)
            {
                Logger.log("No se pudo obtener competencias por área: " + ex.ToString());
                return(null);
            }
        }
        /// <summary>
        /// Selecciona todas las Competencias acorde a un Área.
        /// </summary>
        /// <param name="ar">Recibe un parametro del tipo Área</param>
        /// <returns>Retorna un string con las Competencias relacionadas a un Área, acorde a la ejecución satisfactoria del metodo</returns>
        public string competenciasArea(Area ar)
        {
            string txt = null;

            try
            {
                DAL.WFBSEntities modelo = new WFBSEntities();
                DAL.AREA         area   = modelo.AREA.First(b => b.ID_AREA == ar.ID_AREA);
                foreach (DAL.COMPETENCIA item in area.COMPETENCIA)
                {
                    txt += item.ID_COMPETENCIA.ToString() + ",";
                }
                return(txt);
            }
            catch (Exception)
            {
                return(txt);
            }
        }
 /// <summary>
 /// Genera una lista de los Perfiles de Cargo utilizando el metodo privado GenerarListado.
 /// </summary>
 /// <param name="pc"> Recibe un parametro del tipo entidad PerfildeCargo</param>
 /// <returns>Retorna una Lista del tipo List<AREA></AREA></returns>
 public List <Area> areasPorPerfildeCargo(PerfildeCargo pc)
 {
     DAL.WFBSEntities    modelo = new WFBSEntities();
     DAL.PERFIL_DE_CARGO pcargo = modelo.PERFIL_DE_CARGO.First(b => b.ID_PERFIL_DE_CARGO == pc.ID_PERFIL_DE_CARGO);
     return(GenerarListado(pcargo.AREA.ToList()));
 }