public FormRowStatistic(string table, DataGridViewSelectedCellCollection selectedCells)
        {
            InitializeComponent();
            using (var context = new BotanicalGardenContext())
            {
                int key = int.Parse(selectedCells[0].Value.ToString());
                switch (table)
                {
                case "Tree":
                    DataGridView.DataSource = context.Statistics.Where(s => s.TreeId == key).ToList();
                    break;

                case "Plant":
                    DataGridView.DataSource = context.Statistics.Where(s => s.PlantId == key).ToList();
                    break;
                }
                DataGridView.Columns["Tree"].Visible                = false;
                DataGridView.Columns["Plant"].Visible               = false;
                DataGridView.Columns["Plant"].Visible               = false;
                DataGridView.Columns["Id"].HeaderText               = "№";
                DataGridView.Columns["DateTime"].HeaderText         = "Дата/Время";
                DataGridView.Columns["LivingСonditions"].HeaderText = "Условия обитания";
                DataGridView.Columns["Сondition"].HeaderText        = "Состояние";
                DataGridView.Columns["Population"].HeaderText       = "Популяция";
                DataGridView.Columns["TreeId"].Visible              = false;
                DataGridView.Columns["PlantId"].Visible             = false;
                DataGridView.Refresh();
            }
        }
Esempio n. 2
0
        private void BSave_Click(object sender, EventArgs e)
        {
            var dateTime         = TBDateTime.Text;
            var livingСonditions = TBLivingСonditions.Text;
            var condition        = TBCondition.Text;
            var population       = TBPopulation.Text;
            var key = TreeView.SelectedNode != null?int.Parse(TreeView.SelectedNode.Name) : -1;

            if (dateTime.Equals("") || livingСonditions.Equals("") || condition.Equals("") || population.Equals("") || key == -1)
            {
                MessageBox.Show("Укажите все параметры", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            var stat = new Statistic();

            using (var context = new BotanicalGardenContext())
            {
                switch (param)
                {
                case ActionParameters.AddStatistics:
                    stat.DateTime         = Convert.ToDateTime(dateTime);
                    stat.LivingСonditions = livingСonditions;
                    stat.Сondition        = condition;
                    stat.Population       = int.Parse(population);
                    if (RBTree.Checked)
                    {
                        stat.TreeId = key;
                    }
                    if (RBPlant.Checked)
                    {
                        stat.PlantId = key;
                    }
                    context.Statistics.Add(stat);
                    break;

                case ActionParameters.EditStatistics:
                    stat                  = context.Statistics.Find(selectedCells[0].Value);
                    stat.DateTime         = Convert.ToDateTime(dateTime);
                    stat.LivingСonditions = livingСonditions;
                    stat.Сondition        = condition;
                    stat.Population       = int.Parse(population);
                    if (RBTree.Checked)
                    {
                        stat.TreeId = key; stat.PlantId = null;
                    }
                    if (RBPlant.Checked)
                    {
                        stat.PlantId = key; stat.TreeId = null;
                    }
                    break;
                }
                context.SaveChanges();
            }
            Hide();
            fsClass.InitDGVStatistics();
        }
Esempio n. 3
0
        private void ButtonSave_Click(object sender, EventArgs e)
        {
            var name   = TBName.Text;
            var type   = TBType.Text;
            var family = TBFamily.Text;
            var rod    = TBRod.Text;

            using (var context = new BotanicalGardenContext())
            {
                switch (param)
                {
                case ActionParameters.AddTree:
                    context.Trees.Add(new Tree {
                        Name = name, View = type, Family = family, Rod = rod
                    });
                    break;

                case ActionParameters.AddPlant:
                    context.Plants.Add(new Plant {
                        Name = name, Type = type
                    });
                    break;

                case ActionParameters.EditTree:
                    var tree = context.Trees.Find(selectedCells[0].Value);
                    tree.Name   = name;
                    tree.View   = type;
                    tree.Family = family;
                    tree.Rod    = rod;
                    context.Entry(tree).State = EntityState.Modified;
                    break;

                case ActionParameters.EditPlant:
                    var plant = context.Plants.Find(selectedCells[0].Value);
                    plant.Name = name;
                    plant.Type = type;
                    context.Entry(plant).State = EntityState.Modified;
                    break;
                }
                context.SaveChanges();
            }
            Hide();
            switch (param)
            {
            case ActionParameters.AddTree:
            case ActionParameters.EditTree:
                fsClass.InitDGVTree();
                break;

            case ActionParameters.AddPlant:
            case ActionParameters.EditPlant:
                fsClass.InitDGVPlants();
                break;
            }
        }
Esempio n. 4
0
 public void InitDGVPlants()
 {
     using (var context = new BotanicalGardenContext())
     {
         context.Plants.Load();
         DGVPlant.DataSource = context.Plants.Local.ToBindingList();
         DGVPlant.Columns["Statistics"].Visible = false;
         DGVPlant.Columns["Id"].HeaderText      = "№";
         DGVPlant.Columns["Name"].HeaderText    = "Название";
         DGVPlant.Columns["Type"].HeaderText    = "Разновидность";
         DGVPlant.Refresh();
     }
 }
Esempio n. 5
0
        private void RadioButton_CheckedChanged(object sender, EventArgs e)
        {
            using (var context = new BotanicalGardenContext())
            {
                TreeView.Nodes.Clear();
                if (RBTree.Checked)
                {
                    var listTree = context.Trees.ToList();
                    switch (param)
                    {
                    case ActionParameters.AddStatistics:
                        listTree.ForEach(item => { TreeView.Nodes.Add(item.Id.ToString(), item.Id + " | " + item.Name + " | " + item.View); });
                        break;

                    case ActionParameters.EditStatistics:
                        var tree = selectedCells[5].Value;
                        listTree.ForEach(item =>
                        {
                            var tn = TreeView.Nodes.Add(item.Id.ToString(), item.Id + " | " + item.Name + " | " + item.View);
                            if (tree != null && item.Id == (int)tree)
                            {
                                SelectedNode(tn);
                            }
                        });
                        break;
                    }
                }
                if (RBPlant.Checked)
                {
                    var listPlants = context.Plants.ToList();
                    switch (param)
                    {
                    case ActionParameters.AddStatistics:
                        listPlants.ForEach(item => { TreeView.Nodes.Add(item.Id.ToString(), item.Id + " | " + item.Name + " | " + item.Type); });
                        break;

                    case ActionParameters.EditStatistics:
                        var plants = selectedCells[7].Value;
                        listPlants.ForEach(item =>
                        {
                            var tn = TreeView.Nodes.Add(item.Id.ToString(), item.Id + " | " + item.Name + " | " + item.Type);
                            if (plants != null && RBPlant.Checked && item.Id == (int)plants)
                            {
                                SelectedNode(tn);
                            }
                        });
                        break;
                    }
                }
            }
        }
Esempio n. 6
0
 public void InitDGVTree()
 {
     using (var context = new BotanicalGardenContext())
     {
         context.Trees.Load();
         DGVTree.DataSource = context.Trees.Local.ToBindingList();
         DGVTree.Columns["Statistics"].Visible = false;
         DGVTree.Columns["Id"].HeaderText      = "№";
         DGVTree.Columns["Name"].HeaderText    = "Название";
         DGVTree.Columns["View"].HeaderText    = "Вид";
         DGVTree.Columns["Family"].HeaderText  = "Семейство";
         DGVTree.Columns["Rod"].HeaderText     = "Род";
         DGVTree.Refresh();
     }
 }
Esempio n. 7
0
 public void InitDGVStatistics()
 {
     using (var context = new BotanicalGardenContext())
     {
         context.Statistics.Load();
         DGVStatistics.DataSource = context.Statistics.Local.ToBindingList();
         DGVStatistics.Columns["Tree"].Visible                = false;
         DGVStatistics.Columns["Plant"].Visible               = false;
         DGVStatistics.Columns["Id"].HeaderText               = "№";
         DGVStatistics.Columns["DateTime"].HeaderText         = "Дата/Время";
         DGVStatistics.Columns["LivingСonditions"].HeaderText = "Среда обитания";
         DGVStatistics.Columns["Сondition"].HeaderText        = "Состояние";
         DGVStatistics.Columns["Population"].HeaderText       = "Количество";
         DGVStatistics.Columns["TreeId"].HeaderText           = "№ дереа";
         DGVStatistics.Columns["PlantId"].HeaderText          = "№ растения";
         DGVStatistics.Refresh();
     }
 }
Esempio n. 8
0
        private void BDelete_Click(object sender, EventArgs e)
        {
            using (var context = new BotanicalGardenContext())
            {
                DialogResult dr = MessageBox.Show("Подтверждение удаления!", "Удаление", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (dr == DialogResult.OK)
                {
                    switch (TabControl.SelectedIndex)
                    {
                    case 0:
                        foreach (DataGridViewRow row in DGVTree.SelectedRows)
                        {
                            var deleteTree = context.Trees.Find(row.Cells[0].Value);
                            deleteTree.Statistics.Clear();
                            context.Trees.Remove(deleteTree);
                        }
                        context.SaveChanges();
                        InitDGVTree();
                        break;

                    case 1:
                        foreach (DataGridViewRow row in DGVPlant.SelectedRows)
                        {
                            var deletePlant = context.Plants.Find(row.Cells[0].Value);
                            deletePlant.Statistics.Clear();
                            context.Plants.Remove(deletePlant);
                        }
                        context.SaveChanges();
                        InitDGVPlants();
                        break;

                    case 2:
                        foreach (DataGridViewRow row in DGVStatistics.SelectedRows)
                        {
                            var deleteStatistics = context.Statistics.Find(row.Cells[0].Value);
                            context.Statistics.Remove(deleteStatistics);
                        }
                        context.SaveChanges();
                        InitDGVStatistics();
                        break;
                    }
                }
            }
        }