public BankAccount AddSavingsAccount(UserFilter userFilter, BankAccount bankAccount) { BankAccount res = null; var details = _UserCollection.Get(userFilter); if (details.Any()) { var detail = details.FirstOrDefault(); if (detail.SavingsAccounts.FirstOrDefault(x => x.Name == bankAccount.Name) != null) { _Setting.Message.SetMessage("Duplicate name of bank account!"); } else { bankAccount.Id = Guid.NewGuid(); userFilter.Name = null; userFilter.Id = detail.Id; var countModified = _UserCollection.AddSavingsAccount(userFilter, bankAccount); if (countModified > 0) { res = bankAccount; } } } return(bankAccount); }