Exemplo n.º 1
0
 private void button4_Click(object sender, EventArgs e)        //Кнопка изменения курса товара
 {
     if (dataGridView1.SelectedRows.Count > 0)                 //берем выбранную строку
     {
         int  index     = dataGridView1.SelectedRows[0].Index; //находим по ее индексу элемент в базе данных
         int  id        = 0;
         bool converted = Int32.TryParse(dataGridView1[0, index].Value.ToString(), out id);
         if (converted == false)
         {
             return;
         }
         Item             item = db.Items.Find(id);//находим товар и загружаем его данные в форму изменения курса
         CourseChangeForm form = new CourseChangeForm();
         form.textBox2.Text = item.Name;
         form.textBox3.Text = item.ExchangeRate.ToString();
         DialogResult result = form.ShowDialog(this);
         if (result == DialogResult.Cancel)//После закрытия формы заносим полученные данные в базу
         {
             return;
         }
         item.ExchangeRate = Convert.ToDouble(form.textBox4.Text); //Меняем курс товара
         db.SaveChanges();
         ExchangeRateHistory erh = new ExchangeRateHistory();      //Делаем запись об изменении курса товара
         erh.Item               = item;
         erh.ItemId             = item.Id;
         erh.ExchangeRateChange = item.ExchangeRate;
         erh.DateOfChange       = DateTime.Now;
         item.RateHistory.Add(erh);
         db.ExchangeRateHistories.Add(erh);//Сохраняем изменения в бд
         db.SaveChanges();
         dataGridView1.Refresh();
         Updater();    //Обновляем таблицу курса товара
         GraphBuild(); //Заново строим график
     }
 }
Exemplo n.º 2
0
        private void button3_Click(object sender, EventArgs e) //Кнопка добавления товара
        {
            ItemAddForm form = new ItemAddForm();              //Вызываем форму

            DialogResult result = form.ShowDialog(this);

            if (result == DialogResult.Cancel)//После закрытия формы заносим полученные данные в базу
            {
                return;
            }
            Item item = new Item();

            item.Name         = form.textBox1.Text;              //Создаем товар по введенным данным
            item.ExchangeRate = Convert.ToDouble(form.textBox2.Text);
            ExchangeRateHistory erh = new ExchangeRateHistory(); //Делаем запись об изменении курса товара

            erh.DateOfChange       = DateTime.Now;
            erh.ExchangeRateChange = item.ExchangeRate;
            erh.Item = item;
            item.RateHistory.Add(erh);

            db.Items.Add(item);//Сохраняем запись и товар в бд
            db.ExchangeRateHistories.Add(erh);
            db.SaveChanges();
            List <Person> users = db.People.Local.Where(u => u.role.Name == "User").ToList();//для каждого юзера создаем баланс этого товара в бд

            if (users != null)
            {
                foreach (Person v in users)
                {
                    ItemPersonAccount ipa = new ItemPersonAccount();
                    ipa.Item         = item;
                    ipa.ItemQuantity = 0;
                    ipa.Person       = v;
                    ipa.PersonId     = v.Id;
                    db.ItemPersonAccounts.Add(ipa);
                    v.Accounts.Add(ipa);
                    db.SaveChanges();
                }
            }
            dataGridView1.Refresh(); //Обновляем таблицу товаров
            Updater();               //Обновляем таблицу истории курса
            GraphBuild();            //Заново строим график
        }
Exemplo n.º 3
0
        protected override void Seed(webcontext context)//Вносим начальные данные при создании бд
        {
            //if (!context.Items.Any())
            //{
            context.Items.Add(new Item
            {
                Name         = "BeepCoin",
                ExchangeRate = 7400.00
            });
            context.Items.Add(new Item
            {
                Name         = "Dollar",
                ExchangeRate = 100.00
            });
            context.Items.Add(new Item
            {
                Name         = "EuroCoin",
                ExchangeRate = 150.00
            });
            context.Items.Add(new Item
            {
                Name         = "Rubol",
                ExchangeRate = 10.00
            });
            context.Items.Add(new Item
            {
                Name         = "OilBarrel",
                ExchangeRate = 20.00
            });

            context.SaveChanges();
            //}
            //if (!context.Roles.Any())
            //{
            context.Roles.AddRange(new List <Role> {
                new Role
                {
                    Name = "Admin"
                },
                new Role
                {
                    Name = "User"
                }
            });
            context.SaveChanges();
            //}
            //if (!context.ExchangeRateHistories.Any())
            //{
            List <Item> itemslist = context.Items.ToList();

            DateTime[] arr = new DateTime[5];
            arr[0] = new DateTime(2015, 5, 17, 18, 30, 25);
            arr[1] = new DateTime(2018, 1, 9, 16, 50, 20);
            arr[2] = new DateTime(2019, 10, 24, 18, 30, 25);
            arr[3] = new DateTime(2020, 1, 2, 13, 24, 25);
            arr[4] = new DateTime(2020, 4, 13, 2, 2, 25);
            foreach (Item i in itemslist)
            {
                Random random = new Random();
                double db     = i.ExchangeRate;
                for (int j = 0; j < 4; j++)
                {
                    ExchangeRateHistory erh = new ExchangeRateHistory
                    {
                        Item               = i,
                        ItemId             = i.Id,
                        DateOfChange       = arr[j],
                        ExchangeRateChange = Math.Round(random.NextDouble() * (db + (db / 5) - (db - (db / 5)) + (db - (db / 5))), 2)
                    };
                    context.ExchangeRateHistories.Add(erh);
                    i.RateHistory.Add(erh);
                    context.SaveChanges();
                }
                ExchangeRateHistory erhf = new ExchangeRateHistory
                {
                    Item               = i,
                    ItemId             = i.Id,
                    DateOfChange       = arr[4],
                    ExchangeRateChange = i.ExchangeRate
                };
                context.ExchangeRateHistories.Add(erhf);
                i.RateHistory.Add(erhf);
                context.SaveChanges();
            }

            //}
        }