public static User addUser() { User us = new User(); XmlParser xmlp = new XmlParser(); Console.WriteLine("Введите ФИО:"); us.fio = Console.ReadLine(); Console.WriteLine("Депозиты:"); List<Deposit> deposits = xmlp.GetAllDeposits(); for (int i = 0; i < deposits.Count; i++) { Console.WriteLine(i + "." + deposits[i].GetName()); } Console.WriteLine("Введите номер:"); us.depositName = deposits[int.Parse(Console.ReadLine())].GetName(); Console.WriteLine("Введите сумму:"); us.Summa = double.Parse(Console.ReadLine()); us.Date = DateTime.Now.Date; xmlp.AddUser(us); return us; }
public void AddUser(User usr) { XDocument doc = XDocument.Load(usersFile); XNode node = doc.Root.FirstNode; int maxID; if (node == null) { maxID = 0; } else { maxID = doc.Root.Elements("user").Max(t => Int32.Parse(t.Element("id").Value)); } XElement user = new XElement("user", new XElement("id", ++maxID), new XElement("FIO", usr.fio), new XElement("summa", usr.Summa), new XElement("nameDeposit", usr.depositName), new XElement("date", usr.Date)); doc.Root.Add(user); doc.Save(usersFile); }
public static void Action(User user) { bool flag = true; XmlParser xmlp = new XmlParser(); user.Сalculation(); xmlp.UpdateUser(user, "../../xmls/Users.xml", "user", "id", user.GetId().ToString()); do { switch (Menu()) { case 1: Console.WriteLine("Сумма:" + user.showCashAmount()); HistoryUnit log = new HistoryUnit(); log.Date = DateTime.Today; log.Operation = "Запрос баланса пользователем"; xmlp.UpdateUserHistory(log, user.fio); break; case 2: Console.WriteLine("Введите сумму, которую хотите добавить "); double money = Double.Parse(Console.ReadLine()); user.addFund(money); HistoryUnit log2 = new HistoryUnit(); log2.Date = DateTime.Today; log2.Operation = "Зачислено " + money + " денежных единиц на счёт"; xmlp.UpdateUserHistory(log2, user.fio); xmlp.UpdateUser(user, "../../xmls/Users.xml", "user", "id", user.GetId().ToString()); break; case 3: Console.WriteLine("Введите сумму, которую хотите снять "); double moneyOut = Double.Parse(Console.ReadLine()); user.getProfit(moneyOut); HistoryUnit log3 = new HistoryUnit(); log3.Date = DateTime.Today; log3.Operation = "Снято " + moneyOut + " денежных единиц со счёта"; xmlp.UpdateUserHistory(log3, user.fio); xmlp.UpdateUser(user, "../../xmls/Users.xml", "user", "id", user.GetId().ToString()); break; case 4: Console.WriteLine("Выписка: "); foreach (HistoryUnit hu in xmlp.ReadUserHistory(user.fio)) { if (hu.Date >= DateTime.Today.AddMonths(-1)) { System.Console.WriteLine("\n"); System.Console.WriteLine(hu.Date); System.Console.WriteLine(hu.Operation); System.Console.WriteLine("==================="); } } break; case 5: Console.WriteLine("Вы действительно хотите закрыть свой депозит??? 1 - Да 2 - Нет. "); int decision = Int32.Parse(Console.ReadLine()); if (decision == 1) { xmlp.DeleteRootInFileByRootnameAndId("../../xmls/Users.xml", "user", "id", user.GetId().ToString()); flag = false; } else break; break; case 0: flag = false; break; } } while (flag); }
public bool UpdateUser(User usr, String file, String rootName, String idName, String id) { XDocument doc = XDocument.Load(usersFile); IEnumerable<XElement> entities = doc.Root.Descendants(rootName).Where( t => t.Element(idName).Value.Equals(id)).ToList(); if (entities.Count() != 0) { foreach (XElement t in entities) { t.SetElementValue("id", usr.GetId()); t.SetElementValue("FIO", usr.GetFIO()); t.SetElementValue("summa", usr.GetSumma()); t.SetElementValue("nameDeposit", usr.GetNameDeposit()); t.SetElementValue("date", usr.GetDate()); } doc.Save(file); return true; } else return false; }
public List<User> GetAllUsers() { XDocument doc = XDocument.Load(usersFile); List<User> users = new List<User>(); XNode node = doc.Root.FirstNode; while (node != null) { if (node.NodeType == System.Xml.XmlNodeType.Element) { User user = new User(); XElement el = (XElement)node; user.iD = Int32.Parse(el.Element("id").Value); user.fio = el.Element("FIO").Value; user.Summa = Double.Parse(el.Element("summa").Value); user.depositName = el.Element("nameDeposit").Value; user.Date = DateTime.Parse(el.Element("date").Value); users.Add(user); } node = node.NextNode; } return users; }