예제 #1
0
        public void VerificarFechaFinDeNecesidades()
        {
            List <Necesidades> necesidadesVencidas = necesidadesDAO.ListarNecesidadesVencidasActivas();

            foreach (var item in necesidadesVencidas)
            {
                item.Estado = (int)TipoEstadoNecesidad.Finalizada;
                necesidadesDAO.Actualizar(item);
            }
        }
예제 #2
0
        /// <summary>
        /// Algoritmo que calcula la valoracion de la necesidad
        /// </summary>
        /// <param name="necesidad"></param>
        /// <returns>Necesidades</returns>
        public Necesidades calcularValoracion(Necesidades necesidad)
        {
            ServicioNecesidadValoraciones servicioNecesidadValoraciones = new ServicioNecesidadValoraciones(contexto);

            List <NecesidadesValoraciones> valoracionesObtenidas = servicioNecesidadValoraciones.obtenerValoracionesPorIDNecesidad(necesidad.IdNecesidad);
            decimal cantidadLikes        = 0;
            decimal cantidadDeVotaciones = valoracionesObtenidas.Count;
            decimal resultado            = 0;

            //   foreach (var item in valoracionesObtenidas)
            foreach (var item in necesidad.NecesidadesValoraciones)
            {
                if (item.Valoracion == "Like")
                {
                    cantidadLikes++;
                }
                resultado = (cantidadLikes / cantidadDeVotaciones * 100);
            }

            necesidad.Valoracion = Math.Round(resultado, 2);

            // necesidad.Valoracion = valoracion;


            Necesidades necesidadBD = necesidadesDAO.Actualizar(necesidad);

            if (necesidadBD == null)
            {
                return(null);
            }
            return(necesidadBD);
        }
예제 #3
0
        /// <summary>
        /// Algoritmo que calcula la valoracion de la necesidad
        /// </summary>
        /// <param name="necesidad"></param>
        /// <returns>Necesidades</returns>
        public Necesidades calcularValoracion(Necesidades necesidad)
        {
            ServicioNecesidadValoraciones  servicioNecesidadValoraciones = new ServicioNecesidadValoraciones();
            List <NecesidadesValoraciones> valoracionesObtenidas         = servicioNecesidadValoraciones.obtenerValoracionesPorIDNecesidad(necesidad.IdNecesidad);
            decimal cantidadLikes        = 0;
            decimal cantidadDeVotaciones = valoracionesObtenidas.Count;

            foreach (var item in valoracionesObtenidas)
            {
                if (item.Valoracion == "Like")
                {
                    cantidadLikes++;
                }
            }

            decimal valoracion = cantidadLikes * cantidadDeVotaciones / 100;

            necesidad.Valoracion = valoracion;

            NecesidadesDAO necesidadesDAO = new NecesidadesDAO();
            Necesidades    necesidadBD    = necesidadesDAO.Actualizar(necesidad);

            if (necesidadBD == null)
            {
                return(null);
            }
            return(necesidadBD);
        }
예제 #4
0
        public void EvaluarCantidadDenunciasDeNecesidad(int idNecesidad)
        {
            Necesidades necesidad          = necesidadesDAO.ObtenerPorID(idNecesidad);
            List <int>  idsUsuarioDenuncia = new List <int>();

            foreach (var denuncia in necesidad.Denuncias)
            {
                if (!denuncia.Estado.Equals((int)TipoEstadoDenuncia.Revisada))
                {
                    idsUsuarioDenuncia.Add(denuncia.IdUsuario);
                }
            }

            if (idsUsuarioDenuncia.Count != 0)
            {
                IEnumerable <int> idsUsuarioDenunciaSinDuplicados = idsUsuarioDenuncia.Distinct();
                if (idsUsuarioDenunciaSinDuplicados.Count() == 5)
                {
                    necesidad.Estado = (int)TipoEstadoNecesidad.Revision; // 3 revision
                                                                          //Actualizo el estado
                    necesidadesDAO.Actualizar(necesidad);
                }
            }
        }