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

export class WarehouseDetailOutput extends BaseOutput {
    /* tslint:disable variable-name */
    ID: number;
    DisplayName: string;
    ID_WarehouseType: string;
    WarehouseType: string;
    ID_Unit: number;
    Unit: string;
    UnitFullName: string;
    ID_WarehouseMain: number;
    WarehouseMain: string;
    Street: string;
    City: string;
    ID_District: number;
    District: string;
    Postcode: string;
    GpsLatitude: number;
    GpsLongitude: number;
    Note: string;
    IsEnabled: boolean;
    RegistrationNumber: string;
    ID_Event: number;
    IsDefault: boolean;
    CanUpdate: boolean;
    ID_UnitCentral: number;
    UnitCentralFullName: string;
    UnitCentralRegistrationNumber: string;
    /* tslint:enable variable-name */

    constructor() {
        super();
        this.ID = 0;
        this.DisplayName = '';
        this.ID_WarehouseType = '';
        this.WarehouseType = '';
        this.ID_Unit = 0;
        this.Unit = '';
        this.UnitFullName = '';
        this.ID_WarehouseMain = 0;
        this.WarehouseMain = '';
        this.Street = '';
        this.City = '';
        this.ID_District = 0;
        this.District = '';
        this.Postcode = '';
        this.GpsLatitude = 0;
        this.GpsLongitude = 0;
        this.Note = '';
        this.IsEnabled = false;
        this.RegistrationNumber = '';
        this.ID_Event = null;
        this.IsDefault = false;
        this.CanUpdate = false;
        this.ID_UnitCentral = 0;
        this.UnitCentralFullName = '';
        this.UnitCentralRegistrationNumber = '';
    }

    toFullString() {
        return `
        ID: ${this.ID}
        DisplayName: ${this.DisplayName}
        ID_WarehouseType: ${this.ID_WarehouseType}
        WarehouseType: ${this.WarehouseType}
        ID_Unit: ${this.ID_Unit}
        Unit: ${this.Unit}
        UnitFullName: ${this.UnitFullName}
        ID_WarehouseMain: ${this.ID_WarehouseMain}
        WarehouseMain: ${this.WarehouseMain}
        Street: ${this.Street}
        City: ${this.City}
        ID_District: ${this.ID_District}
        District: ${this.District}
        Postcode: ${this.Postcode}
        GpsLatitude: ${this.GpsLatitude}
        GpsLongitude: ${this.GpsLongitude}
        Note: ${this.Note}
        IsEnabled: ${this.IsEnabled}
        RegistrationNumber: ${this.RegistrationNumber}
        ID_Event: ${this.ID_Event}
        IsDefault: ${this.IsDefault}
        CanUpdate: ${this.CanUpdate}`;
    }
}
