Beispiel #1
0
        public async Task <Response> InsertarEval001([FromBody] ViewModelEvaluador viewModelEvaluador)
        {
            using (var transaction = await db.Database.BeginTransactionAsync())
            {
                try
                {
                    var a = await db.Evaluador.Where(x => x.IdEmpleado == viewModelEvaluador.IdJefe).FirstOrDefaultAsync();

                    if (a != null)
                    {
                        var eval001 = new Eval001
                        {
                            IdEmpleadoEvaluado   = viewModelEvaluador.IdEmpleado,
                            IdEvaluador          = a.IdEvaluador,
                            FechaEvaluacionDesde = viewModelEvaluador.Desde,
                            FechaEvaluacionHasta = viewModelEvaluador.Hasta,
                            FechaRegistro        = DateTime.Now
                        };
                        var eval001Insertarda = db.Eval001.Add(eval001);
                        await db.SaveChangesAsync();

                        transaction.Commit();


                        return(new Response
                        {
                            Resultado = eval001.IdEval001,
                            IsSuccess = true,
                            Message = Mensaje.Satisfactorio
                        });
                    }
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.Error
                    });
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.Error,
                    });
                }
            }
        }
Beispiel #2
0
        public async Task <Eval001> ObtenerEval001([FromBody] IdFiltrosViewModel filtros)
        {
            var modelo = new Eval001();

            try
            {
                modelo = await db.Eval001
                         .Where(w => w.IdEval001 == filtros.IdEval001)
                         .FirstOrDefaultAsync();


                return(modelo);
            }
            catch (Exception)
            {
                return(modelo);
            }
        }
Beispiel #3
0
        public Response Existe(Eval001 eval001)
        {
            var bdd1 = eval001.IdEval001;
            var loglevelrespuesta = db.Eval001.Where(p => p.IdEval001 == bdd1).FirstOrDefault();

            if (loglevelrespuesta.Observaciones != null)
            {
                return(new Response
                {
                    IsSuccess = true,
                    Resultado = loglevelrespuesta,
                });
            }
            return(new Response
            {
                IsSuccess = false,
            });
        }
Beispiel #4
0
 public async Task <Response> ObtenerObservacion([FromBody] ViewModelEvaluador viewModelEvaluador)
 {
     try
     {
         var eval = new Eval001()
         {
             IdEval001 = viewModelEvaluador.IdEval001,
         };
         if (eval.IdEval001 != 0)
         {
             var existe = Existe(eval);
             if (existe.IsSuccess)
             {
                 return(new Response
                 {
                     IsSuccess = true,
                     Resultado = existe.Resultado,
                     Message = Mensaje.Satisfactorio,
                 });
             }
         }
         return(new Response
         {
             Resultado = null,
             IsSuccess = true
         });
     }
     catch (Exception ex)
     {
         return(new Response
         {
             IsSuccess = false,
             Message = Mensaje.Error,
         });
     }
 }
