public void VerificarFechaFinDeNecesidades() { List <Necesidades> necesidadesVencidas = necesidadesDAO.ListarNecesidadesVencidasActivas(); foreach (var item in necesidadesVencidas) { item.Estado = (int)TipoEstadoNecesidad.Finalizada; necesidadesDAO.Actualizar(item); } }
/// <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); }
/// <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); }
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); } } }