import { BaseInput } from '~/core/entities/input/baseInput';
import { BaseOutput } from '~/core/entities/output/baseOutput';
export class EventCampInsert extends BaseInput {
    constructor(
        public ID: number = undefined,
        public ID_Login: string = undefined,
        public DisplayName: string = undefined,
        public ID_Unit: number = undefined,
        public Region: string = undefined,
        public ID_Region: number = undefined,
        public StartDate: string = undefined,
        public EndDate: string = undefined,
        public GpsLatitude: number = undefined,
        public GpsLongitude: number = undefined,
        public Location: string = undefined,
        public Note: string = undefined,
        public MobileContact: string = undefined,
        public Postcode: string = undefined,
        public IsFloodArea: boolean = undefined,
        // public IsRecovering: boolean = undefined,
        // public CampType: string = undefined,
        public ID_CampPlace: number = undefined,
        public ID_UnitArray: string[] = undefined,
        public ID_CampTypeArray: string[] = undefined,
        public ID_Group: number = undefined,
        // public ID_EventType: string = undefined,
        // public UnitLocation: string = undefined,
        // public ID_Event: number = undefined,
        // public ID_EventCampState: string = undefined,
        // public ID_UserCreate: number = undefined,
        // public PersonStatutory: string = undefined,
        // public Unit: string = undefined,
        // public RegistrationNumber: string = undefined,
        // public ID: number = undefined,
        // public DateCreate: string = undefined,
        // public CancelDecision: string = undefined,
        // public EventCampState: string = undefined,
        // public RegistrationDeadline: string = undefined,
        // public MobileContactDisplay: string = undefined,
        // public Units: string = undefined,
        // public IsAutoComputed: boolean = undefined,
        // public ID_PersonApproved: number = undefined,
        // public PersonApproved: string = undefined,
        // public DateApproved: string = undefined,
        // public ID_PersonApprovedParent: number = undefined,
        // public PersonApprovedParent: string = undefined,
        // public GpsLatitudeText: string = undefined,
        // public DateApprovedParent: string = undefined,
        // public GpsLongitudeText: string = undefined,
        // public DateApprovedExecutive: string = undefined,
        // public TotalDays: number = undefined,
        // public EstimateChild: number = undefined,
        // public EstimateAdult: number = undefined,
        // public EstimateCount: number = undefined,
        // public EstimateChildDays: number = undefined,
        // public EstimatePersonDays: number = undefined,
        // public IsAutoComputedDays: boolean = undefined,
        // public RealTotalCost: number = undefined,
        // public IsRealTotalCostAutoComputed: boolean = undefined,
        // public IsRealAutoComputed: boolean = undefined,
        // public IsRealAutoComputedDays: boolean = undefined,
        // public ID_PersonReal: number = undefined,
        // public PersonReal: string = undefined,
        // public DateReal: string = undefined,
        // public RealAdult: number = undefined,
        // public RealChild: number = undefined,
        // public RealCount: number = undefined,
        // public RealChildDays: number = undefined,
        // public RealPersonDays: number = undefined,
        // public HasEstimateStatement: boolean = undefined,
        // public ID_PersonLeader: number = undefined,
        // public PersonLeader: string = undefined,
        // public PersonLeaderFirstName: string = undefined,
        // public PersonLeaderLastName: string = undefined,
        // public PersonLeaderCivilName: string = undefined,
        // public LeaderPhone: string = undefined,
        // public LeaderPhoneDisplay: string = undefined,
        // public LeaderEmail: string = undefined,
        // public LeaderEmailDisplay: string = undefined,
        // public LeaderCity: string = undefined,
        // public Profit: number = undefined,
        // public ProfitComputed: number = undefined,
        // public ProfitComputedEstimation: number = undefined,
        // public CampPlace: string = undefined,
        /* tslint:enable: variable-name */
    ) {
        super();
        this.wrapper = "eventCamp";
        if (!this.GpsLatitude)
            delete this.GpsLatitude
        if (!this.GpsLongitude)
            delete this.GpsLongitude

    }
}

export class EventCampUpdate extends EventCampInsert {
    constructor(...args) {
        super(...args)
    }
}

export class RegionOutput extends BaseOutput {
    /* tslint:disable: variable-name */
    constructor(
        public ID: number = 0,
        public IsActive: boolean = false,
        public DisplayName: string = '',
        public ZfoValue: number = 0,
        public Note: string = '',
        /* tslint:enable: variable-name */
    ) {
        super();
    }
}
export class CampTypeOutput extends BaseOutput {
    /* tslint:disable: variable-name */
    constructor(
        public ID: string = '',
        public DisplayName: string = '',
        public SortName: string = '',
        public RegistrationNumber: string = '',
        /* tslint:enable: variable-name */
    ) {
        super();
    }
}
export class UnitCampOutput extends BaseOutput {
    /* tslint:disable: variable-name */
    constructor(
        public ID: number = 0,
        public DisplayName: string = '',
        public SortName: string = '',
        public RegistrationNumber: string = '',
        /* tslint:enable: variable-name */
    ) {
        super();
    }
}
export class CampPlaceOutput extends BaseOutput {
    /* tslint:disable: variable-name */
    constructor(
        public ID: string = '',
        public DisplayName: string = '',
        public Note: string = '',
        /* tslint:enable: variable-name */
    ) {
        super();
    }
}
export class UnitOutput extends BaseOutput {
    /* tslint:disable: variable-name */
    constructor(
        public ID: number = 0,
        public ID_Group: number = 0,
        public ID_UnitType: string = '',
        public UnitType: string = '',
        public DisplayName: string = '',
        public SortName: string = '',
        public RegistrationNumber: string = '',
        public ShortRegistrationNumber: string = '',
        public Location: string = '',
        public IC: string = '',
        public DIC: string = '',
        public Street: string = '',
        public PostalState: string = '',
        public City: string = '',
        public Postcode: string = '',
        public State: string = '',
        public PostalFirstLine: string = '',
        public PostalStreet: string = '',
        public PostalCity: string = '',
        public PostalPostcode: string = '',
        public Note: string = '',
        public FullDisplayName: string = '',
        /* tslint:enable: variable-name */
    ) {
        super();
    }
}

export class EventCampDelete extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        public ID: number = 0,
        /* tslint:enable: variable-name */

    ) {
        super();
    }
}
export class EventCampRegionAll extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        public DisplayName: string = '',
        /* tslint:enable: variable-name */

    ) {
        super();
    }
}
export class CampTypeAll extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        public DisplayName: string = undefined,
        /* tslint:enable: variable-name */

    ) {
        super();
    }
}
export class CampPlaceAll extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        public DisplayName: string = undefined,
        /* tslint:enable: variable-name */

    ) {
        super();
    }
}
export class UnitAllCamp extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        /* tslint:enable: variable-name */

    ) {
        super();
    }
}