Beispiel #5
0
        public async Task <ViewModelEvaluador> CalcularTotales([FromBody] ViewModelEvaluador viewModelEvaluador)
        {
            try
            {
                var totales = new ViewModelEvaluador();
                var eval    = new Eval001()
                {
                    IdEval001 = viewModelEvaluador.IdEval001,
                };
                var actividades = await db.EvaluacionActividadesPuestoTrabajo.Where(x => x.IdEval001 == eval.IdEval001).ToListAsync();

                if (actividades != null)
                {
                    double valor = 0, total = 0;
                    foreach (var item in actividades)
                    {
                        valor = Convert.ToDouble(item.PorcetajeCumplimiento) + Convert.ToDouble(item.Aumento);
                        total = total + valor;
                        totales.ActividadesTotal = total;
                    }
                }
                else
                {
                    totales.ActividadesTotal = 0;
                }
                var conocimiento = await db.EvaluacionConocimiento.Where(x => x.IdEval001 == eval.IdEval001).ToListAsync();

                if (conocimiento.Count != 0)
                {
                    //double valor = 0, total = 0;
                    double valor = 0, total = 0;
                    foreach (var item in conocimiento)
                    {
                        var a = await db.NivelConocimiento.Where(x => x.IdNivelConocimiento == item.IdNivelConocimiento).FirstOrDefaultAsync();

                        var b = a.Nombre;

                        if (b == EvaluacionDesempeño.Sobresaliente)
                        {
                            valor = 8;
                        }
                        if (b == EvaluacionDesempeño.MuyBueno)
                        {
                            valor = 6;
                        }
                        if (b == EvaluacionDesempeño.Bueno)
                        {
                            valor = 4;
                        }
                        if (b == EvaluacionDesempeño.Regular)
                        {
                            valor = 2;
                        }
                        if (b == EvaluacionDesempeño.Insuficiente)
                        {
                            valor = 0;
                        }
                        total = total + valor;
                    }
                    total = total / conocimiento.Count;
                    totales.TotalConocimientos = total;
                }
                else
                {
                    totales.TotalConocimientos = 0;
                }
                var competenciasTecnicas = await db.EvaluacionCompetenciasTecnicasPuesto.Where(x => x.IdEval001 == eval.IdEval001).ToListAsync();

                if (competenciasTecnicas.Count != 0)
                {
                    //double valor = 0, total = 0;
                    double valor = 0, total = 0;
                    foreach (var item in competenciasTecnicas)
                    {
                        var a = await db.NivelDesarrollo.Where(x => x.IdNivelDesarrollo == item.IdNivelDesarrollo).FirstOrDefaultAsync();

                        var b = a.Nombre;

                        if (b == EvaluacionDesempeño.AltamenteDesarrollada)
                        {
                            valor = 8;
                        }
                        if (b == EvaluacionDesempeño.Desarrollada)
                        {
                            valor = 6;
                        }
                        if (b == EvaluacionDesempeño.MedianamenteDesarrollada)
                        {
                            valor = 4;
                        }
                        if (b == EvaluacionDesempeño.PocoDesarrollada)
                        {
                            valor = 2;
                        }
                        if (b == EvaluacionDesempeño.NoDesarrollada)
                        {
                            valor = 0;
                        }
                        total = total + valor;
                    }
                    total = total / competenciasTecnicas.Count;
                    totales.TotalCompetenciasTecnicas = total;
                }
                else
                {
                    totales.TotalCompetenciasTecnicas = 0;
                }
                var competenciasUniversales = await db.EvaluacionCompetenciasUniversales.Where(x => x.IdEval001 == eval.IdEval001).ToListAsync();

                if (competenciasUniversales.Count != 0)
                {
                    //double valor = 0, total = 0;
                    double valor = 0, total = 0;
                    foreach (var item in competenciasUniversales)
                    {
                        var a = await db.FrecuenciaAplicacion.Where(x => x.IdFrecuenciaAplicacion == item.IdFrecuenciaAplicacion).FirstOrDefaultAsync();

                        var b = a.Nombre;

                        if (b == EvaluacionDesempeño.Siempre)
                        {
                            valor = 1.3;
                        }
                        if (b == EvaluacionDesempeño.Frecuentemente)
                        {
                            valor = 1;
                        }
                        if (b == EvaluacionDesempeño.Algunavez)
                        {
                            valor = 0.7;
                        }
                        if (b == EvaluacionDesempeño.Raravez)
                        {
                            valor = 0.3;
                        }
                        if (b == EvaluacionDesempeño.Nunca)
                        {
                            valor = 0;
                        }
                        total = total + valor;
                    }
                    total = total / competenciasUniversales.Count;
                    totales.TotalCompetenciasUniversales = total;
                }
                else
                {
                    totales.TotalCompetenciasUniversales = 0;
                }
                var TrabajoLiderazgo = await db.EvaluacionTrabajoEquipoIniciativaLiderazgo.Where(x => x.IdEval001 == eval.IdEval001).ToListAsync();

                if (TrabajoLiderazgo.Count != 0)
                {
                    //double valor = 0, total = 0;
                    double valor = 0, total = 0;
                    foreach (var item in TrabajoLiderazgo)
                    {
                        var a = await db.FrecuenciaAplicacion.Where(x => x.IdFrecuenciaAplicacion == item.IdFrecuenciaAplicacion).FirstOrDefaultAsync();

                        var b = a.Nombre;

                        if (b == EvaluacionDesempeño.Siempre)
                        {
                            valor = 8;
                        }
                        if (b == EvaluacionDesempeño.Frecuentemente)
                        {
                            valor = 6;
                        }
                        if (b == EvaluacionDesempeño.Algunavez)
                        {
                            valor = 4;
                        }
                        if (b == EvaluacionDesempeño.Raravez)
                        {
                            valor = 2;
                        }
                        if (b == EvaluacionDesempeño.Nunca)
                        {
                            valor = 0;
                        }
                        total = total + valor;
                    }
                    total = total / TrabajoLiderazgo.Count;
                    totales.TotalTrabajoLiderazgo = total;
                }
                else
                {
                    totales.TotalTrabajoLiderazgo = 0;
                }
                var TotalEvaluacion = totales.TotalCompetenciasTecnicas + totales.TotalCompetenciasUniversales + totales.TotalConocimientos + totales.TotalTrabajoLiderazgo + totales.ActividadesTotal;
                totales.TotalEvaluacion = TotalEvaluacion;
                return(totales);
            }
            catch (Exception ex)
            {
                ex.ToString();
                return(new ViewModelEvaluador());
            }
        }