import { Contribution } from "./contribution.model";
import { HappinessBEST, HappinessWeek } from "./HappinessGroup";
import { FamilyMember } from "./Member";

export enum DomainType {
    CellGroup,
    HappinessGroup,
    CellGroupCoworker,
    ChurchCoworker,
    Administrator = 99
}

export interface PastoralDomain {
    id: string;
    name: string;
    description: string;
    image1: string;
    image2: string;
    image3: string;
    image4: string;
    image5: string;
    leaderMemberId: string;
    leader: FamilyMember;
    familyMembers: FamilyMember[];

    lineGroupId: string;
    lineAccountId: string;

    bests: HappinessBEST[];
    happinessWeeks: HappinessWeek[];
    contributions: Contribution[];

    serviceAddress: AddressInfo;
    type: DomainType;
    serviceTime: Date;
}
export class DomainMemberRelationship {
    constructor(pastoralDomainId: string, familyMemberId: string) {
        this.pastoralDomainId = pastoralDomainId
        this.familyMemberId = familyMemberId
    }

    pastoralDomainId: string;
    familyMemberId: string;
}
export class AddressInfo {
    /**
     *
     */
    constructor() {
        this.id = "new";
        this.address = "";
        this.city = "";
        this.zip = "";
    }
    id: string;
    address: string;
    city: string;
    state: string;
    zip: string;
}