package de.ivu.elect.presentation.wahl.form;

import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.business.wahl.entity.WahlProperties;
import de.ivu.elect.business.wahl.entity.Wahlart;
import de.ivu.elect.jee.presentation.dynamicform.Property;


import static java.util.Objects.nonNull;

/**
 *  on 26.07.2016.
 */
public class AutoUpdateQuorumProperty extends WahlProperties.QuorumProzenthuerdeProperty {

  public AutoUpdateQuorumProperty(Wahl wahl) {
    super(wahl);

//    setVisible(isWahlartReferendum(wahl.getWahlart()));
  }


//  @Override
//  public void setVisible(boolean visible) {
//    super.setVisible(visible);
//
//    setRequired(visible && getDefaultRequired());
//  }

  @Override
  public void onObservedPropertyValueChanged(Property observedProperty) {
    // setValue(BigDecimal.ZERO);
    // setVisible(containsWahlartReferendum(observedProperty));
  }



  private boolean containsWahlartReferendum(Property observedProperty) {
    if (observedProperty instanceof ConversationStoreWahlartSelectOneMenuProperty) {
      return isWahlartReferendum(((ConversationStoreWahlartSelectOneMenuProperty) observedProperty).getValue());
    }

    return false;
  }

  private boolean isWahlartReferendum(Wahlart wahlart) {
    return nonNull(wahlart) && wahlart.isReferendum();
  }
}
