/// <summary>
        /// Este metodo se encarga de obtener una competencia personal mediante el ID de la competencia y el ID del personal
        /// </summary>
        /// <param name="_idCompetencia"></param>
        /// <param name="_idPersonal"></param>
        /// <returns>un objeto de competencia personal</returns>
        public CompetenciasPersonalDomainModel GetCompetenciaPersonal(int _idCompetencia, int _idPersonal)
        {
            CompetenciasPersonalDomainModel competenciasPersonalDM = new CompetenciasPersonalDomainModel();
            Expression <Func <tblCompetenciasConocimientosPersonal, bool> > predicado = p => p.idCompetencia.Equals(_idCompetencia) && p.idPersonal.Equals(_idPersonal);
            tblCompetenciasConocimientosPersonal tblCompetencias = competenciasRepository.GetAll(predicado).FirstOrDefault <tblCompetenciasConocimientosPersonal>();

            competenciasPersonalDM.idCompetenciasConocimientosPersonal = tblCompetencias.idCompetenciasConocimientosPersonal;
            competenciasPersonalDM.idCompetencia    = tblCompetencias.idCompetencia;
            competenciasPersonalDM.idPersonal       = tblCompetencias.idPersonal;
            competenciasPersonalDM.dteFechaRegistro = tblCompetencias.dteFechaRegistro.Value;

            return(competenciasPersonalDM);
        }
        /// <summary>
        /// Este metodo se encarga de obtener un objeto de competencia mediante el ID de la competencia y del personal
        /// </summary>
        /// <param name="idCompetencia"></param>
        /// <param name="idPersona"></param>
        /// <returns>un objeto de la competencia</returns>
        public CompetenciasDomainModel GetCompetencia(int idCompetencia, int idPersona)
        {
            CompetenciasDomainModel competenciaDM = new CompetenciasDomainModel();

            Expression <Func <tblCompetenciasConocimientosPersonal, bool> > predicado = p => p.idPersonal.Equals(idPersona) && p.idCompetencia.Equals(idCompetencia);
            tblCompetenciasConocimientosPersonal tblCompetencias = competenciasPersonalRepository.GetAll(predicado).FirstOrDefault <tblCompetenciasConocimientosPersonal>();

            competenciaDM.idCompetencia  = tblCompetencias.catCompetencias.idCompetencia;
            competenciaDM.strDescripcion = tblCompetencias.catCompetencias.strDescripcion;
            competenciaDM.strObservacion = tblCompetencias.catCompetencias.strObservacion;
            competenciaDM.strTipo        = tblCompetencias.catCompetencias.strTipo;

            return(competenciaDM);
        }
        public CompetenciasPersonalDomainModel GetCompetenciaPersonal(int _id)
        {
            CompetenciasPersonalDomainModel competenciasPersonalDomainModel = new CompetenciasPersonalDomainModel();

            tblCompetenciasConocimientosPersonal tblCompetenciasConocimientosPersonal = new tblCompetenciasConocimientosPersonal();

            tblCompetenciasConocimientosPersonal = competenciasRepository.GetAll().FirstOrDefault(p => p.idCompetenciasConocimientosPersonal == _id);

            competenciasPersonalDomainModel.idPersonal  = tblCompetenciasConocimientosPersonal.idPersonal;
            competenciasPersonalDomainModel.idDocumento = tblCompetenciasConocimientosPersonal.idDocumento.Value;
            competenciasPersonalDomainModel.idCompetenciasConocimientosPersonal = tblCompetenciasConocimientosPersonal.idCompetenciasConocimientosPersonal;
            competenciasPersonalDomainModel.dteFechaRegistro = tblCompetenciasConocimientosPersonal.dteFechaRegistro.Value;
            competenciasPersonalDomainModel.file             = new DocumentosDomainModel {
                StrUrl = tblCompetenciasConocimientosPersonal.catDocumentos.strUrl
            };

            return(competenciasPersonalDomainModel);
        }
        public bool AddUpdateCompetencias(CompetenciasPersonalDomainModel competenciasPersonalDomainModel)
        {
            bool respuesta = false;

            catDocumentos catDocumentos = new catDocumentos();
            tblCompetenciasConocimientosPersonal tblCompetenciasConocimientosPersonal = new tblCompetenciasConocimientosPersonal();

            tblCompetenciasConocimientosPersonal.dteFechaRegistro = DateTime.Now;
            tblCompetenciasConocimientosPersonal.idPersonal       = competenciasPersonalDomainModel.idPersonal;

            catDocumentos.tblCompetenciasConocimientosPersonal.Add(tblCompetenciasConocimientosPersonal);
            catDocumentos.strUrl = competenciasPersonalDomainModel.file.StrUrl;


            documentosRepository.Insert(catDocumentos);
            respuesta = true;

            return(respuesta);
        }
        /// <summary>
        /// Este metodo se encarga de insertar una competencia personal
        /// </summary>
        /// <param name="idPersonal"></param>
        /// <param name="idCompetencia"></param>
        /// <returns></returns>
        public bool AddUpdateCompetencias(int _idPersonal, int _idCompetencia)
        {
            bool   respuesta = false;
            string resultado = string.Empty;

            if (competenciasRepository.Exists(p => p.idCompetencia == _idCompetencia && p.idPersonal == _idPersonal))
            {
                return(false);
            }
            else
            {
                tblCompetenciasConocimientosPersonal tblCompetenciasPersonal = new tblCompetenciasConocimientosPersonal();
                tblCompetenciasPersonal.idPersonal       = _idPersonal;
                tblCompetenciasPersonal.idCompetencia    = _idCompetencia;
                tblCompetenciasPersonal.dteFechaRegistro = DateTime.Now;
                competenciasRepository.Insert(tblCompetenciasPersonal);
                respuesta = true;
                return(respuesta);
            }
        }