private void SaveTakeOut() { if (String.IsNullOrEmpty(EditedTransaction.TransactionValue.ToString())) { OnMessageApplication("A mező üres"); return; } if (BankAccounts.FirstOrDefault(b => b.ID == EditedTransaction.AccountID).isLocked) { OnMessageApplication("A számla lezárva"); return; } if (BankAccounts.FirstOrDefault(b => b.ID == EditedTransaction.AccountID).Balance < EditedTransaction.TransactionValue) { OnMessageApplication("A tranzakció összege nem haladhatja meg az egyenleget!"); return; } EditedTransaction.Created = DateTime.Now; EditedTransaction.TransactionType = "Kivétel"; Transactions.Add(EditedTransaction); SelectedTransaction = EditedTransaction; _model.TakeOut(EditedTransaction); EditedTransaction = null; OnTakeOutFinished(); }
private void SaveAddIn() { // ellenőrzések if (String.IsNullOrEmpty(EditedTransaction.TransactionValue.ToString())) { OnMessageApplication("A mező üres"); return; } if (BankAccounts.FirstOrDefault(b => b.ID == EditedTransaction.AccountID).isLocked) { OnMessageApplication("A számla lezárva"); return; } EditedTransaction.Created = DateTime.Now; EditedTransaction.TransactionType = "Betét"; Transactions.Add(EditedTransaction); SelectedTransaction = EditedTransaction; _model.AddIn(EditedTransaction); EditedTransaction = null; OnAddInFinished(); }
private void Model_BankAccountChanged(object sender, BankAccountsEventArgs e) { Int32 index = BankAccounts.IndexOf(BankAccounts.FirstOrDefault(bankacc => bankacc.ID == e.BankAccountsId)); BankAccounts.RemoveAt(index); BankAccounts.Insert(index, _model.BankAccounts[index]); SelectedBankAccount = BankAccounts[index]; }
public BankAccountPickerVM(MainWindowVM mainWindowVM, bool selectFirstBankAcct) { _main = mainWindowVM; _dir = _main.AppArgs; BankAccounts.SetItems (_dir.MarketState.BankAccounts.GetAll()); if (selectFirstBankAcct) { SelectedBankAccount = BankAccounts.FirstOrDefault(); } }
public IBankAccount GetBankAccount(long BankAccountK) { IBankAccount account; if (BankAccounts == null) { return(null); } lock (BankAccounts) { account = BankAccounts.FirstOrDefault(i => i.BankAccountK == BankAccountK); } return(account); }
/// <summary> /// Returns a bank account by it's key. /// </summary> public static XBankAccount GetBankAccount(string BankAccountK) { lock (__staticLock) { Economy.EconomyPlayer matchingAccount = SEconomyPlugin.EconomyPlayers.Where(i => i.BankAccount != null).FirstOrDefault(i => i.BankAccount.BankAccountK != null && i.BankAccount.BankAccountK == BankAccountK); //if the player is logged in return the logged in bank account reference if (matchingAccount != null) { return(matchingAccount.BankAccount); } else { lock (XmlJournal) { return(BankAccounts.FirstOrDefault(i => i.BankAccountK == BankAccountK)); } } } }
private void SaveTran() { if (String.IsNullOrEmpty(EditedTransaction.TransactionValue.ToString())) { OnMessageApplication("Az összeg mező üres"); return; } if (EditedTransaction.AccountNumberTo == null) { OnMessageApplication("A cél számlaszám üres"); return; } if (EditedTransaction.ReceiverName == null) { OnMessageApplication("A fogadó neve üres"); return; } if (BankAccounts.FirstOrDefault(b => b.ID == EditedTransaction.AccountID).isLocked) { OnMessageApplication("A számla lezárva"); return; } if (BankAccounts.FirstOrDefault(b => b.ID == EditedTransaction.AccountID).Balance < EditedTransaction.TransactionValue) { OnMessageApplication("A tranzakció összege nem haladhatja meg az egyenleget!"); return; } EditedTransaction.Created = DateTime.Now; EditedTransaction.TransactionType = "Terhelés"; Transactions.Add(EditedTransaction); SelectedTransaction = EditedTransaction; _model.Tran(EditedTransaction); EditedTransaction = null; OnTranFinished(); }
private async Task AutoCreateJournalTransaction(PPHBankExpenditureNote model) { var journalTransactionToPost = new JournalTransaction() { Date = model.Date, Description = "Bon Terima Unit", ReferenceNo = model.No, Status = "POSTED", Items = new List <JournalTransactionItem>() }; int.TryParse(model.BankId, out int bankAccountId); var bankAccount = BankAccounts.FirstOrDefault(entity => entity.Id == bankAccountId); if (bankAccount == null) { bankAccount = new BankAccountCOAResult() { AccountCOA = "9999.00.00.00" }; } int.TryParse(model.IncomeTaxId, out int incomeTaxId); var incomeTax = IncomeTaxes.FirstOrDefault(entity => entity.Id == incomeTaxId); if (incomeTax == null) { incomeTax = new IncomeTaxCOAResult() { COACodeCredit = "9999.00" }; } var journalDebitItems = new List <JournalTransactionItem>(); var journalCreditItems = new List <JournalTransactionItem>(); journalCreditItems.Add(new JournalTransactionItem() { COA = new COA() { Code = bankAccount.AccountCOA }, Credit = (decimal)model.TotalIncomeTax }); var purchasingDocumentExpeditionIds = model.Items.Select(item => item.PurchasingDocumentExpeditionId).ToList(); var purchasingDocumentExpeditions = await dbContext.PurchasingDocumentExpeditions.Include(entity => entity.Items).Where(entity => purchasingDocumentExpeditionIds.Contains(entity.Id)).ToListAsync(); foreach (var item in model.Items) { var purchasingDocumentExpedition = purchasingDocumentExpeditions.FirstOrDefault(entity => entity.Id == item.PurchasingDocumentExpeditionId); var division = Divisions.FirstOrDefault(entity => entity.Code == purchasingDocumentExpedition.DivisionCode); if (division == null) { division = new IdCOAResult() { COACode = "0" }; } journalDebitItems.Add(new JournalTransactionItem() { COA = new COA() { Code = $"{incomeTax.COACodeCredit}.{division.COACode}.00" }, Debit = (decimal)purchasingDocumentExpedition.IncomeTax }); } journalDebitItems = journalDebitItems.GroupBy(grouping => grouping.COA.Code).Select(s => new JournalTransactionItem() { COA = new COA() { Code = s.Key }, Debit = s.Sum(sum => Math.Round(sum.Debit.GetValueOrDefault(), 4)), Credit = 0, //Remark = string.Join("\n", s.Select(grouped => grouped.Remark).ToList()) }).ToList(); journalTransactionToPost.Items.AddRange(journalDebitItems); journalCreditItems = journalCreditItems.GroupBy(grouping => grouping.COA.Code).Select(s => new JournalTransactionItem() { COA = new COA() { Code = s.Key }, Debit = 0, Credit = s.Sum(sum => Math.Round(sum.Credit.GetValueOrDefault(), 4)), //Remark = string.Join("\n", s.Select(grouped => grouped.Remark).ToList()) }).ToList(); journalTransactionToPost.Items.AddRange(journalCreditItems); if (journalTransactionToPost.Items.Any(item => item.COA.Code.Split(".").FirstOrDefault().Equals("9999"))) { journalTransactionToPost.Status = "DRAFT"; } string journalTransactionUri = "journal-transactions"; var httpClient = (IHttpClientService)_serviceProvider.GetService(typeof(IHttpClientService)); var response = await httpClient.PostAsync($"{APIEndpoint.Finance}{journalTransactionUri}", new StringContent(JsonConvert.SerializeObject(journalTransactionToPost).ToString(), Encoding.UTF8, General.JsonMediaType)); response.EnsureSuccessStatusCode(); }
// /// //// /////System menu for an account static void SystemTray(BankAccount account, BankAccounts accounts, List<Log> eventLog) { Clear(); WriteLine("Welcome back " + account.Name + "! Available options: "); bool valid = true; while (valid) { WriteLine("1. Transfer money to other account"); WriteLine("2. Show your credentials"); WriteLine("3. Delete account"); WriteLine("4.Exit \n What would you like to do?"); switch (ReadInt()) { case 1: if (account != null && account.money > 0) { WriteLine("To what ID do you want to send the money to? "); WriteLine(" ----------------------------------- \n ID List for clarification:"); foreach (BankAccount acc in accounts) { WriteLine(acc.id + "\n ---------"); } string id = ReadLoginInfo("id"); WriteLine("How much money do you want to transfer? "); int tempMoney = int.Parse(ReadLine()); double money = tempMoney; //DATA WIDENING if (money < account.money) { var found = accounts.FirstOrDefault(c => c.id == id); //LINQ METHOD /* var found = from foundId in accounts where foundId.id==id select foundId;*/ if (found != null) { WriteLine("ID found, money transfered."); account.money = account.money - money; found.money = found.money + money; eventLog.Add(new Log { id = account.id, debugTime = DateTime.Now, debug = "Transfered money to other account" }); } } else { WriteLine("You don't have that much money."); } } else { WriteLine("You don't have any money to send!"); } break; case 2: if (account != null) { Clear(); WriteLine("Name: {0}", account.Name); WriteLine("Surname: {0}", account.Surname); WriteLine("Birth date: {0}", account.year); WriteLine("Money: {0}", account.money); eventLog.Add(new Log { id = account.id, debugTime = DateTime.Now, debug = "Showed the credentials of an account" }); } else { WriteLine("There is no such account."); } break; case 3: if (account != null && (PermissionTypes.Delete & account.permissions) == PermissionTypes.Delete) { WriteLine("Do you really want to delete this account? Y/N"); string temp = ReadLine(); switch (temp) { case "Y": var deleteThis = accounts.SingleOrDefault(c => c.id == account.id); if (deleteThis != null) { eventLog.Add(new Log { id = account.id, debugTime = DateTime.Now, debug = "Deleted account" }); accounts.Remove(acc : deleteThis); //NAMED ARGUMENT account = null; WriteLine("Deleted successfully!"); } break; case "N": Clear(); WriteLine("Account is not deleted."); break; } } else { WriteLine("You do not have permission to delete account!"); Read(); Clear(); } break; case 4: if(account != null) { eventLog.Add(new Log { id = account.id, debugTime = DateTime.Now, debug = "Logged off" }); } valid = false; Clear(); break; default: WriteLine("Wrong input!"); Read(); Clear(); break; } } }
/// <summary> /// Returns an XBankAccount by the UserAccountName /// </summary> public static XBankAccount GetBankAccountByName(string UserAccountName) { lock (__staticLock) { return(BankAccounts.FirstOrDefault(i => i.UserAccountName == UserAccountName)); } }