Exemple #1
0
        private void toolStripMenuItemNyBok_Click(object sender, EventArgs e)
        {
            var node = treeView.SelectedNode;

            if (!(node.Tag is Författare författare))
            {
                return;
            }
            activeFörfattare = författare;



            indexOfRow = dataGridView.Rows.Add();
            dataGridView.Rows[indexOfRow].Cells["Förlag"] = new DataGridViewComboBoxCell();
            var comboBoxCell = dataGridView.Rows[indexOfRow].Cells["Förlag"] as DataGridViewComboBoxCell;

            comboBoxCell.ValueType     = typeof(Förlag);
            comboBoxCell.DisplayMember = "Namn";
            comboBoxCell.ValueMember   = "This";
            foreach (var förlag in Förlag)
            {
                comboBoxCell.Items.Add(förlag.This);
            }
            comboBoxCell.Value = comboBoxCell.Items[0];
        }
Exemple #2
0
        public async Task <ActionResult <Författare> > PostFörfattare(Författare författare)
        {
            _context.Författares.Add(författare);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetFörfattare", new { id = författare.FörfattareId }, författare));
        }
Exemple #3
0
        public async Task <IActionResult> PutFörfattare(int id, Författare författare)
        {
            if (id != författare.FörfattareId)
            {
                return(BadRequest());
            }

            _context.Entry(författare).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!FörfattareExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemple #4
0
        private void toolStripMenuItemDeleteFörfattare_Click(object sender, EventArgs e)
        {
            if (treeView.SelectedNode?.Tag is Författare författare)
            {
                var selectedNode = treeView.SelectedNode;

                var result = MessageBox.Show($"Do you want to delete författare {författare.Förnamn} {författare.Efternamn}? " +
                                             $"\nAll the corresponding books will also be deleted.", "Delete författare",
                                             MessageBoxButtons.YesNo
                                             );
                if (result == DialogResult.Yes)
                {
                    foreach (var fbf in författare.FörfattareBöckerFörlags)
                    {
                        foreach (var bok in böcker)
                        {
                            if (bok.Isbn == fbf.Isbn)
                            {
                                db.Böcker.Remove(bok);
                                ISBNList.Remove(bok.Isbn);
                            }
                        }
                    }
                    treeView.Nodes.Remove(selectedNode);
                    treeView.Nodes.Clear();

                    Författare.Remove(författare);
                    db.Författare.Remove(författare);
                    db.SaveChanges();

                    TreeViewRootPopulator(TableNameList, Författare, Kunder, Orders);

                    dataGridView.Rows.Clear();
                    dataGridView.Columns.Clear();
                }
            }
        }
Exemple #5
0
        private void treeViewCustomerOrders_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                var node = treeView.GetNodeAt(e.X, e.Y);
                treeView.SelectedNode = node;

                if (treeView.SelectedNode.Tag.ToString() == "TableNode")
                {
                    dataGridView.Rows.Clear();
                    dataGridView.Columns.Clear();
                }

                toolStripMenuItemAddBook.Visible          = false;
                toolStripMenuItemDeleteFörfattare.Visible = false;
                toolStripMenuItemDeleteBok.Visible        = false;
                toolStripMenuItemAddFörfattare.Visible    = false;
                toolStripMenuItemAddButik.Visible         = false;
                toolStripMenuItemAddKund.Visible          = false;
                toolStripMenuItemNyBok.Visible            = false;


                // TODO: Gör en switchcase med respektive funtion ex; Add order till kunder, add book till författare
                switch (node.Tag)
                {
                case Kunder _:
                    break;

                case Butiker butik:
                    if (butik.LagerSaldos.Count != böcker.Count)
                    {
                        toolStripMenuItemAddBook.Visible = true;
                    }
                    break;

                case Författare person:
                    toolStripMenuItemNyBok.Visible            = true;
                    toolStripMenuItemDeleteFörfattare.Visible = true;
                    activeFörfattare = person;
                    break;

                case "TableNode":
                    if (node.Text == "Författare")
                    {
                        toolStripMenuItemAddFörfattare.Visible = true;
                    }

                    /*else if (node.Text == "Butiker")
                     * {
                     *  toolStripMenuItemAddButik.Visible = true;
                     * }*/
                    else if (node.Text == "Kunder")
                    {
                        toolStripMenuItemAddKund.Visible = true;
                    }
                    break;

                default:
                    break;
                }

                contextMenuStrip.Show(treeView.PointToScreen(new Point(e.X, e.Y)));
            }
            else if (e.Button == MouseButtons.Left)
            {
                var node = treeView.GetNodeAt(e.X, e.Y);
                treeView.SelectedNode = node;

                switch (treeView.SelectedNode.Tag)
                {
                case "TableNode":
                    dataGridView.Rows.Clear();
                    dataGridView.Columns.Clear();
                    break;

                case Författare person:
                    activeFörfattare = person;
                    break;

                default:
                    break;
                }
            }
        }
Exemple #6
0
 public static FörfattareBöckerFörlag AddNyFörfattareBöckerFörlag(string[] userInputBok, Förlag inputFörlag, Författare nyFörfattare)
 {
     return(new FörfattareBöckerFörlag()
     {
         Isbn = userInputBok[0],
         FörfattareId = nyFörfattare.FörfattareId,
         FörlagsId = inputFörlag.FörlagsId
     });
 }