import { Injectable } from '@angular/core';
import { DivisionRole } from '../../shared';

const DivisionRoleMap: DivisionRole[] = [
    { divisionId: 10, roleId: 1, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Driver" },
    { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" },
    { divisionId: 10, roleId: 3, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Dispatcher" },
    { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" },
    { divisionId: 11, roleId: 2, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Admin" },
    { divisionId: 11, roleId: 3, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Dispatcher" },
    { divisionId: 12, roleId: 2, divisionName: "XPO", roleName: "Admin" },
    { divisionId: 9, roleId: 2, divisionName: "Infosys", roleName: "Admin" },
    { divisionId: 13, roleId: 4, divisionName: "Amazon", roleName: "Seller" },
];

@Injectable()
export class DivisionService {

    getDivisionList(): Promise<Array<DivisionRole>> {
        let divisionList: DivisionRole[] = [];
        let divArray: string[] = [];
        for (let div of DivisionRoleMap) {
            if (divArray.indexOf(div.divisionName) === -1) {
                divisionList.push(new DivisionRole(div.divisionId, 0, div.divisionName, ""));
                divArray.push(div.divisionName);
            }
        }
        return new Promise((resolve, reject) => {
            resolve(divisionList);
        });
    }

    getRolesWithDivision(value: string): Promise<Array<DivisionRole>> {
        let roleList: DivisionRole[] = [];
        for (let divRole of DivisionRoleMap) {
            if (value.toLowerCase() == divRole.divisionName.toLowerCase()) {
                roleList.push(new DivisionRole(0, divRole.roleId, "", divRole.roleName));
            }
        }
        return new Promise((resolve, reject) => {
            resolve(roleList);
        });
    }
}   