コード例 #1
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);
        }
コード例 #2
0
 public ServicioNecesidadValoraciones(TpDBContext context)
 {
     usuarioDao               = new UsuarioDao(context);
     necesidadesDAO           = new NecesidadesDAO(context);
     necesidadValoracionesDao = new NecesidadValoracionesDao(context);
     servicioNecesidad        = new ServicioNecesidad(context);
 }
コード例 #3
0
 public ServicioNecesidad(TpDBContext context)
 {
     necesidadesDAO                     = new NecesidadesDAO(context);
     contexto                           = context;
     necesidadesReferenciasDao          = new NecesidadesReferenciasDao(context);
     necesidadesDonacionesInsumosDao    = new NecesidadesDonacionesInsumosDAO(context);
     necesidadesDonacionesMonetariasDAO = new NecesidadesDonacionesMonetariasDAO(context);
 }
コード例 #4
0
        public bool necesidadEvaluada(int idNecesidad, bool estado)
        {
            ServicioNecesidad servicioNecesidad = new ServicioNecesidad();
            NecesidadesDAO    necesidadesDAO    = new NecesidadesDAO();

            if (estado) //True es para dejarla bloqueada/Inactiva a la Necesidad
            {
                Denuncias denunciaObtenida = denunciasDao.obtenerDenunciaPorIdNecesidad(idNecesidad);
                if (denunciaObtenida == null)
                {
                    return(false);
                }

                //Pongo la necesidad en estado inactivo
                denunciaObtenida.Necesidades.Estado = 0;
                //Actualizo el estado
                Denuncias denunciaActualizada = denunciasDao.Actualizar(denunciaObtenida);
                //Elimino la denuncia realizada
                denunciasDao.Eliminar(denunciaObtenida);

                if (denunciaActualizada == null)
                {
                    return(false);
                }
            }
            else //Al ser false, esta necesidad no le deberia volver a aparecer al Administrador
            {
                Denuncias denunciaObtenida = denunciasDao.obtenerDenunciaPorIdNecesidad(idNecesidad);
                if (denunciaObtenida == null)
                {
                    return(false);
                }

                denunciasDao.Eliminar(denunciaObtenida);
            }


            return(true);
        }
コード例 #5
0
 public ServicioNecesidadesMonetarias(TpDBContext context)
 {
     necesidadesDAO    = new NecesidadesDAO(context);
     MonetariasDAO     = new NecesidadesDonacionesMonetariasDAO(context);
     servicioNecesidad = new ServicioNecesidad(context);
 }
コード例 #6
0
 public ServicioDenuncia(TpDBContext context)
 {
     denunciasDao      = new DenunciasDao(context);
     servicioNecesidad = new ServicioNecesidad(context);
     necesidadesDAO    = new NecesidadesDAO(context);
 }
