﻿import { TfabricaUserParameterData } from './tfabrica.userdata.parameter.model';
import { TfabricaUserParameterValueData } from './tfabrica.userdata.parameter.value.model';

export class TfabricaUserData {
    username: string;
    token: string;
    name: string;
    surname: string;
    sourceImage: string;
    isLogged: boolean;
    language: string;

    parameters: TfabricaUserParameterData[];

    constructor() {
        this.isLogged = false;
        this.language = "en";
    }

    getUserData() {
        if (localStorage.getItem('userData') != null) {
            return JSON.parse(localStorage.getItem('userData'));
        } else {
            return this;
        }
    }

    setParametersFromJson(Parameters) {
        this.parameters = new Array();
        console.log("httpParameters:");
        console.log(Parameters);

        let that = this;

        Parameters.forEach(function (Parameter) {
            let parameter = new TfabricaUserParameterData();
            parameter.key = Parameter.Key;
            parameter.values = new Array();

            Parameter.Values.forEach(function (Value) {
                let parameterValue = new TfabricaUserParameterValueData();
                parameterValue.value = Value.Value;
                parameterValue.label = Value.Value;
                parameterValue.fathers = new Array();
                parameter.values.push(parameterValue);
            });

            that.parameters.push(parameter);
        });
    }

    getParameterFromKay(iKey: string) {
        let returnParameter = new TfabricaUserParameterData();
        try {
            this.parameters.forEach(function (parameter) {
                if (parameter.key == iKey) {
                    returnParameter = parameter;
                }
            });
        }catch(Err){}
        return returnParameter;
    }

}