示例#1
0
        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);                    // обработчик открытия счета
        }
示例#2
0
            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);
                }
            }
示例#3
0
        private static void CloseAccount(Prokat <Account> prokat)
        {
            Console.WriteLine("Введите id дня, который надо закрыть:");
            int id = Convert.ToInt32(Console.ReadLine());

            prokat.Close(id);
        }
示例#4
0
 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);
     }
 }
示例#5
0
        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);
        }
示例#6
0
        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);
        }
示例#7
0
        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;
                }
            }
        }
示例#8
0
            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);
                }
            }
示例#9
0
 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);
     }
 }
示例#10
0
 public static int Put(Prokat user)
 {
     return(Change(user));
 }
示例#11
0
 public static int Post(Prokat item)
 {
     return(AddNew(item));
 }