示例#1
0
        public void TestInitialize()
        {
            this.usp = new List <UsuarioPropuesto> {
                new UsuarioPropuesto {
                    valorEstadistico = 1
                },
                new UsuarioPropuesto {
                    valorEstadistico = 2
                },
                new UsuarioPropuesto {
                    valorEstadistico = 5
                },
                new UsuarioPropuesto {
                    valorEstadistico = 3
                },
                new UsuarioPropuesto {
                    valorEstadistico = 4
                },
            };

            this.up = new UsuarioPropuesto {
                cantidadObjetivosNoCumplidos        = 1,
                cantidadReconocimientos             = 2,
                promedioReconocimientosDeSuperiores = 2,
                porcentajeObjetivosCumplidos        = 0.6,
                promedioDeNivelObjetivosCumplidos   = 3,
                promedioNivelReconocimiento         = 3,
                emblemasRecibidos = 1
            };
        }
示例#2
0
        static public double calcularValorEstadistico(UsuarioPropuesto us, bool esJefe = false, Puesto puesto = null)
        {
            double valor = -(us.cantidadObjetivosNoCumplidos * 0.05);

            valor += us.cantidadReconocimientos * 0.1;

            if (esJefe)
            {
                valor += us.promedioReconocimientosDeSuperiores * 0.4;
                valor += us.porcentajeObjetivosCumplidos * 0.2;
                valor += us.promedioDeNivelObjetivosCumplidos * 0.2;
                valor += us.promedioNivelReconocimiento * 0.1;
            }
            else
            {
                valor += us.promedioReconocimientosDeSuperiores * 0.3;
                valor += us.porcentajeObjetivosCumplidos * 0.25;
                valor += us.promedioDeNivelObjetivosCumplidos * 0.25;
                valor += us.promedioNivelReconocimiento * 0.05;
            }

            if (us.emblemasRecibidos != 0)
            {
                valor += us.emblemasRecibidos * 0.3;
            }

            if (puesto != null && PuestoManager.obtener(us).id == puesto.id)
            {
                valor += 20;
            }

            us.valorEstadistico = System.Math.Round(valor, 2);

            return(us.valorEstadistico);
        }
示例#3
0
        // Devuelve un porcentaje de objetivos cumplidos
        static double calcularCumplidos(UsuarioPropuesto us)
        {
            var objetivosFinalizados = ObjetivoManager.obtenerFinalizados(us).Count;
            var objetivosCumplidos   = ObjetivoManager.objetivosCumplidos(us).Count;

            return(objetivosFinalizados > 0 ? (objetivosCumplidos * 100) / objetivosFinalizados : 0);
        }
示例#4
0
        // Devuelve el promedio del nivel de los reconocimientos recibidos de superiores durante los ultimos 3 meses
        static double calcularReconocimientosDeSuperiores(UsuarioPropuesto us)
        {
            var reconocimientos = ReconocimientoManager.obtenerRecibidosDeSuperiores(us);
            var sumNivel        = 0;

            foreach (Reconocimiento reconocimiento in reconocimientos)
            {
                sumNivel += reconocimiento.valoracion;
            }
            return(reconocimientos.Count > 0 ? sumNivel / reconocimientos.Count : 0);
        }
示例#5
0
        public UsuarioPropuesto castDto(SqlDataReader data)
        {
            UsuarioPropuesto result = new UsuarioPropuesto();

            result.id            = Convert.ToInt32(data["id"]);
            result.nombreUsuario = data["nombre_usuario"].ToString();
            result.nombre        = data["nombre"].ToString();
            result.apellido      = data["apellido"].ToString();
            result.mail          = data["mail"].ToString();

            return(result);
        }
示例#6
0
        // Devuelve un porcentaje de objetivos cumplidos por nivel de objetivo
        static double calcularCumplidosNivel(UsuarioPropuesto us)
        {
            var objetivosCumplidos = ObjetivoManager.objetivosCumplidos(us);

            double sumNivel = 0;

            foreach (Objetivo objetivoCumplido in objetivosCumplidos)
            {
                sumNivel += objetivoCumplido.nivelIssue;
            }

            return(objetivosCumplidos.Count > 0 ? (sumNivel / objetivosCumplidos.Count) : 0);
        }