예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        /// <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);
        }