lucaslencinas-zz / iasc-subastas

TP final de Arquitecturas Concurrentes
MIT License
0 stars 0 forks source link

Errores al cancelar subasta #9

Closed lucaslencinas-zz closed 8 years ago

lucaslencinas-zz commented 8 years ago

1)En subastas_controller

  def cancelar(conn, %{"subasta_id" => id}) do
    subasta = Repo.get!(Subasta, id) |> Repo.preload(:mejor_oferta)
    if subasta.mejor_oferta != nil do
      Repo.delete!(subasta.mejor_oferta)
    end
    changeset = Subasta.changeset(subasta, %{terminada: true})
    ...
  end

2)En subastas_worker,

def termina_subasta(subasta_id) do
    subasta = Repo.get!(Subasta, subasta_id) |> Repo.preload(:mejor_oferta)
    Logger.info"SubastaWorker> estado de la subasta antes del if #{subasta.terminada}..."
    if (not subasta.terminada) do
      changeset = Subasta.changeset(subasta, %{terminada: true})
      Repo.update(changeset)
      ....
   end
end

Si, saco el if de la segunda parte, la notificacion le llega a los clientes 2 veces. Al apretar el boton cancelar, y cuando termina el tiempo de la subasta. El caso que queremos, es que solo notifique cuando se apreta el boton de cancelar subasta, y que no diga nada cuando se termine el tiempo de la subasta.

pabloferro commented 8 years ago

@LucasLencinas subí un fix, si lo podés probar antes de cerrar el issue, mejor.