Skip to content
Snippets Groups Projects
Select Git revision
  • 227a202834c1b955b2a6b0bf11a56dec5ca438f6
  • master default
  • autorisation_visit
  • signup_mydata
  • format_editData
  • dev
  • authorize-valid-profile
  • feli90-patch-2
  • feli90-patch-1
  • context_sheet
  • testNewForm
  • FeliLocalTest1
  • ios-account-fix
  • change-form-link
  • dev_pages_projet
  • remise_sorties
  • release/first-users
17 results

personal-data.model.ts

Blame
  • user avatar
    Arthur Guédon authored
    227a2028
    History
    personal-data.model.ts 2.80 KiB
    import { User, UserAdapter, IAdapter } from 'app/core';
    
    export class PersonalDataSchema {
        
        
        user_id: string;
        url : string;
        firstName:string;
        lastName: string;
        gender: string;
        nationality: string;
        addressNumber:number;
        street:string;
        zipCode:number;
        city:string;
        personalPhone:string;
        parentsPhone:string;
        parentsEmail:string;
        school:string;
        grade:string;
        classType:string;
        specialTeaching:string;
        scholarship:string;
        fatherActivity:string;
        motherActivity:string;
        parentsStatus:string;
        dependantsNumber:number;
    }
    
    export class PersonalData extends PersonalDataSchema {
    
      constructor(args: PersonalDataSchema) {
        super();
        Object.assign(this, args);
      }
    }
    
    export class PersonalDataAdapter implements IAdapter<PersonalData> {
    
        private userAdapter = new UserAdapter();
    
      adapt(data: any): PersonalData {
        return new PersonalData({
            url : data.url,
            user_id: data.user_id,
            firstName: data.user.first_name,
            lastName: data.user.last_name,
            gender: data.gender?data.gender:'',
            nationality : data.nationality?data.nationality:'',
            addressNumber: data.addressNumber?data.addressNumber:'',
            street:data.street?data.street:'',
            zipCode:data.zipCode?data.zipCode:'',
            city:data.city?data.city:'',
            personalPhone:data.personalPhone?data.personalPhone:'',
            parentsPhone:data.parentsPhone?data.parentsPhone:'',
            parentsEmail:data.parentsEmail?data.parentsEmail:'',
            school:data.school?data.school:'',
            grade:data.grade?data.grade:'',
            classType : data.classType?data.classType:'',
            specialTeaching:data.specialTeaching?data.specialTeaching:'',
            scholarship:data.scholarship?data.scholarship:'',
            fatherActivity:data.fatherActivity?data.fatherActivity:'',
            motherActivity:data.motherActivity?data.motherActivity:'',
            parentsStatus:data.parentsStatus?data.parentsStatus:'',
            dependantsNumber:data.dependantsNumber?data.dependantsNumber:''
        });
      }
    
      encode(obj: PersonalData): any {
        return {
            user_id: obj.user_id,
            url : obj.url,
            gender: obj.gender,
            nationality: obj.nationality,
            addressNumber: obj.addressNumber,
            street:obj.street,
            zipCode:obj.zipCode,
            city:obj.city,
            personalPhone:obj.personalPhone,
            parentsPhone:obj.parentsPhone,
            parentsEmail:obj.parentsEmail,
            school:obj.school,
            grade:obj.grade,
            classType:obj.classType,
            specialTeaching:obj.specialTeaching,
            scholarship:obj.scholarship,
            fatherActivity:obj.fatherActivity,
            motherActivity:obj.motherActivity,
            parentsStatus:obj.parentsStatus,
            dependantsNumber:obj.dependantsNumber
        }
      }
    }