
package de.ivu.elect.business.exchange.entity;

import java.io.Serializable;

import de.ivu.elect.jee.exchange.Violations;
import de.ivu.elect.jee.exchange.ImportOptions;

public class ImportUpdateReport implements Serializable {

  private static final long serialVersionUID = 1L;

  private final Violations violations;
  private final int nurInDatei;
  private final int nurInDatenbank;
  private final int inDateiUndInDatenbank;
  private final int inDatenbankNachher;
  private final ImportOptions importOptions;
  private final StringBuilder bericht;

  public ImportUpdateReport(Violations violations, int nurInDatei, int nurInDatenbank, int inDateiInDatenbank,
      ImportOptions importOptions, StringBuilder bericht) {
    super();
    this.violations = violations;
    this.nurInDatei = nurInDatei;
    this.nurInDatenbank = nurInDatenbank;
    this.inDateiUndInDatenbank = inDateiInDatenbank;
    this.importOptions = importOptions;
    int nachher = inDateiInDatenbank;
    if (importOptions.isImportDatenUebernehmenWennNichtBereitsVorhanden()) {
      nachher += nurInDatei;
    }
    if (!importOptions.isLoescheBestehendenDatenWennNichtInImportDatenVorhanden()) {
      nachher += nurInDatenbank;
    }
    this.inDatenbankNachher = nachher;
    this.bericht = bericht;
  }

  public Violations getViolations() {
    return violations;
  }

  public int getInDateiUndInDatenbank() {
    return inDateiUndInDatenbank;
  }

  public int getNurInDatei() {
    return nurInDatei;
  }

  public int getNurInDatenbank() {
    return nurInDatenbank;
  }

  public int getInDatenbankNachher() {
    return inDatenbankNachher;
  }

  public ImportOptions getImportOptions() {
    return importOptions;
  }

  public StringBuilder getBericht() {
    return bericht;
  }
}
