import { BaseOutput } from '~/core/entities/output/baseOutput';

export class WarehouseItemAllBorrowableOutput extends BaseOutput {
    /* tslint:disable variable-name */
    ID: number;
    DisplayName: string;
    UnitWithRegistrationNumber: string;
    City: string;
    ID_Unit: number;
    Unit: string;
    RentPrice: number;
    RentNote: string;
    InStock: boolean;
    ID_Document: number;
    ID_DocumentSmall: number;
    ID_DocumentBig: number;
    PhotoExtension: string;
    PhotoContent: string;

    expanded: boolean;
    // because of WarehouseItemReservationInsert
    ID_Warehouse: number;
    EstimatedStartDate: string;
    EstimatedEndDate: string;
    Person: string;
    Phone: string;
    Email: string;

    /* tslint:enable variable-name */

    constructor() {
        super();
        this.ID = null;
        this.DisplayName = null;
        this.UnitWithRegistrationNumber = null;
        this.City = null;
        this.ID_Unit = null;
        this.Unit = null;
        this.RentPrice = null;
        this.RentNote = null;
        this.InStock = null;
        this.ID_Document = null;
        this.ID_DocumentSmall = null;
        this.ID_DocumentBig = null;
        this.PhotoExtension = null;

        this.expanded = false;
        this.ID_Warehouse = null;
        this.EstimatedStartDate = null;
        this.EstimatedEndDate = null;
        this.Person = null;
        this.Phone = null;
        this.Email = null;
    }

    toFullString() {
        return `ID: ${this.ID}
DisplayName: ${this.DisplayName}
UnitWithRegistrationNumber: ${this.UnitWithRegistrationNumber}
City: ${this.City}
ID_Unit: ${this.ID_Unit}
Unit: ${this.Unit}
RentPrice: ${this.RentPrice}
RentNote: ${this.RentNote}
InStock: ${this.InStock}
ID_Document: ${this.ID_Document}
ID_DocumentSmall: ${this.ID_DocumentSmall}
ID_DocumentBig: ${this.ID_DocumentBig}
PhotoExtension: ${this.PhotoExtension}
expanded: ${this.expanded}
ID_Warehouse: ${this.ID_Warehouse}
EstimatedStartDate: ${this.EstimatedStartDate}
EstimatedEndDate: ${this.EstimatedEndDate}
Person: ${this.Person}
Phone: ${this.Phone}
Email: ${this.Email}`;
    }
}
