use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Help qw(Do DoFn);
use Loader qw(line_in log_update set_tarifacct_tarif edit_tarifacct);

sub add_tarifacct($;$) {
	my($id,$kn) = @_;

	my $tid;
	while(1) {
		$tid = line_in "ID: ";
		next tarift if $tid eq "";
		if ($id ? 
				DoFn("select id from tarifacct where id = $tid and (kunde is null or kunde = $id)") :
				DoFn("select count(*) from tarifacct where id = $tid")
				) {
			print "ID $tid wird bereits verwendet!\n";
			return undef;
		} else {
			last;
		}
	}
	log_update("tarifacct","kunde",$id,undef,"id","*",undef,$tid);
	if($id > 0) {
		log_update("kunde","id",$id,undef,"tarifacct","*",undef, $tid);
	}
	Do("insert into tarifacct set id=$tid, kunde=${\($id||'NULL')}, beginn=UNIX_TIMESTAMP(NOW()), dienst=NULL, ziel=NULL, quelle=NULL, faktor=100, direkt='-'");
	log_update("kunde","id",$id,undef,"tarifacct",undef,$tid);
	Do("update kunde set geaendert=UNIX_TIMESTAMP(NOW()) where id=$id") if $id > 0;

	edit_tarifacct($tid,$id,$kn);
}
1;
