<?php

class avv extends client
{
  public function showAvvDataByKundenId($kundenId)
  {
    $db                               = $this->Database;
    $sql                              = 'SELECT * FROM avv WHERE kunden_id = :kunden_id ORDER BY angaben_firma ASC';
    $db->query($sql);
    $db->bind(':kunden_id', $kundenId);
    return $db->resultset();
  }
  
  public function showAvvByAvvId($id)
  {
    $db                               = $this->Database;
    $sql                              = 'SELECT * FROM avv WHERE id = :id';
    $db->query($sql);
    $db->bind(':id', $id);
    return $db->single();
  }
  
  public function saveNewAvvText($values)
  {
    $insertArray                      = array(
        'kunden_id'                             => $values['kunden_id'],
        'vertragsgegenstand'                    => makeHtmlEntities($values['vertragsgegenstand']),
        'ansprechpartner_b_auftragnehmer'       => makeHtmlEntities($values['ansprechpartner_b_auftragnehmer']),
        'angaben_firma'                         => makeHtmlEntities($values['angaben_firma']),
        'angaben_anrede'                        => makeHtmlEntities($values['angaben_anrede']),
        'angaben_titel'                         => makeHtmlEntities($values['angaben_titel']),
        'angaben_vorname'                       => makeHtmlEntities($values['angaben_vorname']),
        'angaben_nachname'                      => makeHtmlEntities($values['angaben_nachname']),
        'angaben_str_nr'                        => makeHtmlEntities($values['angaben_str_nr']),
        'angaben_plz'                           => makeHtmlEntities($values['angaben_plz']),
        'angaben_ort'                           => makeHtmlEntities($values['angaben_ort']),
        'angaben_email'                         => makeHtmlEntities($values['angaben_email']),
        'angaben_telefon'                       => makeHtmlEntities($values['angaben_telefon']),
        'bemerkung'                             => makeHtmlEntities($values['bemerkung']),
        'rechtsgrundlage_f_d_datenverabeitung'  => $values['rechtsgrundlage_f_d_datenverabeitung'],
        'stand_der_verhandung'                  => $values['stand_der_verhandung'],
        'vertragsform'                          => makeHtmlEntities($values['vertragsform']),
        'letzte_tom_pruefung'                   => makeSystemDate($values['letzte_tom_pruefung']),
        'zeichnungsdatum'                       => makeSystemDate($values['zeichnungsdatum']),
        'gehoert_zu_verfahren'                  => makeHtmlEntities($values['gehoert_zu_verfahren']),
        'verhandlungsverlauf'                   => makeHtmlEntities($values['verhandlungsverlauf']),
        'angelegt'                              => time(),
        'belong_to_user_uuid'                   => $_SESSION[ALLOW],
    );
    return pdoDbInsert("avv", $insertArray);
  }
  
  public function saveUpdateAvvText($values)
  {
    $updateArray                      = array(
        'vertragsgegenstand'                    => makeHtmlEntities($values['vertragsgegenstand']),
        'ansprechpartner_b_auftragnehmer'       => makeHtmlEntities($values['ansprechpartner_b_auftragnehmer']),
        'angaben_firma'                         => makeHtmlEntities($values['angaben_firma']),
        'angaben_anrede'                        => makeHtmlEntities($values['angaben_anrede']),
        'angaben_titel'                         => makeHtmlEntities($values['angaben_titel']),
        'angaben_vorname'                       => makeHtmlEntities($values['angaben_vorname']),
        'angaben_nachname'                      => makeHtmlEntities($values['angaben_nachname']),
        'angaben_str_nr'                        => makeHtmlEntities($values['angaben_str_nr']),
        'angaben_plz'                           => makeHtmlEntities($values['angaben_plz']),
        'angaben_ort'                           => makeHtmlEntities($values['angaben_ort']),
        'angaben_email'                         => makeHtmlEntities($values['angaben_email']),
        'angaben_telefon'                       => makeHtmlEntities($values['angaben_telefon']),
        'bemerkung'                             => makeHtmlEntities($values['bemerkung']),
        'rechtsgrundlage_f_d_datenverabeitung'  => $values['rechtsgrundlage_f_d_datenverabeitung'],
        'stand_der_verhandung'                  => $values['stand_der_verhandung'],
        'vertragsform'                          => makeHtmlEntities($values['vertragsform']),
        'letzte_tom_pruefung'                   => makeSystemDate($values['letzte_tom_pruefung']),
        'zeichnungsdatum'                       => makeSystemDate($values['zeichnungsdatum']),
        'gehoert_zu_verfahren'                  => makeHtmlEntities($values['gehoert_zu_verfahren']),
        'verhandlungsverlauf'                   => makeHtmlEntities($values['verhandlungsverlauf']),
        'angelegt'                              => time(),
    );
    $whereCause                             = 'id = :id';
    $whereVal                               = $values['avv_id'];
    pdoDbUpdate("avv", $updateArray, $whereCause, $whereVal);
  }
  
  public function dropdownAvvLegalBasis()
  {
    $dropdownArray                              = array(
        'Auftragsverarbeitung Art. 28 DSGVO'            => 1,
        'Datenübermittlung Art. 6 (1) lit f. DSGVO'     => 2,
        'Gemeinsame Verantwortung Art. 25 DSGVO'        => 3,
        'EU-Standardvertrag'                            => 4,
        'Sonstige Grundelage (siehe Bemerkung)'         => 5,
    );
    return $dropdownArray;
  }
  
  public function dropdownAvvContract()
  {
    $dropdownArray                              = array(
        'kein Datenschutzkonformer Vertrag'                 => 1,
        'kein Vertrag, Auftraggeber angeschrieben'          => 2,
        'Vertrag verhandelt, zur Unterschrift bei Verantw.' => 3,
        'Vertrag gezeichnet'                                => 4,
        'Vertrag beendet'                                   => 5,
    );
    return $dropdownArray;
  }
  
  public function deleteAvvTextKunden($id)
  {
    $db                               = $this->Database;
    $sql                              = 'DELETE FROM avv WHERE id = :id';
    $db->query($sql);
    $db->bind(':id', $id);
    return $db->execute();
  }
}

