private static void OpenAccount(Prokat <Account> prokat) { Console.WriteLine("Укажите сумму для создания счета:"); decimal sum = Convert.ToDecimal(Console.ReadLine()); Console.WriteLine("Введите 1"); AccountType accountType; int type = Convert.ToInt32(Console.ReadLine()); if (type == 2) { accountType = AccountType.Deposit; } else { accountType = AccountType.Ordinary; } prokat.Open(accountType, sum, AddSumHandler, // обработчик добавления средств на счет WithdrawSumHandler, // обработчик вывода средств (o, e) => Console.WriteLine(e.Message), // обработчик начислений процентов в виде лямбда-выражения CloseAccountHandler, // обработчик закрытия счета OpenAccountHandler); // обработчик открытия счета }
internal static int AddNew(Prokat item) { using (var unitOfWork = new UnitOfWork()) { DB.Prokats dbItem; using (var items = new XPCollection <DB.Prokats>(unitOfWork)) { dbItem = new DB.Prokats(unitOfWork) { Name = item.Name, Address = item.Address, Phones = item.Phones, Worktime = item.Worktime }; using (var usrs = new XPCollection <DB.Users>(unitOfWork)) { dbItem.User = usrs.FirstOrDefault(q => q.Id == item.User.Id); } items.Add(dbItem); } unitOfWork.CommitChanges(); return(dbItem.Id); } }
private static void CloseAccount(Prokat <Account> prokat) { Console.WriteLine("Введите id дня, который надо закрыть:"); int id = Convert.ToInt32(Console.ReadLine()); prokat.Close(id); }
private void Save() { try { foreach (Control ctrl in panelControlServices.Controls) { if (!(ctrl is ServicesControl)) { continue; } var sc = (ServicesControl)ctrl; var serv = sc.GetService(); Model.Services.Put(serv); } if (_template != null) { if (_template.Id == 0) { Model.Templates.Post(_template); } else { Model.Templates.Put(_template); } } var rName = textEditRName.Text.Trim(); var rAddress = textEditRAddress.Text.Trim(); var rPhones = textEditRPhones.Text.Trim(); var rTime = textEditRTime.Text.Trim(); if (_prokat == null) { var prokat = new Prokat { Name = rName, Address = rAddress, Phones = rPhones, Worktime = rTime, User = _user }; Model.Prokats.Post(prokat); } else { _prokat.Name = rName; _prokat.Address = rAddress; _prokat.Phones = rPhones; _prokat.Worktime = rTime; Model.Prokats.Put(_prokat); } Close(); } catch (Exception ex) { VLog.Log(ex); MessageBox.Show(ex.Message); } }
private static void Put(Prokat <Account> prokat) { Console.WriteLine("Укажите сумму, оплаченного заказа:"); decimal sum = Convert.ToDecimal(Console.ReadLine()); Console.WriteLine("Введите Id дня:"); int id = Convert.ToInt32(Console.ReadLine()); prokat.Put(sum, id); }
private static void Withdraw(Prokat <Account> prokat) { Console.WriteLine("Укажите сумму для возврата средств:"); decimal sum = Convert.ToDecimal(Console.ReadLine()); Console.WriteLine("Введите id дня:"); int id = Convert.ToInt32(Console.ReadLine()); prokat.Withdraw(sum, id); }
static void Main(string[] args) { Prokat <Account> prokat = new Prokat <Account>("Прокат СнежКом"); bool alive = true; while (alive) { ConsoleColor color = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.DarkGreen; // выводим список команд зеленым цветом Console.WriteLine("1. Открыть день \n 2. оформить возврат \n 3. Добавить оплату"); Console.WriteLine("4. Закрыть день \n 5. Пропустить день \n 6. Выйти из программы"); Console.WriteLine("Введите номер пункта:"); Console.ForegroundColor = color; try { int command = Convert.ToInt32(Console.ReadLine()); switch (command) { case 1: OpenAccount(prokat); break; case 2: Withdraw(prokat); break; case 3: Put(prokat); break; case 4: CloseAccount(prokat); break; case 5: break; case 6: alive = false; continue; } } catch (Exception ex) { // выводим сообщение об ошибке красным цветом color = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); Console.ForegroundColor = color; } } }
internal static int Change(Prokat item) { using (var unitOfWork = new UnitOfWork()) { using (var items = new XPCollection <DB.Prokats>(unitOfWork)) { var dbItem = items.FirstOrDefault(u => u.Id == item.Id); if (dbItem == null) { throw new Exception(Resources.Prokats_Read_Автопрокат_не_найден_); } dbItem.Name = item.Name; dbItem.Address = item.Address; dbItem.Phones = item.Phones; dbItem.Worktime = item.Worktime; } unitOfWork.CommitChanges(); return(item.Id); } }
private void LoadData() { try { var services = Model.Services.GetAllByUser(_user.Id); if (services == null || !services.Any()) { var service = new Service() { Name = "GPS навигатор", User = _user }; Model.Services.Post(service); var service1 = new Service() { Name = "Без депозита", User = _user }; Model.Services.Post(service1); var service2 = new Service() { Name = "Без ограничения пробега", User = _user }; Model.Services.Post(service2); var service3 = new Service() { Name = "Детское кресло", User = _user }; Model.Services.Post(service3); services = Model.Services.GetAllByUser(_user.Id); } _prokat = Model.Prokats.GetbyUser(_user.Id); //panelControlServices.Controls.Clear(); bool gray = true; foreach (var service in services) { var sc = new ServicesControl(service); panelControlServices.Controls.Add(sc); sc.Dock = DockStyle.Top; sc.BringToFront(); if (gray) { sc.SetSkin(); } gray = !gray; } var template = Model.Templates.GetbyUser(_user.Id); if (template != null) { textEditPath.Text = template.Path; _template = template; } if (_prokat != null) { textEditRName.Text = _prokat.Name; textEditRAddress.Text = _prokat.Address; textEditRPhones.Text = _prokat.Phones; textEditRTime.Text = _prokat.Worktime; } } catch (Exception ex) { VLog.Log(ex); MessageBox.Show(ex.Message); } }
public static int Put(Prokat user) { return(Change(user)); }
public static int Post(Prokat item) { return(AddNew(item)); }