コード例 #7
0
 //  ServicioNecesidadValoraciones servicioNecesidadValoraciones;
 public ServicioNecesidad(TpDBContext context)
 {
     necesidadesDAO = new NecesidadesDAO(context);
     contexto       = context;
     // servicioNecesidadValoraciones = new ServicioNecesidadValoraciones(context);
 }
        public bool guardarValoracion(int idUsuario, int idNecesidad, string botonRecibido)
        {
            UsuarioDao               usuarioDao               = new UsuarioDao();
            NecesidadesDAO           necesidadesDAO           = new NecesidadesDAO();
            NecesidadValoracionesDao necesidadValoracionesDao = new NecesidadValoracionesDao();

            //Obtengo Usuario y Necesidad
            Usuarios    usuarioObtenido   = usuarioDao.ObtenerPorID(idUsuario);
            Necesidades necesidadObtenida = necesidadesDAO.ObtenerPorID(idNecesidad);

            //Valido si es que antes le dio Like or Dislike
            NecesidadesValoraciones necesidadRegistrada = necesidadValoracionesDao.obtenerNecesidadValoracionPor_IDUsuario_e_IdNecesidad(idUsuario, idNecesidad);

            if (necesidadRegistrada != null)
            {
                NecesidadesValoraciones valoracionObtenidaBD = new NecesidadesValoraciones();
                if (botonRecibido == "Like")
                {
                    if (necesidadRegistrada.IdNecesidad == idNecesidad)
                    {
                        if (necesidadRegistrada.Valoracion == "Like") //Si el estado en la BD tenia su MG, se lo remueve para que no quede el boton seleccionado
                        {
                            necesidadRegistrada.Valoracion = "Undefined";
                            valoracionObtenidaBD           = necesidadValoracionesDao.Actualizar(necesidadRegistrada);

                            if (valoracionObtenidaBD == null)
                            {
                                return(false);
                            }
                        }
                        else if (necesidadRegistrada.Valoracion != "Like") //Si el estado en la BD tenia su MG removido, se lo vuelve a poner en MG, para que quede el boton seleccionado
                        {
                            necesidadRegistrada.Valoracion = "Like";
                            valoracionObtenidaBD           = necesidadValoracionesDao.Actualizar(necesidadRegistrada);

                            if (valoracionObtenidaBD == null)
                            {
                                return(false);
                            }
                        }
                    }
                }
                else if (botonRecibido == "Dislike")
                {
                    if (necesidadRegistrada.IdNecesidad == idNecesidad)
                    {
                        if (necesidadRegistrada.Valoracion == "Dislike") //Si el estado en la BD tenia su Dislike, se lo remueve para que no quede el boton seleccionado
                        {
                            necesidadRegistrada.Valoracion = "Undefined";
                            valoracionObtenidaBD           = necesidadValoracionesDao.Actualizar(necesidadRegistrada);

                            if (valoracionObtenidaBD == null)
                            {
                                return(false);
                            }
                        }
                        else if (necesidadRegistrada.Valoracion != "Dislike") //Si el estado en la BD tenia su MG removido, se lo vuelve a poner en MG, para que quede el boton seleccionado
                        {
                            necesidadRegistrada.Valoracion = "Dislike";
                            valoracionObtenidaBD           = necesidadValoracionesDao.Actualizar(necesidadRegistrada);

                            if (valoracionObtenidaBD == null)
                            {
                                return(false);
                            }
                        }
                    }
                }
            }
            else //Es decir, nunca le habia dado MG a esa publicacion
            {
                //Asigno datos al objeto Necesidad Valoraciones
                NecesidadesValoraciones necesidadesValoraciones = new NecesidadesValoraciones();
                necesidadesValoraciones.IdUsuario   = usuarioObtenido.IdUsuario;
                necesidadesValoraciones.IdNecesidad = necesidadObtenida.IdNecesidad;
                // necesidadesValoraciones.Usuarios = usuarioObtenido;
                //necesidadesValoraciones.Necesidades = necesidadObtenida;
                necesidadesValoraciones.Valoracion = (botonRecibido == "Like") ? "Like" : (botonRecibido == "Dislike") ? "Dislike" : null;


                NecesidadesValoraciones valoracionObtenida = necesidadValoracionesDao.Crear(necesidadesValoraciones);



                //  NecesidadesValoraciones valoracionObtenida = necesidadValoracionesDao.Crear(usuarioObtenido, necesidadObtenida);

                if (valoracionObtenida == null)
                {
                    return(false);
                }
            }
            ServicioNecesidad servicioNecesidad = new ServicioNecesidad();

            Necesidades necesidadValorada = servicioNecesidad.calcularValoracion(necesidadObtenida);

            if (necesidadValorada == null)
            {
                return(false);
            }
            return(true);
        }
コード例 #9
0
 public ServicioUsuario(TpDBContext context)
 {
     usuarioDao     = new UsuarioDao(context);
     necesidadesDAO = new NecesidadesDAO(context);
     denunciasDao   = new DenunciasDao(context);
 }
コード例 #10
0
 public ServicioNecesidadesInsumos(TpDBContext context)
 {
     insumosDAO        = new NecesidadesDonacionesInsumosDAO(context);
     necesidadesDAO    = new NecesidadesDAO(context);
     servicioNecesidad = new ServicioNecesidad(context);
 }