const String Voucher_tableName = 'vouches';
const String Voucher_columnId = 'id';
const String Voucher_columnName = 'name';
const String Voucher_columnTotal = 'total';
const String Voucher_columnBase64Data = 'base64Data';
const String Voucher_columnData = 'data';
const String Voucher_columnDateTime = 'dateTime';
const String Voucher_columnAppCompanyId = 'app_company_id';
const String Voucher_columnKassaId = 'kassaId';
const String Voucher_columnType = 'type';
const String Voucher_columnUrl = 'url';


const String VoucherTypePayment = 'payment';
const String VoucherTypeReturnPay = 'returnPay';
const String VoucherTypeReport = 'report';
const String VoucherTypeCloseDayPosReport = 'closeDayPosReport';

class Voucher {
  int? id;
  String? name;
  double? total;
  String? data;
  String? base64Data;
  DateTime? dateTime;
  int? appCompanyId;
  int? kassaId;
  String? type;
  String? url;

  Voucher();

  Map<String, dynamic> toMap() {
    var map = <String, dynamic>{
      Voucher_columnName: name,
      Voucher_columnTotal: total,      
      Voucher_columnData: data,
      Voucher_columnBase64Data: base64Data,
      Voucher_columnDateTime: dateTime?.toIso8601String(),
      Voucher_columnKassaId: kassaId,
      Voucher_columnAppCompanyId: appCompanyId,
      Voucher_columnType: type,
      Voucher_columnUrl: url,
    };
    if (id != null) {
      map[Voucher_columnId] = id;
    }
    return map;
  }

  Voucher.fromMap(Map<dynamic, dynamic> map) {
    id = map[Voucher_columnId];
    name = map[Voucher_columnName];
    total = map[Voucher_columnTotal]?.toDouble();
    data = map[Voucher_columnData];
    base64Data = map[Voucher_columnBase64Data];
    dateTime = DateTime.parse(map[Voucher_columnDateTime]);
    appCompanyId= map[Voucher_columnAppCompanyId];
    kassaId = map[Voucher_columnKassaId];
    type = map[Voucher_columnType];
    url = map[Voucher_columnUrl];
  }

}

