hino / app / routes / account-management / detailprofile.js
detailprofile.js
Raw
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';

import BaseRoute from 'hino-hearts/routes/base';

export default BaseRoute.extend({
	accountManagement : service(),
	accountManagementData : service(),
	accountAddressData: service(),
	accountContactData: service(),
	accountTeamData: service(),
	accountCustomerUioData: service(),
	store : service(),
	session: service(),

	init() {
		this._super(...arguments);
	},

	model(params) {
		this.set('session.data.prevDetailAccount', 'account-management.detailprofile');
		this.set('session.data.prevDetailAccountId', params.id);
		this.accountManagement.setModel(null);
		return this.accountManagementData.getData(params.id, { include: 'account-address,account-contact,account-team,account-customer-uio,id-type' })
		.then(response => {
			this.accountManagement.setModel(response);
			this.accountAddressData.getList({include: 'account-management', filter:{"accountManagement" : {"id" : response.id}}}).then(responseDetail => {

				this.accountManagement.clearDetail("accountAddress");
				responseDetail.forEach(item => {
					this.accountManagement.addRow(item, "account-address");
				});
			});
			this.accountContactData.getList({include: 'account-management', filter:{"accountManagement" : {"id" : response.id}}}).then(responseDetail => {

				this.accountManagement.clearDetail("accountContact");
				responseDetail.forEach(item => {
					this.accountManagement.addRow(item, "account-contact");
				});
			});
			this.accountTeamData.getList({include: 'account-management', filter:{"accountManagement" : {"id" : response.id}}}).then(responseDetail => {

				this.accountManagement.clearDetail("accountTeam");
				responseDetail.forEach(item => {
					this.accountManagement.addRow(item, "account-team");
				});
			});
			this.accountCustomerUioData.getList({include: 'account-management', filter:{"accountManagement" : {"id" : response.id}}}).then(responseDetail => {

				this.accountManagement.clearDetail("accountCustomerUio");
				responseDetail.forEach(item => {
					this.accountManagement.addRow(item, "account-customer-uio");
				});
			});
			return response;
		});
	},

});