public MSCurrency(MSCurrency msCurrency) { MSCurrencyType = msCurrency.MSCurrencyType; MSCurrencyCode = msCurrency.MSCurrencyCode; MSCurrencyNominal = msCurrency.MSCurrencyNominal; MSCurrencyName = msCurrency.MSCurrencyName; MSCurrencyValue = msCurrency.MSCurrencyValue; }
public void ConsoleAdd(int accountId, char msIO = '=') { int left = Console.CursorLeft; int top = Console.CursorTop; MSAccountId = accountId; if (msIO == '+' || msIO == '-') { MSIO = msIO; } else { bool xreplace = true; do { Console.SetCursorPosition(left, top); Console.WriteLine("Введите тип аккаунта (+,-): "); string temp = Console.ReadLine(); if (temp.Length > 0) { if (temp[0] == '+' | temp[0] == '-') { MSIO = temp[0]; xreplace = false; } } } while (xreplace); } Console.WriteLine("Введите наименование аккаунта: "); MSName = Console.ReadLine(); Console.WriteLine("Выбермте цвет аккаунта: "); MSColor = MSIntro.ChooseColor(); Console.WriteLine("Введите символ аккаунта: "); MSImage = Console.ReadLine(); Console.WriteLine("Введите тип валюты аккаунта: "); //MSCurrencyCode = Console.ReadLine(); MSCurrencyCode = MSCurrency.ChooseCurrency(ref Program.currencies); if (MSCurrencyCode == "ALL") { MSMulticurrency = true; } else { MSMulticurrency = false; } }
static void Main(string[] args) { int maxWidth = 80, maxheight = 25; Console.SetWindowSize(maxWidth, maxheight); Console.SetBufferSize(maxWidth, maxheight); if (MSCurrency.CheckURL(MSCurrency.msCurrencyLink)) currencies = currency.MSLoadCurrencies(); else { if (true) //File exist { if (true) //Table exist { if (true) //Value exist { MSSaveLoad.SQLiteLoadCurrenciesFromDatabase(); } } } } //if (currencies.Count != 1) //{ // MSSaveLoad.SQLiteLoadCurrenciesFromDatabase(); //} if (!File.Exists(Program.curFile)) { MSSaveLoad.CreateDatabase(); MSSaveLoad.InsertStandartValue(); } MSSaveLoad.SQLiteLoadAccountsFromDatabase(); MSSaveLoad.SQLiteLoadCategoriesFromDatabase(); MSSaveLoad.SQLiteLoadTransactionsFromDatabase(); Console.Title = "Money Supervisor - Управление деньгами - Pullara nəzarət"; Console.OutputEncoding = Encoding.Unicode; Console.InputEncoding = Encoding.Unicode; MSLanguage.CreateDictionary(ref dictionary); MSIntro.Show(); MSMainMenyu(); }
public void ConsoleAdd(int msTransactionId, char msIO) { int left = Console.CursorLeft; int top = Console.CursorTop; MSTransactionId = msTransactionId; //bool xreplace = true; //do //{ // Console.SetCursorPosition(left, top); // Console.WriteLine("Введите тип транзакции (+,-): "); // string temp = Console.ReadLine(); // if (temp[0] == '+' | temp[0] == '-') // { // MSIO = temp[0]; MSIO = msIO; // xreplace = false; // } //} while (xreplace); string insertSumm = "Введите значение (сумма): "; Console.WriteLine(insertSumm); left = Console.CursorLeft; top = Console.CursorTop; //string tReadLine = ""; do { Console.SetCursorPosition(left, top); if (MSValue > 0) { string str = Convert.ToString(MSValue); for (int i = 0; i < str.Length; i++) { Console.WriteLine(" "); } } Console.SetCursorPosition(left, top); // tReadLine = Console.ReadLine(); // float.TryParse(tReadLine, out float tMSValue); // MSValue = tMSValue; MSValue = Program.MSReadDouble(); } while (!(MSValue > 0)); if (MSIO == '+') { if (MSValue < 0) { MSValue *= -1; } } else if (MSIO == '-') { if (MSValue > 0) { MSValue *= -1; } } Console.SetCursorPosition(insertSumm.Length + 1, top - 1); Console.WriteLine($"{MSValue:f2}"); Program.cki = default(ConsoleKeyInfo); Console.WriteLine("Выберите тип валюты: "); MSCurrencyCode = MSCurrency.ChooseCurrency(ref Program.currencies); Console.WriteLine("Выберите аккаунт: "); if (Program.accounts.Count > 0) { MSAccountId = MSAccount.ChooseAccount(ref Program.accounts); } Console.WriteLine("Выберите категорию: "); if (Program.categories.Count > 0) { MSCategoryId = MSCategory.ChooseCategory(ref Program.categories, MSAccountId); } Console.WriteLine("Введите заметку: "); MSNote = Console.ReadLine(); if (MSNote.Length == 0) { MSNote = " "; } Console.WriteLine("Введите дату и время\n(DD.MM.YYYY hh.mm.ss): "); Console.Write($" {Program.msCompDateTime()}"); int xtop = Console.CursorTop; Console.SetCursorPosition(0, xtop + 1); string tDateTime = Console.ReadLine(); if (tDateTime.Length == 0 | tDateTime == " ") { MSDateTime = Program.msCompDateTime(); } else { MSDateTime = DateTime.Parse(tDateTime); } if (MSCurrencyCode == "ALL") { MSMulticurrency = true; } else { MSMulticurrency = false; } Program.cki = default(ConsoleKeyInfo); Console.Clear(); }
public static void ConsoleTransfer(ref List <MSTransaction> transactions, int msTransactionId) { int tAccount2 = 0; MSTransaction tMSTransaction = new MSTransaction(); int left = Console.CursorLeft; int top = Console.CursorTop; tMSTransaction.MSTransactionId = msTransactionId; tMSTransaction.MSIO = '-'; string insertSumm = "Введите значение (сумма): "; Console.WriteLine(insertSumm); left = Console.CursorLeft; top = Console.CursorTop; do { Console.SetCursorPosition(left, top); if (Convert.ToString(tMSTransaction.MSValue).Length > 0) { for (int i = 0; i < Convert.ToString(tMSTransaction.MSValue).Length; i++) { Console.WriteLine(" "); } } Console.SetCursorPosition(left, top); tMSTransaction.MSValue = Program.MSReadDouble(); } while (!(tMSTransaction.MSValue > 0)); if (tMSTransaction.MSIO == '+') { if (tMSTransaction.MSValue < 0) { tMSTransaction.MSValue *= -1; } } else if (tMSTransaction.MSIO == '-') { if (tMSTransaction.MSValue > 0) { tMSTransaction.MSValue *= -1; } } Console.SetCursorPosition(insertSumm.Length + 1, top - 1); Console.WriteLine($"{tMSTransaction.MSValue:f2}"); Program.cki = default(ConsoleKeyInfo); Console.WriteLine("Выберите аккаунт вывода суммы: "); //1 if (Program.accounts.Count > 0) { tMSTransaction.MSAccountId = MSAccount.ChooseAccount(ref Program.accounts); } left = Console.CursorLeft; top = Console.CursorTop; bool xreplace = true; do { Console.SetCursorPosition(left, top); Console.WriteLine("Выберите тип валюты: "); string tMSCurrencyCode = MSCurrency.ChooseCurrency(ref Program.currencies); if (tMSCurrencyCode != "ALL") { tMSTransaction.MSCurrencyCode = tMSCurrencyCode; xreplace = false; } } while (xreplace); Console.WriteLine("Выберите аккаунт ввода суммы: "); //2 if (Program.accounts.Count > 0) { tAccount2 = MSAccount.ChooseAccount(ref Program.accounts); } Console.WriteLine("Введите заметку: "); tMSTransaction.MSNote = Console.ReadLine(); if (tMSTransaction.MSNote.Length == 0) { tMSTransaction.MSNote = " "; } Console.WriteLine("Введите дату и время\n(DD.MM.YYYY hh.mm.ss): "); Console.Write($" {Program.msCompDateTime()}"); int xtop = Console.CursorTop; Console.SetCursorPosition(0, xtop + 1); string tDateTime = Console.ReadLine(); if (tDateTime.Length == 0 | tDateTime == " ") { tMSTransaction.MSDateTime = Program.msCompDateTime(); } else { tMSTransaction.MSDateTime = DateTime.Parse(tDateTime); } transactions.Add(new MSTransaction(tMSTransaction)); MSTransaction.SQLiteInsertTransactionInDatabase(tMSTransaction); tMSTransaction.MSIO = '+'; tMSTransaction.MSAccountId = tAccount2; if (tMSTransaction.MSIO == '+') { if (tMSTransaction.MSValue < 0) { tMSTransaction.MSValue *= -1; } } else if (tMSTransaction.MSIO == '-') { if (tMSTransaction.MSValue > 0) { tMSTransaction.MSValue *= -1; } } transactions.Add(new MSTransaction(tMSTransaction)); MSTransaction.SQLiteInsertTransactionInDatabase(tMSTransaction); Program.cki = default(ConsoleKeyInfo); Console.Clear(); }
public List <MSCurrency> MSLoadCurrencies() { var MSCurrencyTypeList = new List <MSCurrency>(); var msCurrencyType = new MSCurrency(); msCurrencyType.MSCurrencyId = 0; msCurrencyType.MSCurrencyDate = Program.msCompDateTime(); msCurrencyType.MSCurrencyType = "Xarici valyuta"; msCurrencyType.MSCurrencyCode = "AZN"; msCurrencyType.MSCurrencyNominal = 1; msCurrencyType.MSCurrencyName = "Azərbaycan manatı"; msCurrencyType.MSCurrencyValue = 1; MSCurrencyTypeList.Add(new MSCurrency(msCurrencyType)); var xmlDoc = new XmlDocument(); try { Console.WriteLine("Попытка загрузки валют с сервера."); xmlDoc.Load(msCurrencyLink); //Не возможно связться с сервером для загрузки данных о валютах! XmlElement xRoot = xmlDoc.DocumentElement; foreach (XmlNode xnode in xRoot) { XmlNode attrType = xnode.Attributes.GetNamedItem("Type"); if (attrType != null) { msCurrencyType.MSCurrencyType = attrType.Value; //Console.WriteLine(attrType.Value); } foreach (XmlNode childnode in xnode.ChildNodes) { XmlNode attrCode = childnode.Attributes.GetNamedItem("Code"); if (attrCode != null) { msCurrencyType.MSCurrencyCode = attrCode.Value; //Console.WriteLine(attrCode.Value); } foreach (XmlNode childChildNode in childnode) { if (childChildNode.Name == "Nominal") { if (attrType.Value == "Bank metalları") { msCurrencyType.MSCurrencyNominal = float.Parse("1,00"); //Console.WriteLine(1); } else { string tString = childChildNode.InnerText; int tInt = tString.IndexOf('.'); if (tInt > 0) { msCurrencyType.MSCurrencyNominal = float.Parse(childChildNode.InnerText.Replace('.', ',')); } else { msCurrencyType.MSCurrencyNominal = float.Parse(childChildNode.InnerText); } //Console.WriteLine(childChildNode.InnerText); } } if (childChildNode.Name == "Name") { msCurrencyType.MSCurrencyName = childChildNode.InnerText; //Console.WriteLine(childChildNode.InnerText); } if (childChildNode.Name == "Value") { msCurrencyType.MSCurrencyValue = float.Parse(childChildNode.InnerText.Replace('.', ',')); //Console.WriteLine(childChildNode.InnerText); } } MSCurrencyTypeList.Add(new MSCurrency(msCurrencyType)); } } Console.WriteLine("Загрузка валют с сервера завершена."); } catch (System.Net.WebException) { Console.WriteLine("Не возможно связаться с сервером для загрузки данных о валютах!"); } catch (Exception) { Console.WriteLine("Произошла не предвиденная ошибка!"); } return(MSCurrencyTypeList); }
static void MSMainMenyu() { Console.Clear(); maxWidth = 40; maxheight = 25; Console.SetWindowSize(maxWidth, maxheight); Console.SetBufferSize(maxWidth, maxheight); bool xreplace = true; int i = 0; do { string str = "Добро пожаловать!"; if (i >= maxWidth - str.Length) { Console.SetCursorPosition(maxWidth - str.Length,0); for (int j = 0; j < str.Length; j++) { Console.Write(" "); } i = 0; } Console.SetCursorPosition(i - 1 < 0 ? i >= maxWidth-str.Length ? 0 : 0 : i - 1, 0); Console.Write(" "); Console.SetCursorPosition(i++ < maxWidth - str.Length ? i : 0, 0); Console.Write(str); Thread.Sleep(333); if (Console.KeyAvailable) { cki = Console.ReadKey(); } Console.SetCursorPosition(0, 3); Console.SetCursorPosition(0, 1); Console.WriteLine($"1. {dictionary["newaccount"].RetLang(staticLanguage)} "); Console.SetCursorPosition(0, 2); Console.WriteLine($"2. {dictionary["newcategory"].RetLang(staticLanguage)} "); switch (cki.KeyChar) { case '1': Console.Clear(); AddAccount(); cki = default(ConsoleKeyInfo); MSMainMenyu(); break; case '2': Console.Clear(); AddCategory(); cki = default(ConsoleKeyInfo); MSMainMenyu(); break; default: break; } switch (cki.Key) { case ConsoleKey.Tab: if (++menyuId > maxMenyuId-1) menyuId = 0; break; case ConsoleKey.RightArrow: if (++menyuId > maxMenyuId-1) menyuId = maxMenyuId-1; break; case ConsoleKey.LeftArrow: if (--menyuId < 0) menyuId = 0; break; case ConsoleKey.DownArrow: if (++menyuId > maxMenyuId-1) menyuId = maxMenyuId-1; break; case ConsoleKey.UpArrow: if (--menyuId < 0) menyuId = 0; break; case ConsoleKey.Enter: Program.cki = default(ConsoleKeyInfo); Console.Clear(); int tTranCount = 0; switch (menyuId) { case 0: //+ transactionSymbol = '+'; if (accounts.Count == 0) { Console.WriteLine("В базе не найдены счёта."); Console.WriteLine("Создайте новый счёт."); Program.AddAccount(); } if (categories.Count == 0) { Console.WriteLine("В базе не найдены котегории."); Console.WriteLine("Создайте новую котегорию."); Program.AddCategory(); } tTranCount = transactions.Count; bool xReplaceTrCount = true; do { tTranCount++; if (!transactions.Exists(x => x.MSTransactionId == tTranCount)) { xReplaceTrCount = false; transaction.ConsoleAdd(tTranCount, transactionSymbol); } } while (xReplaceTrCount); transactions.Add(new MSTransaction(transaction)); MSTransaction.SQLiteInsertTransactionInDatabase(transaction); goto case 99; //break; case 1: //- transactionSymbol = '-'; if (accounts.Count == 0) { Console.WriteLine("В базе не найдены счёта."); Console.WriteLine("Создайте новый счёт."); Program.AddAccount(); } if (categories.Count == 0) { Console.WriteLine("В базе не найдены котегории."); Console.WriteLine("Создайте новую котегорию."); Program.AddCategory(); } tTranCount = transactions.Count; do { tTranCount++; transaction.ConsoleAdd(tTranCount, transactionSymbol); } while (transactions.Exists(x => x.MSTransactionId == tTranCount)); transactions.Add(new MSTransaction(transaction)); MSTransaction.SQLiteInsertTransactionInDatabase(transaction); goto case 99; //break; case 2: //= transactionSymbol = '='; if (accounts.Count < 2) { Console.WriteLine("В базе не достаточно счётов."); Console.WriteLine("Создайте новый счёт."); Program.AddAccount(); } if (categories.Count == 0) { Console.WriteLine("В базе не найдены котегории."); Console.WriteLine("Создайте новую котегорию."); Program.AddCategory(); } MSTransaction.ConsoleTransfer(ref transactions, categories.Count + 1); goto case 99; //break; case 3: //param transactionSymbol = '='; bool xReplace = true; do { Console.Clear(); Console.WriteLine($"1. {dictionary["newaccount"].RetLang(staticLanguage)} "); Console.WriteLine($"2. {dictionary["newcategory"].RetLang(staticLanguage)} "); Console.WriteLine($"3. Выберите язык программы: "); Console.WriteLine($"4. Сброс базы данных: "); Console.WriteLine($"5. Выгрузка в CSV файл: "); Console.WriteLine($"6. Просмотреть все транзакции: "); Console.WriteLine($"7. Назад: "); cki = Console.ReadKey(); //Console.WriteLine($"2. {dictionary["newcategory"].RetLang(staticLanguage)} "); switch (cki.KeyChar) { case '1': Console.Clear(); Console.WriteLine($"1. {dictionary["newaccount"].RetLang(staticLanguage)} "); Program.AddAccount(); break; case '2': Console.Clear(); Console.WriteLine($"2. {dictionary["newcategory"].RetLang(staticLanguage)} "); Program.AddCategory(); break; case '3': Console.Write($"3. Выберите язык программы: "); staticLanguage = MSLanguage.ChooseLanguage(); Console.WriteLine("Язык изменён."); Program.cki = Console.ReadKey(); break; case '4': Console.WriteLine($"4. Сброс базы данных: "); MSSaveLoad.CreateDatabase(); MSSaveLoad.InsertStandartValue(); currency = new MSCurrency(); currencies = new List<MSCurrency>(); account = new MSAccount(); accounts = new List<MSAccount>(); category = new MSCategory(); categories = new List<MSCategory>(); transaction = new MSTransaction(); transactions = new List<MSTransaction>(); break; case '5': Console.WriteLine($"5. Выгрузка в CSV файл: "); MSTransaction.SQLiteOutputTransactionsInCSV(transactions); break; case '6': Console.WriteLine($"6. Просмотреть все транзакции: "); Console.Clear(); MSTransaction.ShowAllTransaction(transactions); Console.ReadKey(); Console.Clear(); break; case '7': xReplace = false; break; default: break; } cki = default(ConsoleKeyInfo); } while (xReplace); Console.Clear(); break; case 4: //help maxWidth = 80; maxheight = 25; Console.SetWindowSize(maxWidth, maxheight); Console.SetBufferSize(maxWidth, maxheight); Console.WriteLine(">> Money Supervisor << предназначена для ведения записей о Ваших доходах и расходах"); MSIntro.Show(); Console.Clear(); maxWidth = 40; maxheight = 25; Console.SetWindowSize(maxWidth, maxheight); Console.SetBufferSize(maxWidth, maxheight); break; case 99: Console.WriteLine("Информация добавлена."); Program.cki = Console.ReadKey(); Program.cki = default(ConsoleKeyInfo); Console.Clear(); break; default: break; } break; default: break; } cki = default(ConsoleKeyInfo); MSIntro.Plus(menyuId, 5, 5, ConsoleColor.Green, ConsoleColor.Black); MSIntro.Minus(menyuId, 15, 5, ConsoleColor.Red, ConsoleColor.Black); MSIntro.Transfer(menyuId, 25, 5, ConsoleColor.Blue, ConsoleColor.Black); MSIntro.NotFound(menyuId, maxWidth - 14, maxheight - 5, ConsoleColor.Magenta, ConsoleColor.Black); MSIntro.Param(menyuId, 1, maxheight - 5, ConsoleColor.Yellow, ConsoleColor.Black); Console.SetCursorPosition(0,11); MSStatistics.Show(ref accounts, ref categories, ref transactions); //Console.WriteLine($"3. {dictionary[" "].RetLang(staticLanguage)} "); //Console.WriteLine($"4. {dictionary[" "].RetLang(staticLanguage)} "); //Console.WriteLine($"5. {dictionary[" "].RetLang(staticLanguage)} "); //Console.WriteLine($"6. {dictionary[" "].RetLang(staticLanguage)} "); //Console.ReadKey(); } while (xreplace); }