/// <summary> /// Méthode pour enregistrer l'appareil en tant qu'appareil principal /// </summary> /// <param name="creerCompte"></param> /// <returns></returns> public async Task CreerAppareilPrincipal(bool creerCompte) { await _applicationBusiness.CreerBase(AppareilEnum.ModeAppareilPrincipal); if (creerCompte) { var banqueEnBase = await _banqueBusiness.AjouterBanque(new Banque { Nom = NomBanque, IdDevise = SelectedDevise.Id, IdPays = SelectedPays.Id }); var listeComptes = _listeComptes.Select( compte => new Compte { IdBanque = banqueEnBase.Id, Nom = compte.Key, Solde = compte.Value ?? 0, IdDevise = SelectedDevise.Id }) .ToList(); await _compteBusiness.AjouterCompte(listeComptes); foreach (var compte in listeComptes) { await _compteBusiness.AjouterSoldeInitial(compte.Solde, compte.Id); } } else { await _applicationBusiness.CreerBaseDeDonneeFromRoaming(AppareilEnum.ModeAppareilPrincipal); } }
/// <summary> /// valide les données à ajouter ou à modifier /// </summary> /// <returns>les erreurs éventuelles ou null si aucune</returns> public async Task <string> Valider() { var retour = Validate(); if (string.IsNullOrWhiteSpace(retour)) { switch (_modeGestion) { case ModeOuvertureGestionCompteBanqueEnum.OuvertureAjouterBanque: await _banqueBusiness.AjouterBanque(new Banque { Nom = Nom, IdDevise = SelectedDevise.Id, IdPays = SelectedPays.Id }); break; case ModeOuvertureGestionCompteBanqueEnum.OuvertureAjouterCompte: var idCompte = await _compteBusiness.AjouterCompte(new Compte { Nom = Nom, IdDevise = SelectedDevise.Id, IdBanque = IdParent, Solde = Solde ?? 0 }); await _compteBusiness.AjouterSoldeInitial(Solde ?? 0, idCompte); break; case ModeOuvertureGestionCompteBanqueEnum.OuvertureModifierBanque: await _banqueBusiness.ModifierBanque(new Banque { Id = IdElement, Nom = Nom, IdDevise = SelectedDevise.Id, IdPays = SelectedPays.Id }); break; case ModeOuvertureGestionCompteBanqueEnum.OuvertureModifierCompte: await _compteBusiness.ModifierCompte(new Compte { Id = IdElement, Nom = Nom, IdDevise = SelectedDevise.Id, IdBanque = IdParent }); break; } } return(retour); }