Boa tarde senhores,
Estou desenvolvendo um sistema de Cliente com cadastros independentes de informações de acordo com a seguinte estrutura:
client.component = Dados Pessoais phone.component = Telefones do Cliente email.component = Emails do Cliente adress.component = Endereços do Cliente
Permitindo o cliente ter vários dados atrelados a ele.
E ai surge a Dúvida!
ao realizar o cadastro do cliente, será cadastrado também telefones, emails, e endereços, porém para cadastrar as informações complementares, preciso da ID do cliente, pois o phone, email, e adress, possui o CID para identificar a quem pertencem.
gostaria de saber o melhor fluxo para isso.
pensei em algo como:
submit_form(event) {
event.preventDefault();
console.log(this.new_client_data);
this.client_service
.cadastra(this.new_client_data)
.subscribe(res => {
** GET CLIENT ID e adiciona aos Objetos seguintes **
cadastraPhone(this.new_phone_data)
.subscribe(res => {
cadastraEmail(this.new_email_data)
.subscribe(res => {
cadastraAdress(this.new_adress__data)
.subscribe(res => {
this.new_client_data = new ClientsComponent();
this.new_phone_data = new PhoneComponent();
this.new_email_data = new EmailComponent();
this.new_adress__data = new AdressComponent();
this.app_router.navigate(['clients/list']);
}, erro => console.log(erro));
}, erro => console.log(erro));
}, erro => console.log(erro));
}, erro => console.log(erro));
} // END: submit_form()
ou então
submit_form(event) {
let i = 0;
event.preventDefault();
console.log(this.new_client_data);
this.client_service
.cadastra(this.new_client_data)
.subscribe(res => {
** GET CLIENT ID e adiciona aos Objetos seguintes **
this.new_client_data = new ClientsComponent();
i++;
}, erro => console.log(erro));
this.phone_service
.cadastra(this.new_phone_data)
.subscribe(res => {
this.new_phone_data = new PhoneComponent();
i++;
}, erro => console.log(erro));
this.email_service
.cadastra(this.new_email_data)
.subscribe(res => {
this.new_email_data = new EmailComponent();
i++;
}, erro => console.log(erro));
this.adress_service
.cadastra(this.new_adress_data)
.subscribe(res => {
this.new_adress__data = new AdressComponent();
i++;
}, erro => console.log(erro));
if( i == 4 ){
this.app_router.navigate(['clients/list']);
}else{
console.log("falha ao cadastrar");
}
} // END: submit_form()
Mas de longe não pareceram a melhor forma.... então gostaria de saber se existe uma melhor prática para fazer esse tipo de coisa...
Obrigado