public bool ActualizarPreguntas(EINSTRUMENTOEMPLEADO objIE)
        {
            try
            {
                foreach (ESECCIONINSTRUMENTOEMPLEADO objSE in objIE.SECCIONES)
                {
                    BFPREGUNTASECCIONEMPLEADO objBFPSE = new BFPREGUNTASECCIONEMPLEADO();
                    objBFPSE.LimpiarPreguntaSeccionEmp(objSE.CODSECCIONINSTRUMENTO);

                    foreach (EPREGUNTAEMPLEADO objPR in objSE.PREGUNTAS)
                    {
                        EPREGUNTAEMPLEADO objPRE = new EPREGUNTAEMPLEADO();
                        objPRE.TEXTO       = objPR.TEXTO;
                        objPRE.DESCRIPCION = objPR.DESCRIPCION;
                        objPRE.ACCION      = objPR.ACCION;
                        objPRE.COMPROMISO  = objPR.COMPROMISO;
                        objPRE.INDICADOR   = objPR.INDICADOR;
                        if (objPRE.CODPREGUNTAEMPLEADO == 0)
                        {
                            objPRE.IsPersisted = false;
                            objPRE.Save();

                            EPREGUNTASECCIONEMPLEADO objPSE = new EPREGUNTASECCIONEMPLEADO();
                            objPSE.CODPREGUNTAEMPLEADO   = objPRE.CODPREGUNTAEMPLEADO;
                            objPSE.CODSECCIONINSTRUMENTO = objSE.CODSECCIONINSTRUMENTO;
                            objPSE.PONDERACION           = objPR.PONDERACION;
                            objPSE.IsPersisted           = false;
                            objPSE.Save();
                        }
                        else
                        {
                            objPRE.IsPersisted = true;
                            objPRE.Save();

                            EPREGUNTASECCIONEMPLEADO objPSE = new EPREGUNTASECCIONEMPLEADO();
                            objPSE.CODPREGUNTAEMPLEADO   = objPRE.CODPREGUNTAEMPLEADO;
                            objPSE.CODSECCIONINSTRUMENTO = objSE.CODSECCIONINSTRUMENTO;
                            objPSE.PONDERACION           = objPR.PONDERACION;
                            objPSE.IsPersisted           = true;
                            objPSE.Save();
                        }
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                Log log = new Log();
                log.EscribirLog(ex);
                return(false);
            }
        }
 public bool Save(EPREGUNTAEMPLEADO objPREGUNTAEMPLEADO)
 {
     try
     {
         objPREGUNTAEMPLEADO.Save();
         return(true);
     }
     catch (Exception ex)
     {
         Log log = new Log();
         log.EscribirLog(ex);
         return(false);
     }
 }
        public bool Asignar(EINSTRUMENTO objINSTRUMENTO, List <EEMPLEADO> lstEM, string Nombre, DateTime Inicio, DateTime Fin, string Direccion)
        {
            try
            {
                EINSTRUMENTOEMPLEADO objIE = new EINSTRUMENTOEMPLEADO();
                objIE.CODINSTRUMENTO         = objINSTRUMENTO.CODINSTRUMENTO;
                objIE.NOMINSTRUMENTOEMPLEADO = Nombre;
                objIE.DESCRIPCION            = objINSTRUMENTO.DESCRIPCION;
                objIE.OBSERVACION            = objINSTRUMENTO.OBSERVACION;
                objIE.INICIOEVALUACION       = Inicio;
                objIE.FINEVALUACION          = Fin;
                objIE.CODESTADOEVAL          = 1;
                switch (Direccion)
                {
                case "Ascendente":
                    objIE.CODTIPOEVAL = 1;
                    foreach (EEMPLEADO objEM in lstEM)
                    {
                        objIE.RUTEMPLEADO  = objEM.RUTJEFE;
                        objIE.RUTEVALUADOR = objEM.RUTEMPLEADO;
                        objIE.RUTVISADOR   = objEM.RUTVISADOR;
                        objIE.Save();

                        foreach (ESECCION objSE in objINSTRUMENTO.SECCIONES)
                        {
                            ESECCIONINSTRUMENTOEMPLEADO objSIE = new ESECCIONINSTRUMENTOEMPLEADO();
                            objSIE.CODINSTRUMENTOEMPLEADO = objIE.CODINSTRUMENTOEMPLEADO;
                            objSIE.NOMBRE                 = objSE.NOMBRE;
                            objSIE.DESCRIPCION            = objSE.DESCRIPCION;
                            objSIE.ORDEN                  = objSE.ORDEN;
                            objSIE.PONDERACION            = objSE.PONDERACION;
                            objSIE.COD_TIPO_SECCION       = objSE.CODTIPOSECCION;
                            objSIE.FLAG_AGREGAR_PREGUNTAS = objSE.FLAG_AGREGAR_PREGUNTA;
                            objSIE.Save();

                            foreach (EPREGUNTA objPR in objSE.PREGUNTAS)
                            {
                                EPREGUNTAEMPLEADO objPRE = new EPREGUNTAEMPLEADO();
                                objPRE.TEXTO       = objPR.TEXTO;
                                objPRE.DESCRIPCION = objPR.DESCRIPCION;
                                objPRE.ACCION      = objPR.ACCION;
                                objPRE.COMPROMISO  = objPR.COMPROMISO;
                                objPRE.INDICADOR   = objPR.INDICADOR;
                                objPRE.Save();

                                EPREGUNTASECCIONEMPLEADO objPSE = new EPREGUNTASECCIONEMPLEADO();
                                objPSE.CODPREGUNTAEMPLEADO   = objPRE.CODPREGUNTAEMPLEADO;
                                objPSE.CODSECCIONINSTRUMENTO = objSIE.CODSECCIONINSTRUMENTO;
                                objPSE.PONDERACION           = objPR.PONDERACION;
                                objPSE.Save();
                            }
                        }
                        objIE.IsPersisted = false;
                    }
                    break;

                case "Descendente":
                    objIE.CODTIPOEVAL = 2;
                    foreach (EEMPLEADO objEM in lstEM)
                    {
                        objIE.RUTEMPLEADO  = objEM.RUTEMPLEADO;
                        objIE.RUTEVALUADOR = objEM.RUTJEFE;
                        objIE.RUTVISADOR   = objEM.RUTVISADOR;
                        objIE.Save();

                        foreach (ESECCION objSE in objINSTRUMENTO.SECCIONES)
                        {
                            ESECCIONINSTRUMENTOEMPLEADO objSIE = new ESECCIONINSTRUMENTOEMPLEADO();
                            objSIE.CODINSTRUMENTOEMPLEADO = objIE.CODINSTRUMENTOEMPLEADO;
                            objSIE.NOMBRE                 = objSE.NOMBRE;
                            objSIE.DESCRIPCION            = objSE.DESCRIPCION;
                            objSIE.ORDEN                  = objSE.ORDEN;
                            objSIE.PONDERACION            = objSE.PONDERACION;
                            objSIE.COD_TIPO_SECCION       = objSE.CODTIPOSECCION;
                            objSIE.FLAG_AGREGAR_PREGUNTAS = objSE.FLAG_AGREGAR_PREGUNTA;
                            objSIE.Save();

                            foreach (EPREGUNTA objPR in objSE.PREGUNTAS)
                            {
                                EPREGUNTAEMPLEADO objPRE = new EPREGUNTAEMPLEADO();
                                objPRE.TEXTO       = objPR.TEXTO;
                                objPRE.DESCRIPCION = objPR.DESCRIPCION;
                                objPRE.ACCION      = objPR.ACCION;
                                objPRE.COMPROMISO  = objPR.COMPROMISO;
                                objPRE.INDICADOR   = objPR.INDICADOR;
                                objPRE.Save();

                                EPREGUNTASECCIONEMPLEADO objPSE = new EPREGUNTASECCIONEMPLEADO();
                                objPSE.CODPREGUNTAEMPLEADO   = objPRE.CODPREGUNTAEMPLEADO;
                                objPSE.CODSECCIONINSTRUMENTO = objSIE.CODSECCIONINSTRUMENTO;
                                objPSE.PONDERACION           = objPR.PONDERACION;
                                objPSE.Save();
                            }
                        }
                        objIE.IsPersisted = false;
                    }
                    break;

                case "Ambas":
                    foreach (EEMPLEADO objEM in lstEM)
                    {
                        objIE.RUTEMPLEADO  = objEM.RUTJEFE;
                        objIE.RUTEVALUADOR = objEM.RUTEMPLEADO;
                        objIE.RUTVISADOR   = objEM.RUTVISADOR;
                        objIE.CODTIPOEVAL  = 1;
                        objIE.Save();

                        foreach (ESECCION objSE in objINSTRUMENTO.SECCIONES)
                        {
                            ESECCIONINSTRUMENTOEMPLEADO objSIE = new ESECCIONINSTRUMENTOEMPLEADO();
                            objSIE.CODINSTRUMENTOEMPLEADO = objIE.CODINSTRUMENTOEMPLEADO;
                            objSIE.NOMBRE                 = objSE.NOMBRE;
                            objSIE.DESCRIPCION            = objSE.DESCRIPCION;
                            objSIE.ORDEN                  = objSE.ORDEN;
                            objSIE.PONDERACION            = objSE.PONDERACION;
                            objSIE.COD_TIPO_SECCION       = objSE.CODTIPOSECCION;
                            objSIE.FLAG_AGREGAR_PREGUNTAS = objSE.FLAG_AGREGAR_PREGUNTA;
                            objSIE.Save();

                            foreach (EPREGUNTA objPR in objSE.PREGUNTAS)
                            {
                                EPREGUNTAEMPLEADO objPRE = new EPREGUNTAEMPLEADO();
                                objPRE.TEXTO       = objPR.TEXTO;
                                objPRE.DESCRIPCION = objPR.DESCRIPCION;
                                objPRE.ACCION      = objPR.ACCION;
                                objPRE.COMPROMISO  = objPR.COMPROMISO;
                                objPRE.INDICADOR   = objPR.INDICADOR;
                                objPRE.Save();

                                EPREGUNTASECCIONEMPLEADO objPSE = new EPREGUNTASECCIONEMPLEADO();
                                objPSE.CODPREGUNTAEMPLEADO   = objPRE.CODPREGUNTAEMPLEADO;
                                objPSE.CODSECCIONINSTRUMENTO = objSIE.CODSECCIONINSTRUMENTO;
                                objPSE.PONDERACION           = objPR.PONDERACION;
                                objPSE.Save();
                            }
                        }
                        objIE.IsPersisted = false;
                    }

                    foreach (EEMPLEADO objEM in lstEM)
                    {
                        objIE.RUTEMPLEADO  = objEM.RUTEMPLEADO;
                        objIE.RUTEVALUADOR = objEM.RUTJEFE;
                        objIE.RUTVISADOR   = objEM.RUTVISADOR;
                        objIE.CODTIPOEVAL  = 2;
                        objIE.Save();

                        foreach (ESECCION objSE in objINSTRUMENTO.SECCIONES)
                        {
                            ESECCIONINSTRUMENTOEMPLEADO objSIE = new ESECCIONINSTRUMENTOEMPLEADO();
                            objSIE.CODINSTRUMENTOEMPLEADO = objIE.CODINSTRUMENTOEMPLEADO;
                            objSIE.NOMBRE                 = objSE.NOMBRE;
                            objSIE.DESCRIPCION            = objSE.DESCRIPCION;
                            objSIE.ORDEN                  = objSE.ORDEN;
                            objSIE.PONDERACION            = objSE.PONDERACION;
                            objSIE.COD_TIPO_SECCION       = objSE.CODTIPOSECCION;
                            objSIE.FLAG_AGREGAR_PREGUNTAS = objSE.FLAG_AGREGAR_PREGUNTA;
                            objSIE.Save();

                            foreach (EPREGUNTA objPR in objSE.PREGUNTAS)
                            {
                                EPREGUNTAEMPLEADO objPRE = new EPREGUNTAEMPLEADO();
                                objPRE.TEXTO       = objPR.TEXTO;
                                objPRE.DESCRIPCION = objPR.DESCRIPCION;
                                objPRE.ACCION      = objPR.ACCION;
                                objPRE.COMPROMISO  = objPR.COMPROMISO;
                                objPRE.INDICADOR   = objPR.INDICADOR;
                                objPRE.Save();

                                EPREGUNTASECCIONEMPLEADO objPSE = new EPREGUNTASECCIONEMPLEADO();
                                objPSE.CODPREGUNTAEMPLEADO   = objPRE.CODPREGUNTAEMPLEADO;
                                objPSE.CODSECCIONINSTRUMENTO = objSIE.CODSECCIONINSTRUMENTO;
                                objPSE.PONDERACION           = objPR.PONDERACION;
                                objPSE.Save();
                            }
                        }
                        objIE.IsPersisted = false;
                    }
                    break;

                case "Par":
                    objIE.CODTIPOEVAL = 3;
                    foreach (EEMPLEADO objEM in lstEM)
                    {
                        objIE.RUTEMPLEADO  = objEM.RUTEMPLEADO;
                        objIE.RUTEVALUADOR = objEM.RUTJEFE;
                        objIE.RUTVISADOR   = objEM.RUTVISADOR;
                        objIE.Save();

                        foreach (ESECCION objSE in objINSTRUMENTO.SECCIONES)
                        {
                            ESECCIONINSTRUMENTOEMPLEADO objSIE = new ESECCIONINSTRUMENTOEMPLEADO();
                            objSIE.CODINSTRUMENTOEMPLEADO = objIE.CODINSTRUMENTOEMPLEADO;
                            objSIE.NOMBRE                 = objSE.NOMBRE;
                            objSIE.DESCRIPCION            = objSE.DESCRIPCION;
                            objSIE.ORDEN                  = objSE.ORDEN;
                            objSIE.PONDERACION            = objSE.PONDERACION;
                            objSIE.COD_TIPO_SECCION       = objSE.CODTIPOSECCION;
                            objSIE.FLAG_AGREGAR_PREGUNTAS = objSE.FLAG_AGREGAR_PREGUNTA;
                            objSIE.Save();

                            foreach (EPREGUNTA objPR in objSE.PREGUNTAS)
                            {
                                EPREGUNTAEMPLEADO objPRE = new EPREGUNTAEMPLEADO();
                                objPRE.TEXTO       = objPR.TEXTO;
                                objPRE.DESCRIPCION = objPR.DESCRIPCION;
                                objPRE.ACCION      = objPR.ACCION;
                                objPRE.COMPROMISO  = objPR.COMPROMISO;
                                objPRE.INDICADOR   = objPR.INDICADOR;
                                objPRE.Save();

                                EPREGUNTASECCIONEMPLEADO objPSE = new EPREGUNTASECCIONEMPLEADO();
                                objPSE.CODPREGUNTAEMPLEADO   = objPRE.CODPREGUNTAEMPLEADO;
                                objPSE.CODSECCIONINSTRUMENTO = objSIE.CODSECCIONINSTRUMENTO;
                                objPSE.PONDERACION           = objPR.PONDERACION;
                                objPSE.Save();
                            }
                        }
                        objIE.IsPersisted = false;
                    }
                    break;
                }

                BFINSTRUMENTO objBFIN = new BFINSTRUMENTO();
                EINSTRUMENTO  objIN   = objBFIN.GetINSTRUMENTO(Utiles.ConvertToInt64(objIE.CODINSTRUMENTO));
                if ((objIN.FLAGAUTOEVALUACION) && (Direccion != "Par"))
                {
                    objIE.CODTIPOEVAL = 1;
                    foreach (EEMPLEADO objEM in lstEM)
                    {
                        objIE.RUTEMPLEADO  = objEM.RUTEMPLEADO;
                        objIE.RUTEVALUADOR = objEM.RUTEMPLEADO;
                        objIE.RUTVISADOR   = objEM.RUTVISADOR;
                        objIE.Save();

                        foreach (ESECCION objSE in objINSTRUMENTO.SECCIONES)
                        {
                            ESECCIONINSTRUMENTOEMPLEADO objSIE = new ESECCIONINSTRUMENTOEMPLEADO();
                            objSIE.CODINSTRUMENTOEMPLEADO = objIE.CODINSTRUMENTOEMPLEADO;
                            objSIE.NOMBRE                 = objSE.NOMBRE;
                            objSIE.DESCRIPCION            = objSE.DESCRIPCION;
                            objSIE.ORDEN                  = objSE.ORDEN;
                            objSIE.PONDERACION            = objSE.PONDERACION;
                            objSIE.COD_TIPO_SECCION       = objSE.CODTIPOSECCION;
                            objSIE.FLAG_AGREGAR_PREGUNTAS = objSE.FLAG_AGREGAR_PREGUNTA;
                            objSIE.Save();

                            foreach (EPREGUNTA objPR in objSE.PREGUNTAS)
                            {
                                EPREGUNTAEMPLEADO objPRE = new EPREGUNTAEMPLEADO();
                                objPRE.TEXTO       = objPR.TEXTO;
                                objPRE.DESCRIPCION = objPR.DESCRIPCION;
                                objPRE.ACCION      = objPR.ACCION;
                                objPRE.COMPROMISO  = objPR.COMPROMISO;
                                objPRE.INDICADOR   = objPR.INDICADOR;
                                objPRE.Save();

                                EPREGUNTASECCIONEMPLEADO objPSE = new EPREGUNTASECCIONEMPLEADO();
                                objPSE.CODPREGUNTAEMPLEADO   = objPRE.CODPREGUNTAEMPLEADO;
                                objPSE.CODSECCIONINSTRUMENTO = objSIE.CODSECCIONINSTRUMENTO;
                                objPSE.PONDERACION           = objPR.PONDERACION;
                                objPSE.Save();
                            }
                        }
                        objIE.IsPersisted = false;
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                Log log = new Log();
                log.EscribirLog(ex);
                return(false);
            }
        }
        public bool AsignarPorTipo(EINSTRUMENTO objINSTRUMENTO, List <EEMPLEADO> lstEM, string Nombre, DateTime Inicio, DateTime Fin, Int64 RutEmpresa, Int16 Tipo)
        {
            try
            {
                EINSTRUMENTOEMPLEADO objIE = new EINSTRUMENTOEMPLEADO();
                objIE.CODINSTRUMENTO         = objINSTRUMENTO.CODINSTRUMENTO;
                objIE.NOMINSTRUMENTOEMPLEADO = Nombre;
                objIE.DESCRIPCION            = objINSTRUMENTO.DESCRIPCION;
                objIE.OBSERVACION            = objINSTRUMENTO.OBSERVACION;
                objIE.INICIOEVALUACION       = Inicio;
                objIE.FINEVALUACION          = Fin;
                objIE.CODESTADOEVAL          = 1;
                objIE.RUT_EMPRESA            = RutEmpresa;
                switch (Tipo)
                {
                case 1:
                    objIE.CODTIPOEVAL = 1;
                    foreach (EEMPLEADO objEM in lstEM)
                    {
                        objIE.RUTEMPLEADO  = objEM.RUTEMPLEADO;
                        objIE.RUTEVALUADOR = objEM.RUTJEFE;
                        objIE.RUTVISADOR   = objEM.RUTVISADOR;
                        objIE.Save();

                        foreach (ESECCION objSE in objINSTRUMENTO.SECCIONES)
                        {
                            ESECCIONINSTRUMENTOEMPLEADO objSIE = new ESECCIONINSTRUMENTOEMPLEADO();
                            objSIE.CODINSTRUMENTOEMPLEADO = objIE.CODINSTRUMENTOEMPLEADO;
                            objSIE.NOMBRE                 = objSE.NOMBRE;
                            objSIE.DESCRIPCION            = objSE.DESCRIPCION;
                            objSIE.ORDEN                  = objSE.ORDEN;
                            objSIE.PONDERACION            = objSE.PONDERACION;
                            objSIE.COD_TIPO_SECCION       = objSE.CODTIPOSECCION;
                            objSIE.FLAG_AGREGAR_PREGUNTAS = objSE.FLAG_AGREGAR_PREGUNTA;
                            objSIE.Save();

                            foreach (EPREGUNTA objPR in objSE.PREGUNTAS)
                            {
                                EPREGUNTAEMPLEADO objPRE = new EPREGUNTAEMPLEADO();
                                objPRE.TEXTO       = objPR.TEXTO;
                                objPRE.DESCRIPCION = objPR.DESCRIPCION;
                                objPRE.ACCION      = objPR.ACCION;
                                objPRE.COMPROMISO  = objPR.COMPROMISO;
                                objPRE.INDICADOR   = objPR.INDICADOR;
                                objPRE.Save();

                                EPREGUNTASECCIONEMPLEADO objPSE = new EPREGUNTASECCIONEMPLEADO();
                                objPSE.CODPREGUNTAEMPLEADO   = objPRE.CODPREGUNTAEMPLEADO;
                                objPSE.CODSECCIONINSTRUMENTO = objSIE.CODSECCIONINSTRUMENTO;
                                objPSE.PONDERACION           = objPR.PONDERACION;
                                objPSE.Save();
                            }
                        }
                        objIE.IsPersisted = false;
                    }
                    break;

                case 2:
                    objIE.CODTIPOEVAL = 2;
                    foreach (EEMPLEADO objEM in lstEM)
                    {
                        objIE.RUTEMPLEADO  = objEM.RUTEMPLEADO;
                        objIE.RUTEVALUADOR = objEM.RUTJEFE;
                        objIE.RUTVISADOR   = objEM.RUTVISADOR;
                        objIE.Save();

                        foreach (ESECCION objSE in objINSTRUMENTO.SECCIONES)
                        {
                            ESECCIONINSTRUMENTOEMPLEADO objSIE = new ESECCIONINSTRUMENTOEMPLEADO();
                            objSIE.CODINSTRUMENTOEMPLEADO = objIE.CODINSTRUMENTOEMPLEADO;
                            objSIE.NOMBRE                 = objSE.NOMBRE;
                            objSIE.DESCRIPCION            = objSE.DESCRIPCION;
                            objSIE.ORDEN                  = objSE.ORDEN;
                            objSIE.PONDERACION            = objSE.PONDERACION;
                            objSIE.COD_TIPO_SECCION       = objSE.CODTIPOSECCION;
                            objSIE.FLAG_AGREGAR_PREGUNTAS = objSE.FLAG_AGREGAR_PREGUNTA;
                            objSIE.Save();

                            foreach (EPREGUNTA objPR in objSE.PREGUNTAS)
                            {
                                EPREGUNTAEMPLEADO objPRE = new EPREGUNTAEMPLEADO();
                                objPRE.TEXTO       = objPR.TEXTO;
                                objPRE.DESCRIPCION = objPR.DESCRIPCION;
                                objPRE.ACCION      = objPR.ACCION;
                                objPRE.COMPROMISO  = objPR.COMPROMISO;
                                objPRE.INDICADOR   = objPR.INDICADOR;
                                objPRE.Save();

                                EPREGUNTASECCIONEMPLEADO objPSE = new EPREGUNTASECCIONEMPLEADO();
                                objPSE.CODPREGUNTAEMPLEADO   = objPRE.CODPREGUNTAEMPLEADO;
                                objPSE.CODSECCIONINSTRUMENTO = objSIE.CODSECCIONINSTRUMENTO;
                                objPSE.PONDERACION           = objPR.PONDERACION;
                                objPSE.Save();
                            }
                        }
                        objIE.IsPersisted = false;
                    }
                    break;

                case 3:
                    objIE.CODTIPOEVAL = 3;
                    foreach (EEMPLEADO objEM in lstEM)
                    {
                        objIE.RUTEMPLEADO  = objEM.RUTEMPLEADO;
                        objIE.RUTEVALUADOR = objEM.RUTJEFE;
                        objIE.RUTVISADOR   = objEM.RUTVISADOR;
                        objIE.Save();

                        foreach (ESECCION objSE in objINSTRUMENTO.SECCIONES)
                        {
                            ESECCIONINSTRUMENTOEMPLEADO objSIE = new ESECCIONINSTRUMENTOEMPLEADO();
                            objSIE.CODINSTRUMENTOEMPLEADO = objIE.CODINSTRUMENTOEMPLEADO;
                            objSIE.NOMBRE                 = objSE.NOMBRE;
                            objSIE.DESCRIPCION            = objSE.DESCRIPCION;
                            objSIE.ORDEN                  = objSE.ORDEN;
                            objSIE.PONDERACION            = objSE.PONDERACION;
                            objSIE.COD_TIPO_SECCION       = objSE.CODTIPOSECCION;
                            objSIE.FLAG_AGREGAR_PREGUNTAS = objSE.FLAG_AGREGAR_PREGUNTA;
                            objSIE.Save();

                            foreach (EPREGUNTA objPR in objSE.PREGUNTAS)
                            {
                                EPREGUNTAEMPLEADO objPRE = new EPREGUNTAEMPLEADO();
                                objPRE.TEXTO       = objPR.TEXTO;
                                objPRE.DESCRIPCION = objPR.DESCRIPCION;
                                objPRE.ACCION      = objPR.ACCION;
                                objPRE.COMPROMISO  = objPR.COMPROMISO;
                                objPRE.INDICADOR   = objPR.INDICADOR;
                                objPRE.Save();

                                EPREGUNTASECCIONEMPLEADO objPSE = new EPREGUNTASECCIONEMPLEADO();
                                objPSE.CODPREGUNTAEMPLEADO   = objPRE.CODPREGUNTAEMPLEADO;
                                objPSE.CODSECCIONINSTRUMENTO = objSIE.CODSECCIONINSTRUMENTO;
                                objPSE.PONDERACION           = objPR.PONDERACION;
                                objPSE.Save();
                            }
                        }
                        objIE.IsPersisted = false;
                    }
                    break;

                case 4:
                    objIE.CODTIPOEVAL = 4;
                    foreach (EEMPLEADO objEM in lstEM)
                    {
                        objIE.RUTEMPLEADO  = objEM.RUTEMPLEADO;
                        objIE.RUTEVALUADOR = objEM.RUTEMPLEADO;
                        objIE.RUTVISADOR   = objEM.RUTVISADOR;
                        objIE.Save();

                        foreach (ESECCION objSE in objINSTRUMENTO.SECCIONES)
                        {
                            ESECCIONINSTRUMENTOEMPLEADO objSIE = new ESECCIONINSTRUMENTOEMPLEADO();
                            objSIE.CODINSTRUMENTOEMPLEADO = objIE.CODINSTRUMENTOEMPLEADO;
                            objSIE.NOMBRE                 = objSE.NOMBRE;
                            objSIE.DESCRIPCION            = objSE.DESCRIPCION;
                            objSIE.ORDEN                  = objSE.ORDEN;
                            objSIE.PONDERACION            = objSE.PONDERACION;
                            objSIE.COD_TIPO_SECCION       = objSE.CODTIPOSECCION;
                            objSIE.FLAG_AGREGAR_PREGUNTAS = objSE.FLAG_AGREGAR_PREGUNTA;
                            objSIE.Save();

                            foreach (EPREGUNTA objPR in objSE.PREGUNTAS)
                            {
                                EPREGUNTAEMPLEADO objPRE = new EPREGUNTAEMPLEADO();
                                objPRE.TEXTO       = objPR.TEXTO;
                                objPRE.DESCRIPCION = objPR.DESCRIPCION;
                                objPRE.ACCION      = objPR.ACCION;
                                objPRE.COMPROMISO  = objPR.COMPROMISO;
                                objPRE.INDICADOR   = objPR.INDICADOR;
                                objPRE.Save();

                                EPREGUNTASECCIONEMPLEADO objPSE = new EPREGUNTASECCIONEMPLEADO();
                                objPSE.CODPREGUNTAEMPLEADO   = objPRE.CODPREGUNTAEMPLEADO;
                                objPSE.CODSECCIONINSTRUMENTO = objSIE.CODSECCIONINSTRUMENTO;
                                objPSE.PONDERACION           = objPR.PONDERACION;
                                objPSE.Save();
                            }
                        }
                        objIE.IsPersisted = false;
                    }
                    break;
                }

                return(true);
            }
            catch (Exception ex)
            {
                Log log = new Log();
                log.EscribirLog(ex);
                return(false);
            }
        }