public Payee AddPayee(Guid userId, Payee payee) { Payee res = null; var detail = _UserCollection.GetById(userId); if (detail != null) { var linkingBank = _LinkingBankCollection.GetById(payee.LinkingBankId); if (linkingBank != null) { // get payee detail var payeeDetail = _UserCollection.GetByAccountNumber(payee.AccountNumber); if (payeeDetail != null) { if (string.IsNullOrEmpty(payee.MnemonicName)) { payee.MnemonicName = payeeDetail.Name; } payee.Id = Guid.NewGuid(); var countModified = _UserCollection.AddPayee(userId, payee); if (countModified > 0) { res = payee; } } } } return(res); }
public IEnumerable <CrossChecking> CrossCheckingIn(DateTime?from, DateTime?to, Guid?bankId) { var res = new List <CrossChecking>(); var transfers = _TransferCollection.GetMany(new TransferFilter() { IsConfirmed = true }); transfers = transfers.Where(x => x.DestinationLinkingBankId == Guid.Empty); if (bankId.HasValue) { transfers = transfers.Where(x => x.SourceLinkingBankId == bankId.Value); } foreach (var transfer in transfers) { var bank = _LinkingBankCollection.Get(new LinkingBankFilter() { Code = _Setting.BankCode }).FirstOrDefault(); // Get ngân hàng liên kết var linkBank = _LinkingBankCollection.GetById(transfer.SourceLinkingBankId); if (linkBank != null) { // Get thông tin giao dịch var transactions = _TransactionCollection.GetMany(new TransactionFilter() { ReferenceId = transfer.Id, Type = 0 }); if (from.HasValue) { transactions = transactions.Where(x => x.ConfirmTime.Value.Date >= from.Value.Date); } if (to.HasValue) { transactions = transactions.Where(x => x.ConfirmTime.Value.Date <= to.Value.Date); } if (transactions.Any()) { var transaction = transactions.FirstOrDefault(); // Get thông tin tài khoản nguồn // TODO var sourceAccount = new ExternalAccount(); IExternalBanking externalBanking = null; if (transfer.SourceLinkingBankId == Guid.Parse("8df09f0a-fd6d-42b9-804c-575183dadaf3")) { externalBanking = new ExternalBanking_BKTBank(_Encrypt, _Setting); externalBanking.SetPartnerCode(); } var source = externalBanking.GetInfoUser(transfer.SourceAccountNumber); if (source != null) { sourceAccount.Name = source.full_name; sourceAccount.AccountNumber = source.account_number; } else { sourceAccount = null; } if (sourceAccount != null) { // Get thông tin tài khoản đích var destAccount = _UserCollection.GetByAccountNumber(transfer.DestinationAccountNumber); if (destAccount != null) { var history = new CrossChecking(); history.SourceAccountName = sourceAccount.Name; history.SourceAccountNumber = sourceAccount.AccountNumber; history.SourceBankName = linkBank.Name; history.DestinationAccountName = destAccount.Name; history.DestinationAccountNumber = destAccount.AccountNumber; history.DestinationBankName = bank.Name; history.Description = transfer.Description; history.Money = transfer.Money; if (!transfer.IsSenderPay) { history.Money -= transfer.Fee; } history.ConfirmTime = transaction.ConfirmTime.Value; res.Add(history); } } } } } return(res); }