public async Task Create(EvaluacionEmpleadosCompetenciasConductuales model)
 {
     try
     {
         _db.evaluacionesConductuales.Add(model);
         await _db.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
 }
        public async Task cargarEmpleadosPeriodo(string id)
        {
            try
            {
                PersonasRepository     personal      = new PersonasRepository();
                IEnumerable <Personas> listaPersonal = await personal.GetAllMAX();


                List <EvaluacionEmpleadosCompetenciasConductuales> listaEvaluacion = new List <EvaluacionEmpleadosCompetenciasConductuales>();


                var categoria = await _db.relacionCategoria.AsNoTracking().ToListAsync();

                foreach (var item in listaPersonal)
                {
                    EvaluacionEmpleadosCompetenciasConductuales persona = new EvaluacionEmpleadosCompetenciasConductuales();
                    persona.AreasMejora             = "";
                    persona.CalificacionId          = 5;
                    persona.CategoriaCompetenciasId = 1;

                    persona.claveArea          = item.ClaveUnidad;
                    persona.ClaveEmpleado      = item.ClavePersona;
                    persona.claveEvaluacion    = 0;
                    persona.Debilidades        = "";
                    persona.EstadoEvaluacionId = 1;
                    persona.Fortalezas         = "";
                    persona.NombreEmpleado     = item.NombreCompleto;
                    persona.Periodo            = id;
                    persona.visible            = 1;


                    foreach (var cat in categoria)
                    {
                        if (cat.ClaveCategoria.Equals(item.CategoriaId))
                        {
                            persona.CategoriaCompetenciasId = cat.categoriaCompetencia;
                            persona.CategoriaNomina         = cat.categoriaEmpleado;
                            break;
                        }
                    }


                    _db.evaluacionesConductuales.Add(persona);
                }
                await _db.SaveChangesAsync();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
        public async Task UpdateEstado(EvaluacionEmpleadosCompetenciasConductuales obj)
        {
            try
            {
                var _obj = await _db.evaluacionesConductuales.FirstOrDefaultAsync(e => e.EvaluacionId == obj.EvaluacionId);

                if (_obj != null)
                {
                    _obj.visible = obj.visible;
                    await _db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
        public async Task Update(EvaluacionEmpleadosCompetenciasConductuales model)
        {
            try
            {
                var _model = await _db.evaluacionesConductuales.FirstOrDefaultAsync(e => e.EvaluacionId == model.EvaluacionId);

                if (_model != null)
                {
                    _db.Entry(_model).CurrentValues.SetValues(model);
                    await _db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
        public async Task <Object> competencias(string noEmpleado)
        {
            PersonasRepository ObjetoPersona = new PersonasRepository();
            Personas           persona       = await ObjetoPersona.GetByClave(noEmpleado);

            int datosConductuales = 0;
            int datostecnicas     = 0;

            try
            {
                var resultado = new Object();


                if (persona.TipoPersonalId.Equals("SIN") || persona.TipoPersonalId.Equals("ADM"))
                {
                    var entities = await _db.listadoEmpleadosSind.AsNoTracking().FirstOrDefaultAsync(e => e.NoEmpleado == noEmpleado);

                    if (entities != null)
                    {
                        EvaluacionEmpleadoSindRepository repEvaluacionSindicalizados = new EvaluacionEmpleadoSindRepository();
                        EvaluacionEmpleadosSind          evaluacion = await repEvaluacionSindicalizados.Get(entities.ListaId);

                        RegistroEvaluacionSindRepository repRegistroEvaluacion = new RegistroEvaluacionSindRepository();

                        ResultadoEvaluacionSindicalizado resultadoEvaluacion = new ResultadoEvaluacionSindicalizado();
                        resultadoEvaluacion.idEmpleado         = entities;
                        resultadoEvaluacion.RegistroEvaluacion = evaluacion;
                        resultadoEvaluacion.Competencias       = await repRegistroEvaluacion.CompetenciasEvaluadas(evaluacion.EvaluacionId);


                        EvaluacionEmpleadosCompetenciasConductuales evaluacionConductualDoble = new EvaluacionEmpleadosCompetenciasConductuales();
                        EvaluacionConductualesRepository            evaluacionRepository      = new EvaluacionConductualesRepository();
                        DetalleEvaluacionConductualesRepository     detalleRepository         = new DetalleEvaluacionConductualesRepository();

                        evaluacionConductualDoble = await evaluacionRepository.GetTopByPersona(noEmpleado);

                        if (evaluacionConductualDoble != null)
                        {
                            var detalleEvaluacion = await detalleRepository.GetByClaveEvaluacionResultado(evaluacionConductualDoble.claveEvaluacion);

                            if (detalleEvaluacion != null)
                            {
                                var conductual = new { datosEvaluado = evaluacionConductualDoble, competencias = detalleEvaluacion };
                                resultado = new { TipoPersonalId = persona.TipoPersonalId, info = resultadoEvaluacion, conductuales = conductual, incluyeConductuales = 2, incluyeSindicalizados = 1, incluyeTecnicas = 0 };
                            }
                            else
                            {
                                resultado = new { TipoPersonalId = persona.TipoPersonalId, info = resultadoEvaluacion, incluyeConductuales = 0, incluyeSindicalizados = 1, incluyeTecnicas = 0 };
                            }
                        }
                        else
                        {
                            resultado = new { TipoPersonalId = persona.TipoPersonalId, info = resultadoEvaluacion, incluyeConductuales = 0, incluyeSindicalizados = 1, incluyeTecnicas = 0 };
                        }
                    }
                    else
                    {
                        EvaluacionEmpleadosCompetenciasConductuales evaluacionConductual = new EvaluacionEmpleadosCompetenciasConductuales();
                        EvaluacionConductualesRepository            evaluacionRepository = new EvaluacionConductualesRepository();
                        DetalleEvaluacionConductualesRepository     detalleRepository    = new DetalleEvaluacionConductualesRepository();

                        var conductual = new object();

                        evaluacionConductual = await evaluacionRepository.GetTopByPersona(noEmpleado);

                        if (evaluacionConductual != null)
                        {
                            var detalleEvaluacion = await detalleRepository.GetByClaveEvaluacionResultado(evaluacionConductual.claveEvaluacion);

                            conductual = new { datosEvaluado = evaluacionConductual, competencias = detalleEvaluacion };

                            if (detalleEvaluacion != null)
                            {
                                datosConductuales = 1;
                            }
                            else
                            {
                                datosConductuales = 0;
                            }
                        }


                        //DATOS DEL PERSONAL DE BASE
                        resultado = new { TipoPersonalId = persona.TipoPersonalId, conductuales = conductual, incluyeConductuales = datosConductuales, incluyeSindicalizados = 0, incluyeTecnicas = 0 };
                    }
                }
                else
                {
                    datosConductuales = 0;
                    datostecnicas     = 0;


                    EvaluacionEmpleadosCompetenciasConductuales evaluacionConductual = new EvaluacionEmpleadosCompetenciasConductuales();
                    EvaluacionConductualesRepository            evaluacionRepository = new EvaluacionConductualesRepository();
                    DetalleEvaluacionConductualesRepository     detalleRepository    = new DetalleEvaluacionConductualesRepository();

                    var conductual = new object();

                    evaluacionConductual = await evaluacionRepository.GetTopByPersona(noEmpleado);

                    if (evaluacionConductual != null)
                    {
                        var detalleEvaluacion = await detalleRepository.GetByClaveEvaluacionResultado(evaluacionConductual.claveEvaluacion);

                        conductual = new { datosEvaluado = evaluacionConductual, competencias = detalleEvaluacion };

                        if (detalleEvaluacion != null)
                        {
                            datosConductuales = 1;
                        }
                        else
                        {
                            datosConductuales = 0;
                        }
                    }


                    EvaluacionEmpleadosCompetenciasTecnicas eval = new EvaluacionEmpleadosCompetenciasTecnicas();
                    EvaluacionTecnicasRepository            evaluacionTecRepository = new EvaluacionTecnicasRepository();
                    DetalleEvaluacionTecnicasRepository     detalleTecRepository    = new DetalleEvaluacionTecnicasRepository();

                    eval = await evaluacionTecRepository.GetTopByPersona2(noEmpleado);

                    var tecnica = new Object();
                    if (eval != null)
                    {
                        var detalleEvaluacionTec = await detalleTecRepository.GetByEmpleado2(noEmpleado, eval.idPeriodo);

                        tecnica = new { datosEvaluado = eval, competencias = detalleEvaluacionTec };

                        if (detalleEvaluacionTec != null)
                        {
                            datostecnicas = 1;
                        }
                        else
                        {
                            datostecnicas = 0;
                        }
                    }



                    //DATOS DEL PERSONAL DE BASE
                    resultado = new { TipoPersonalId = persona.TipoPersonalId, conductuales = conductual, tecnicas = tecnica, incluyeConductuales = datosConductuales, incluyeSindicalizados = 0, incluyeTecnicas = datostecnicas };
                }

                return(resultado);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
        public async Task <Object> misEvaluacionesConductuales(BusquedaNivel parametros)
        {
            PersonasRepository ObjetoPersona = new PersonasRepository();
            Personas           persona       = await ObjetoPersona.GetByClave(parametros.claveEmpleado);

            try
            {
                var resultado = new Object();

                if (persona.TipoPersonalId.Equals("SIN") || persona.TipoPersonalId.Equals("ADM"))
                {
                    var entities = await _db.listadoEmpleadosSind.AsNoTracking().FirstOrDefaultAsync(e => e.NoEmpleado == parametros.claveEmpleado);

                    if (entities != null)
                    {
                        EvaluacionEmpleadoSindRepository repEvaluacionSindicalizados = new EvaluacionEmpleadoSindRepository();
                        EvaluacionEmpleadosSind          evaluacion = await repEvaluacionSindicalizados.GetByPeriodo(entities.ListaId, parametros.periodo);

                        RegistroEvaluacionSindRepository repRegistroEvaluacion = new RegistroEvaluacionSindRepository();

                        ResultadoEvaluacionSindicalizado resultadoEvaluacion = new ResultadoEvaluacionSindicalizado();
                        resultadoEvaluacion.idEmpleado         = entities;
                        resultadoEvaluacion.RegistroEvaluacion = evaluacion;
                        resultadoEvaluacion.Competencias       = await repRegistroEvaluacion.CompetenciasEvaluadas(evaluacion.EvaluacionId);

                        resultado = new { TipoPersonalId = persona.TipoPersonalId, info = resultadoEvaluacion };
                    }
                    else
                    {
                        EvaluacionEmpleadosCompetenciasConductuales evaluacionConductual = new EvaluacionEmpleadosCompetenciasConductuales();
                        EvaluacionConductualesRepository            evaluacionRepository = new EvaluacionConductualesRepository();
                        DetalleEvaluacionConductualesRepository     detalleRepository    = new DetalleEvaluacionConductualesRepository();

                        var conductual = new object();

                        evaluacionConductual = await evaluacionRepository.GetPeriodoPersona(parametros);

                        if (evaluacionConductual != null)
                        {
                            var detalleEvaluacion = await detalleRepository.GetByClaveEvaluacionResultado(evaluacionConductual.claveEvaluacion);

                            conductual = new { datosEvaluado = evaluacionConductual, competencias = detalleEvaluacion };

                            //DATOS DEL PERSONAL DE BASE
                            resultado = new { TipoPersonalId = persona.TipoPersonalId, conductuales = conductual };
                        }
                    }
                }
                else
                {
                    EvaluacionEmpleadosCompetenciasConductuales evaluacionConductual = new EvaluacionEmpleadosCompetenciasConductuales();
                    EvaluacionConductualesRepository            evaluacionRepository = new EvaluacionConductualesRepository();
                    DetalleEvaluacionConductualesRepository     detalleRepository    = new DetalleEvaluacionConductualesRepository();

                    var conductual = new object();

                    evaluacionConductual = await evaluacionRepository.GetPeriodoPersona(parametros);

                    if (evaluacionConductual != null)
                    {
                        var detalleEvaluacion = await detalleRepository.GetByClaveEvaluacionResultado(evaluacionConductual.claveEvaluacion);

                        conductual = new { datosEvaluado = evaluacionConductual, competencias = detalleEvaluacion };

                        //DATOS DEL PERSONAL DE BASE
                        resultado = new { TipoPersonalId = persona.TipoPersonalId, conductuales = conductual };
                    }
                    else
                    {
                        //var entities = await _db.listadoEmpleadosSind.AsNoTracking().FirstOrDefaultAsync(e => e.NoEmpleado == parametros.claveEmpleado);

                        //if (entities != null)
                        //{
                        //    EvaluacionEmpleadoSindRepository repEvaluacionSindicalizados = new EvaluacionEmpleadoSindRepository();
                        //    EvaluacionEmpleadosSind evaluacion = await repEvaluacionSindicalizados.GetByPeriodo(entities.ListaId, parametros.periodo);
                        //    RegistroEvaluacionSindRepository repRegistroEvaluacion = new RegistroEvaluacionSindRepository();

                        //    ResultadoEvaluacionSindicalizado resultadoEvaluacion = new ResultadoEvaluacionSindicalizado();
                        //    resultadoEvaluacion.idEmpleado = entities;
                        //    resultadoEvaluacion.RegistroEvaluacion = evaluacion;
                        //    resultadoEvaluacion.Competencias = await repRegistroEvaluacion.CompetenciasEvaluadas(evaluacion.EvaluacionId);

                        //    resultado = new { TipoPersonalId = "SIN", info = resultadoEvaluacion };
                        //}
                    }
                }

                return(resultado);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
Exemple #7
0
                                                                  public async Task <IHttpActionResult> UpdateEstado(EvaluacionEmpleadosCompetenciasConductuales obj)
                                                                  {
                                                                      try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                            await _repository.UpdateEstado(obj);

                                                                            return(Ok("Registro actualizado correctamente!")); }
                                                                      catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);

                                                                                            return(InternalServerError(e)); }
                                                                  }
Exemple #8
0
                                                                  [HttpPost][Authorize] public async Task <IHttpActionResult> Create(EvaluacionEmpleadosCompetenciasConductuales obj)
                                                                  {
                                                                      try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                            await _repository.Create(obj);

                                                                            return(Ok("Evaluación registrada correctamente!")); }
                                                                      catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                                                                                            return(InternalServerError(e)); }
                                                                  }