Example #1
0
        public async Task <List <ViewModelQuejas> > Evaluar([FromBody] ViewModelQuejas viewModelQuejas)
        {
            try
            {
                var lista = new List <ViewModelQuejas>();

                lista = await db.Quejas.Where
                            (x => x.IdEmpleado == viewModelQuejas.IdEmpleado && x.IdEval001 == viewModelQuejas.IdEval001)
                        .Select(y => new ViewModelQuejas
                {
                    IdQuejas          = y.IdQueja,
                    IdEmpleado        = Convert.ToInt32(y.IdEmpleado),
                    IdEval001         = Convert.ToInt32(y.IdEval001),
                    NombreCiudadano   = y.Nombre,
                    ApellidoCiudadano = y.Apellido,
                    Descripcion       = y.Descripcion,
                    NumeroFormulario  = Convert.ToInt32(y.NumeroFormulario),
                    AplicaDescuento   = Convert.ToBoolean(y.AplicaDescuento)
                }).ToListAsync();

                //quejas.Add(lista);
                return(lista);
            }
            catch (Exception ex)
            {
                return(new List <ViewModelQuejas>());

                throw;
            }
        }
Example #2
0
        public async Task <IActionResult> IndexQuejas(int idEmpleado, int ideval)
        {
            try
            {
                if (idEmpleado == 0 || ideval == 0)
                {
                    idEmpleado = Convert.ToInt32(HttpContext.Session.GetInt32(Constantes.idEmpleadoSession));
                    ideval     = Convert.ToInt32(HttpContext.Session.GetInt32(Constantes.idEval011Session));
                }
                if (idEmpleado != 0 || ideval != 0)
                {
                    HttpContext.Session.SetInt32(Constantes.idEmpleadoSession, Convert.ToInt32(idEmpleado));
                    HttpContext.Session.SetInt32(Constantes.idEval011Session, Convert.ToInt32(ideval));
                    //var lista = new List<ViewModelQuejas>();
                    var usuario = new ViewModelQuejas
                    {
                        IdEmpleado = Convert.ToInt32(idEmpleado),
                        IdEval001  = Convert.ToInt32(ideval)
                    };
                    var lista = await apiServicio.Listar <ViewModelQuejas>(usuario, new Uri(WebApp.BaseAddress)
                                                                           , "api/Quejas/ListaQuejas");

                    InicializarMensaje(null);
                    return(View(lista));
                }
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                InicializarMensaje(null);
                return(View());
            }
        }
Example #3
0
        public async Task <IActionResult> Create(ViewModelQuejas viewModelQuejas)
        {
            try
            {
                var envio = new ViewModelQuejas()
                {
                    IdEval001         = Convert.ToInt32(HttpContext.Session.GetInt32(Constantes.idEval011Session)),
                    IdEmpleado        = Convert.ToInt32(HttpContext.Session.GetInt32(Constantes.idEmpleadoSession)),
                    NombreCiudadano   = viewModelQuejas.NombreCiudadano,
                    ApellidoCiudadano = viewModelQuejas.ApellidoCiudadano,
                    Descripcion       = viewModelQuejas.Descripcion,
                    NumeroFormulario  = viewModelQuejas.NumeroFormulario,
                    AplicaDescuento   = viewModelQuejas.AplicaDescuento
                };
                if (envio.IdEval001 != 0 || envio.IdEmpleado != 0)
                {
                    Response response = new Response();
                    response = await apiServicio.InsertarAsync <Response>(envio, new Uri(WebApp.BaseAddress)
                                                                          , "api/Quejas/InsertarQuejas");

                    if (response.IsSuccess)
                    {
                        return(RedirectToAction("IndexQuejas"));
                    }
                }
                return(RedirectToAction("Index"));
            }
            catch (Exception)
            {
                throw;
            }
        }
Example #4
0
        public async Task <IActionResult> CalificacionFinal()
        {
            var envio = new ViewModelQuejas()
            {
                IdEval001 = Convert.ToInt32(HttpContext.Session.GetInt32(Constantes.idEval011Session))
            };

            if (envio.IdEval001 != 0)
            {
                var ListaObservacion = await apiServicio.ObtenerElementoAsync1 <ViewModelQuejas>(envio, new Uri(WebApp.BaseAddress), "api/Quejas/CalcularTotales");

                if (ListaObservacion != null)
                {
                    InicializarMensaje(null);
                    return(View(ListaObservacion));
                }
                InicializarMensaje(null);
                return(View());
            }
            return(RedirectToAction("Index"));
        }
Example #5
0
        public async Task <Response> InsertarQuejas([FromBody] ViewModelQuejas viewModelQuejas)
        {
            using (var transaction = await db.Database.BeginTransactionAsync())
            {
                try
                {
                    var quejas = new Quejas
                    {
                        IdEmpleado       = viewModelQuejas.IdEmpleado,
                        IdEval001        = viewModelQuejas.IdEval001,
                        Nombre           = viewModelQuejas.NombreCiudadano,
                        Apellido         = viewModelQuejas.ApellidoCiudadano,
                        Descripcion      = viewModelQuejas.Descripcion,
                        NumeroFormulario = Convert.ToString(viewModelQuejas.NumeroFormulario),
                        AplicaDescuento  = viewModelQuejas.AplicaDescuento
                    };
                    await db.Quejas.AddAsync(quejas);

                    await db.SaveChangesAsync();

                    transaction.Commit();
                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.Satisfactorio
                    });
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.Error,
                    });
                }
            }
        }
Example #6
0
        public async Task <ViewModelQuejas> CalcularTotales([FromBody] ViewModelQuejas viewModelQuejas)
        {
            try
            {
                var totales = new ViewModelQuejas();
                var eval    = new Eval001()
                {
                    IdEval001 = viewModelQuejas.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 Quejas = await db.Quejas.Where(x => x.IdEval001 == eval.IdEval001 && x.AplicaDescuento == true).ToListAsync();

                if (Quejas.Count != 0)
                {
                    //double valor = 0, total = 0;
                    double valor = 0, total = 0;
                    foreach (var item in Quejas)
                    {
                        valor = 4;
                        total = total + valor;
                    }
                    //total = total / Quejas.Count;
                    totales.TotalQuejas = total;
                }
                else
                {
                    totales.TotalQuejas = 0;
                }
                var TotalEvaluacion = totales.TotalCompetenciasTecnicas + totales.TotalCompetenciasUniversales + totales.TotalConocimientos + totales.TotalTrabajoLiderazgo + totales.ActividadesTotal;
                var totalConQuejas  = TotalEvaluacion - totales.TotalQuejas;
                totales.TotalEvaluacion = totalConQuejas;
                return(totales);
            }
            catch (Exception ex)
            {
                ex.ToString();
                return(new ViewModelQuejas());
            }
        }