@ -19,6 +19,7 @@ import { Subject } from 'rxjs/Subject';
import { Subscription } from 'rxjs/Subscription' ;
import { forEach } from '@angular/router/src/utils/collection' ;
import { AuthService } from '../../../services/auth/auth.service' ;
import * as _ from 'lodash' ;
@Component ( {
selector : 'app-envoyer-carte' ,
@ -43,6 +44,7 @@ export class EnvoyerCarteComponent implements OnInit, OnDestroy {
parrainSelected : FirebaseListObservable < any [ ] > ;
parrainAffList : FirebaseListObservable < any [ ] > ;
carteParList : FirebaseListObservable < any [ ] > ;
carteParExistList : FirebaseListObservable < any [ ] > ;
parSelect : string ;
selectPar : boolean ;
parrainAffListTemp = [ ] ;
@ -63,12 +65,21 @@ export class EnvoyerCarteComponent implements OnInit, OnDestroy {
minDateTimeTest : Date ;
maxDateTimeTest : Date ;
parrainDateTimeTest : Date ;
carteExitDeja : boolean ;
carteEnvoieOK : boolean ;
cartePars : any ;
filteredCartePars : any ;
filters = { } ;
constructor ( public afAuth : AngularFireAuth , public afDb : AngularFireDatabase ,
private router : Router , private route : ActivatedRoute ,
private authService : AuthService , private opComService : OpCommercialService ) {
this . user = afAuth . authState ;
this . carteExitDeja = false ;
this . carteEnvoieOK = false ;
this . filteredCartePars = { } ;
this . radioParrain = '' ;
this . validC = '' ;
this . localUser = new User ( ) ;
@ -127,9 +138,9 @@ export class EnvoyerCarteComponent implements OnInit, OnDestroy {
console . log ( 'bla' + this . parrainDateTimeTest ) ;
console . log ( 'bla' + this . parrainDateTimeTest . getTime ( ) ) ;
var todayTemp = new Date ( Date . now ( ) ) ;
var debutTemp = new Date ( this . opComm . dateDebut ) ;
var finTemp = new Date ( this . opComm . dateFin ) ;
const todayTemp = new Date ( Date . now ( ) ) ;
const debutTemp = new Date ( this . opComm . dateDebut ) ;
const finTemp = new Date ( this . opComm . dateFin ) ;
if ( todayTemp . getTime ( ) >= debutTemp . getTime ( ) && todayTemp . getTime ( ) <= finTemp . getTime ( ) ) {
this . cartePar . status = 'Active' ;
@ -210,10 +221,84 @@ export class EnvoyerCarteComponent implements OnInit, OnDestroy {
}
}
registerNewParrain() {
regiPar ( ) {
const config = { apiKey : 'AIzaSyD2O5MxwZ4BRWvVc77FZliBvtj0pmcdzos' ,
authDomain : 'webappparrain.firebaseapp.com' ,
databaseURL : 'https://webappparrain.firebaseio.com' } ;
const secondaryApp = firebase . initializeApp ( config , 'Secondary' ) ;
let parrainTemp = new Parrain ( ) ;
this . carteEnvoieOK = false ;
this . parrain . status = 'Parrain' ;
// this.parrain.birthday = this.parrainDateTimeTest;
this . parrain . secretCode = this . getRandomArbitrary ( 1111 , 9999 ) . toString ( ) ;
this . parrain . password = this . getRandomArbitrary ( 111111 , 999999 ) . toString ( ) ;
// this.authService.signUp(this.parrain);
parrainTemp = this . parrain ;
secondaryApp . auth ( ) . createUserWithEmailAndPassword ( parrainTemp . email , parrainTemp . password ) . then ( function ( userCreate ) {
console . log ( 'User ' + userCreate . uid + ' created successfully!' ) ;
// I don't know if the next statement is necessary
const imagePath = 'profilImage/' + userCreate . uid + '/userPic.jpg' ;
const dbRef = firebase . database ( ) . ref ( ) ;
const userRef = dbRef . child ( 'Parrain' ) . child ( userCreate . uid ) ;
userCreate . updateProfile ( {
displayName : parrainTemp.status ,
photoURL : imagePath ,
emailVerified : true
} ) ;
try {
parrainTemp . uid = userCreate . uid ;
parrainTemp . emailVerified = userCreate . emailVerified ;
userRef . set ( parrainTemp ) ;
console . log ( 'crer par: ' + parrainTemp . firstname ) ;
// this.cartePar.parrainCarte = parrainTemp;
secondaryApp . auth ( ) . sendPasswordResetEmail ( userCreate . email ) ;
userCreate . sendEmailVerification ( ) ;
console . log ( 'avant logout firebase.auth().currentUser.uid: ' ) ;
secondaryApp . auth ( ) . signOut ( ) ;
console . log ( 'avant logout firebase.auth().currentUser.uid: ' ) ;
} catch ( e ) {
// No content response..
console . log ( 'error dans envoyer carte !' ) ;
console . log ( e ) ;
// this.goToOpComm();
// this.router.navigate(['/']);
}
//fin
// secondaryApp.auth().signOut();
} ) ;
const parNewlistTemp = this . afDb . list ( '/Parrain/' , {
query : {
orderByChild : 'email' ,
equalTo : parrainTemp.email
}
}
) ;
parNewlistTemp . forEach ( par = > {
par . forEach ( elementParTemp = > {
if ( elementParTemp !== undefined ) {
if ( elementParTemp . uid !== '' ) {
this . getIdParrain ( elementParTemp . uid ) ;
this . creerCartePar ( ) ;
this . carteEnvoieOK = true ;
}
}
} ) ;
} ) ;
}
registerNewParrain() {
this . carteEnvoieOK = false ;
this . parrain . status = 'Parrain' ;
this . parrain . birthday = this . parrainDateTimeTest ;
//this.parrain.birthday = this.parrainDateTimeTest;
this . parrain . secretCode = this . getRandomArbitrary ( 1111 , 9999 ) . toString ( ) ;
this . parrain . password = this . getRandomArbitrary ( 111111 , 999999 ) . toString ( ) ;
// this.authService.signUp(this.parrain);
@ -236,22 +321,26 @@ export class EnvoyerCarteComponent implements OnInit, OnDestroy {
userRef . set ( this . parrain ) ;
console . log ( 'crer par: ' + this . parrain . firstname ) ;
console . log ( 'crer par: ' + this . parrain . firstname ) ;
// this.cartePar.parrainCarte = this.parrain;
this . getIdParrain ( userCreate . uid ) ;
console . log ( 'creer par userCreate.uid: ' + userCreate . uid ) ;
console . log ( 'creer par userCreate.uid: ' + userCreate . uid ) ;
this . creerCartePar ( ) ;
console . log ( 'creer par creerCartePar: ' + this . cartePar . uid ) ;
console . log ( 'creer par creerCartePar: ' + this . cartePar . uid ) ;
firebase . auth ( ) . sendPasswordResetEmail ( this . parrain . email ) ;
userCreate . sendEmailVerification ( ) ;
console . log ( 'avant logout firebase.auth().currentUser.uid: ' + firebase . auth ( ) . currentUser . uid ) ;
console . log ( 'avant logout firebase.auth().currentUser.uid: ' + firebase . auth ( ) . currentUser . uid ) ;
firebase . auth ( ) . signOut ( ) ;
firebase . auth ( ) . signInWithEmailAndPassword ( this . commercant . email , this . commercant . password ) ;
console . log ( 'avant logout firebase.auth().currentUser.uid: ' + firebase . auth ( ) . currentUser . uid ) ;
// this.goToOpComm();
console . log ( 'avant logout firebase.auth().currentUser.uid: ' + firebase . auth ( ) . currentUser . uid ) ;
this . carteEnvoieOK = true ;
} catch ( e ) {
// No content response..
console . log ( 'error dans envoyer carte !' )
console . log ( 'error dans envoyer carte !' ) ;
console . log ( e ) ;
// this.goToOpComm();
// this.router.navigate(['/']);
@ -270,7 +359,10 @@ export class EnvoyerCarteComponent implements OnInit, OnDestroy {
}
getIdParrain ( parUid ) {
console . log ( 'parUid getidpar: ' + parUid ) ;
this . carteEnvoieOK = false ;
this . carteExitDeja = false ;
console . log ( 'parUid getidpar: ' + parUid ) ;
const parlistTemp = this . afDb . list ( '/Parrain/' , {
query : {
orderByChild : 'uid' ,
@ -281,12 +373,14 @@ export class EnvoyerCarteComponent implements OnInit, OnDestroy {
parlistTemp . forEach ( par = > {
par . forEach ( elementParTemp = > {
this . parrain = elementParTemp ;
this . cartePar . parrainCarte = elementParTemp ;
console . log ( 'ttthis.cartePar.parrainCarte.uid: ' + this . cartePar . parrainCarte . uid + this . cartePar . parrainCarte . firstname ) ;
console . log ( 'ttthis.cartePar.parrainCarte.uid: ' + this . cartePar . parrainCarte . uid + this . cartePar . parrainCarte . firstname ) ;
} ) ;
} ) ;
this . selectPar = true ;
console . log ( 'this.cartePar.parrainCarte.uid: ' + this . cartePar . parrainCarte . uid + this . cartePar . parrainCarte . firstname ) ;
console . log ( 'this.cartePar.parrainCarte.uid: ' + this . cartePar . parrainCarte . uid + this . cartePar . parrainCarte . firstname ) ;
if ( this . radioParrain === 'Newparrain' ) {
this . parSelect = ' à : '
@ -304,28 +398,110 @@ export class EnvoyerCarteComponent implements OnInit, OnDestroy {
} ) ;
}
this . parrainSelected = this . afDb . list ( '/Parrain/' , {
query : {
orderByChild : 'uid' ,
equalTo : parUid
}
}
) ;
this . parrainSelected . forEach ( paSel = > {
paSel . forEach ( elementPaSel = > {
this . parrain = elementPaSel ;
} ) ;
} ) ;
// console.log('this.birthday parrain : ' + this.parrain.birthday);
console . log ( 'this.cartePar.commercantCarte.uid : ' + this . cartePar . commercantCarte . uid ) ;
console . log ( 'this.cartePar..parrainCarte.uid : ' + this . cartePar . parrainCarte . uid ) ;
console . log ( 'this.cartePar.operationCommercial.uid : ' + this . cartePar . operationCommercialCarte . uid ) ;
console . log ( 'this.cartePar.dateDebut : ' + this . cartePar . dateDebut ) ;
console . log ( 'this.cartePar.dateFin : ' + this . cartePar . dateFin ) ;
}
applyFilters ( listFiltrer : any , listAFiltrer : any ) {
this . filteredCartePars = _ . filter ( this . cartePars , _ . conforms ( this . filters ) ) ;
}
filterEgual ( property : string , query : string ) {
this . filters [ property ] = val = > val === query ;
}
filterDifferentDe ( property : string , query : string ) {
this . filters [ property ] = val = > val !== query ;
}
carteExist ( parUid ) {
////////// not working
if ( this . parSelect !== '' && this . carteExitDeja === false ) {
this . afDb . list ( '/CarteParrainage/' , {
query : {
orderByChild : 'operationCommercialCarte/uid' ,
equalTo : this.opComm.uid
} } ) . subscribe ( cartes = > {
this . cartePars = cartes ;
for ( let i = 0 ; i < cartes . length ; i ++ ) {
if ( cartes [ i ] . parrainCarte . uid === parUid ) {
this . carteExitDeja = true ;
}
}
if ( this . carteExitDeja === false ) {
console . log ( 'cestBon !!' ) ;
this . creerCartePar ( ) ;
this . carteEnvoieOK = true ;
} else {
console . log ( 'cest pas bon ' ) ;
//this.carteEnvoieOK = false;
}
/ *
this . applyFilters ( this . filteredCartePars , this . cartePars ) ;
this . filterEgual ( 'operationCommercialCarte/uid' , this . opComm . uid ) ;
this . applyFilters ( this . filteredCartePars , this . cartePars ) ;
console . log ( this . filteredCartePars ) ;
this . filterEgual ( 'parrainCarte/uid' , parUid ) ;
this . applyFilters ( this . filteredCartePars , this . cartePars ) ;
console . log ( this . filteredCartePars ) ;
* /
//console.log(parUid);
//console.log(this.opComm.uid);
console . log ( cartes ) ;
// console.log(this.cartePars);
//console.log(this.filteredCartePars);
/ * i f ( t h i s . f i l t e r e d C a r t e P a r s . l e n g t h > 0 ) {
this . carteExitDeja = true ;
console . log ( this . carteExitDeja ) ;
} else {
this . carteExitDeja = false ;
console . log ( this . carteExitDeja ) ;
} * /
} ) ;
/ * t h i s . c a r t e P a r E x i s t L i s t = t h i s . a f D b . l i s t ( ' / C a r t e P a r r a i n a g e / ' , {
query : {
orderByChild : 'operationCommercialCarte/uid' ,
equalTo : this.opComm.uid
}
}
) ; * /
// console.log('this.filteredCartePars.length: ' + this.filteredCartePars.length);
/ *
this . carteParList . forEach ( carte = > {
carte . forEach ( elementCarte = > {
if ( elementCarte . parrainCarte . uid === parUid ) {
this . carteExitDeja = true ;
// console.log('eeeeeeeeeeeeeeeeeeeeee');
return true ;
} else {
this . carteExitDeja = false ;
}
} ) ;
} ) ;
if ( this . carteExitDeja === false ) {
return false ;
} else if ( this . carteExitDeja === true ) {
return true ;
} * /
}
}
envoyerCartePar ( ) {
this . creerCartePar ( ) ;
this . carteExist ( this . cartePar . parrainCarte . uid ) ;
// this.goToOpComm();
}
creerCartePar() {
@ -389,8 +565,6 @@ export class EnvoyerCarteComponent implements OnInit, OnDestroy {
} ) ;
}
goToOpComm() {
this . router . navigate ( [ '/opCommercial' ] ) ;
}