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

export class WarehouseAllOutput extends BaseOutput {
    /* tslint:disable variable-name */
    ID: number;
    DisplayName: string;
    ID_WarehouseMain: string;
    ID_UnitWarehouseMain: number;
    ID_Unit: string;

    RegistrationNumber: string;
    ID_WarehouseType: string;
    IsEnabled: boolean;
    ID_Event: number;
    IsDefault: boolean;
    Postcode: string;
    Street: string;
    City: string;
    ID_District: number;
    GpsLatitude: number;
    GpsLongitude: number;
    Note: string;
    CanUpdate: boolean;

    willBeInInventory: boolean;
    /* tslint:enable variable-name */

    constructor() {
        super();
        this.ID = null;
        this.DisplayName = '';
        this.ID_WarehouseMain = null;
        this.ID_UnitWarehouseMain = null;
        this.ID_Unit = null;

        this.RegistrationNumber = '';
        this.ID_WarehouseType = '';
        this.IsEnabled = false;
        this.ID_Event = null;
        this.IsDefault = false;
        this.Postcode = '';
        this.Street = '';
        this.City = '';
        this.ID_District = null;
        this.GpsLatitude = null;
        this.GpsLongitude = null;
        this.Note = '';
        this.CanUpdate = false;

        this.willBeInInventory = false;
    }

    toString() {
        return this.DisplayName + ' ' + this.ID;
    }

    toFullString() {
        return `ID: ${this.ID}
DisplayName: ${this.DisplayName}
ID_WarehouseMain: ${this.ID_WarehouseMain}
ID_Unit: ${this.ID_Unit}

RegistrationNumber: ${this.RegistrationNumber}
ID_WarehouseType: ${this.ID_WarehouseType}
IsEnabled: ${this.IsEnabled}
ID_Event: ${this.ID_Event}
IsDefault: ${this.IsDefault}
Street: ${this.Street}
City: ${this.City}
ID_District: ${this.ID_District}
GpsLatitude: ${this.GpsLatitude}
GpsLongitude: ${this.GpsLongitude}
Note: ${this.Note}
CanUpdate: ${this.CanUpdate}`;
    }
}
