/// <summary> /// Based on CPF input deletes a client. /// </summary> /// <param name="clientsArray"></param> /// <returns></returns> public static string[,] RemoveClient(string[,] clientsArray) { MenuLib.PrintSubmenu("REMOVER CLIENTE"); int clientPosition = Verifications.ReadCPF(clientsArray, "Qual o CPF do cliente que deseja remover?"); if (clientPosition != -1) { Console.Clear(); PrintClient(clientsArray, clientPosition, "Cliente que será removido:"); if (MenuLib.ConfirmationMenu("\nTem certeza que deseja deletar o cliente?")) { if (clientsArray.GetLength(0) - 1 != clientPosition) { clientsArray = ArrayLib.SwapLines(clientsArray, clientPosition, clientsArray.GetLength(0) - 1); } clientsArray = ArrayLib.RemoveLast(clientsArray); MenuLib.PrintMessage("\nO cliente foi deletado. Pressione ENTER para retornar ao menu principal:"); Console.ReadKey(); return(clientsArray); } MenuLib.PrintMessage("\nOperação cancelada.\n\n" + "Pressione ENTER para retornar ao menu principal:"); Console.ReadKey(); } return(clientsArray); }
/// <summary> /// Adds a new account for the CPF input. Sets it's number to previous + 1 and balance to 50. /// </summary> /// <param name="accountsArray"></param> /// <param name="cpf"></param> /// <returns></returns> public static decimal[,] AddNewAccount(decimal[,] accountsArray, decimal cpf) { MenuLib.PrintSubmenu("CRIANDO NOVA CONTA"); if (MenuLib.ConfirmationMenu("Tem certeza que deseja criar uma nova conta?", "Criar nova conta", "Cancelar")) { int newAccountPosition = accountsArray.GetLength(0); accountsArray = ArrayLib.AddOneLength(accountsArray); accountsArray[newAccountPosition, 0] = cpf; accountsArray[newAccountPosition, 1] = accountsArray[newAccountPosition - 1, 1] + 1; accountsArray[newAccountPosition, 2] = 50; PrintAccount(accountsArray, newAccountPosition, "\nA conta foi criada com sucesso! Confira:"); MenuLib.PrintMessage("\nPressione qualquer tecla para retornar ao menu de contas."); Console.ReadKey(); } return(accountsArray); }
/// <summary> /// Removes account from input cpf. /// </summary> /// <param name="accountsArray"></param> /// <param name="cpf"></param> /// <returns></returns> public static decimal[,] RemoveAccount(decimal[,] accountsArray, decimal cpf) { MenuLib.PrintSubmenu("REMOVER CONTA"); int accountPosition = Verifications.ReadAccount(accountsArray, "Qual o número da conta a ser removida?"); if (accountPosition != -1) { if (Verifications.IsAccountFromCPF(accountsArray, accountPosition, cpf)) { Console.Clear(); PrintAccount(accountsArray, accountPosition, "Conta que será removida:"); if (Verifications.IsAccountZeroed(accountsArray, accountPosition)) { if (MenuLib.ConfirmationMenu("Tem certeza que deseja deletar a conta?")) { if (accountsArray.GetLength(0) - 1 != accountPosition) { accountsArray = ArrayLib.SwapLines(accountsArray, accountPosition, accountsArray.GetLength(0) - 1); } accountsArray = ArrayLib.RemoveLast(accountsArray); MenuLib.PrintMessage("\nA conta foi deletada. Pressione ENTER para retornar ao menu de contas:"); Console.ReadKey(); return(accountsArray); } MenuLib.PrintMessage("\nOperação cancelada pelo usuário.\n\n" + "Pressione ENTER para retornar ao menu de contas:"); Console.ReadKey(); } else { MenuLib.PrintMessage("\nA operação não pôde ser concluída pois há saldo na conta.\n" + "Primeiramente deve ser feito o saque de todo o saldo da conta.\n\n" + "Pressione ENTER para retornar ao menu de contas:"); Console.ReadKey(); } } else { MenuLib.PrintMessage("A operação não pôde ser concluída pois a conta não pertence a este CPF.\n" + "Verifique o número da conta e do CPF digitados e tente novamente.\n\n" + "Pressione ENTER para retornar ao de contas:"); Console.ReadKey(); } } return(accountsArray); }