Пример #1
0
        public async Task <IActionResult> PutArtiklar(int id, Artiklar artiklar)
        {
            try
            {
                if (id != artiklar.Id)
                {
                    return(BadRequest());
                }

                _context.Entry(artiklar).State = EntityState.Modified;

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

                return(NoContent());
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
                return(RedirectToAction("Index", "Felhanterings"));
            }
        }
Пример #2
0
        protected void buttonBuy_Click(object sender, EventArgs e)
        {
            KlassBibliotek sqlBibliotek = new KlassBibliotek();


            if (Request.Cookies["loggedInUser"] != null)
            {
                int kundID  = int.Parse(Request.Cookies["loggedInUser"].Value);
                int orderID = sqlBibliotek.OrderRegistrering(kundID);

                List <Artiklar> artikelList         = sqlBibliotek.ReadAllArtiklar();
                List <Artiklar> artiklariVarukorgen = new List <Artiklar>();

                string cookieData = Request.Cookies["shoppingCart"].Value;


                cookieData = cookieData.Replace("%2C", ",");

                Response.Cookies["shoppingCart"].Value   = cookieData;
                Response.Cookies["shoppingCart"].Expires = DateTime.Now.AddDays(1);

                if (cookieData != null)
                {
                    string[] data = cookieData.Split(',');


                    foreach (var artikel in data)
                    {
                        if (artikel != "")
                        {
                            Artiklar artikelIVarukorgen = artikelList.FirstOrDefault(x => x.AID == int.Parse(artikel));
                            if (artikelIVarukorgen != null)
                            {
                                artiklariVarukorgen.Add(artikelIVarukorgen);
                            }
                        }
                    }
                }

                IEnumerable <int> unikaArtiklarIVarukorgen = artiklariVarukorgen.Select(x => x.AID).Distinct();

                foreach (var artikelID in unikaArtiklarIVarukorgen)
                {
                    int antal = artiklariVarukorgen.Where(x => x.AID == artikelID).Count();

                    int pris = artiklariVarukorgen.FirstOrDefault(x => x.AID == artikelID).pris;

                    sqlBibliotek.VarukorgsRegistrering(artikelID, pris, antal, kundID, orderID);
                }
                Response.Cookies["shoppingCart"].Value   = "";
                Response.Cookies["shoppingCart"].Expires = DateTime.Now.AddDays(-1d);

                Response.Redirect("/OrderPlaced.aspx?orderID=" + orderID);
            }
            else
            {
                buyLoggedInLabel.Text = "Du måste logga in först!";
            }
        }
Пример #3
0
        public async Task <ActionResult <Artiklar> > PostArtiklar(Artiklar artiklar)
        {
            try
            {
                _context.Artiklars.Add(artiklar);
                await _context.SaveChangesAsync();

                return(CreatedAtAction("GetArtiklar", new { id = artiklar.Id }, artiklar));
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
                return(RedirectToAction("Index", "Felhanterings"));
            }
        }
Пример #4
0
        public async Task <IActionResult> Create([Bind("Id,Produktnamn,Produktbeskrivning,Tillverkare,Pris,Antal,KategoriId")] Artiklar artiklar)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _context.Add(artiklar);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
                ViewData["KategoriId"] = new SelectList(_context.Kategoris, "KategoriId", "Kategorinamn", artiklar.KategoriId);
                return(View(artiklar));
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
                return(RedirectToAction("Felhantering"));
            }
        }
Пример #5
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Produktnamn,Produktbeskrivning,Tillverkare,Pris,Antal,KategoriId")] Artiklar artiklar)
        {
            try
            {
                if (id != artiklar.Id)
                {
                    return(NotFound());
                }

                if (ModelState.IsValid)
                {
                    try
                    {
                        _context.Update(artiklar);
                        await _context.SaveChangesAsync();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!ArtiklarExists(artiklar.Id))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                    return(RedirectToAction(nameof(Index)));
                }
                ViewData["KategoriId"] = new SelectList(_context.Kategoris, "KategoriId", "KategoriId", artiklar.KategoriId);
                return(View(artiklar));
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
                return(RedirectToAction("Felhantering"));
            }
        }
Пример #6
0
        private void LoadShoppingCart()
        {
            //Laddar cookien och plockar ut artikelid för artiklarna i varukorgen. Genererar HTML-tabell.


            if (Request.Cookies["shoppingCart"] != null)
            {
                string cookieData = Request.Cookies["shoppingCart"].Value;

                cookieData = cookieData.Replace("%2C", ",");

                Response.Cookies["shoppingCart"].Value   = cookieData;
                Response.Cookies["shoppingCart"].Expires = DateTime.Now.AddDays(1);


                string[]        data         = cookieData.Split(',');
                KlassBibliotek  sqlBibliotek = new KlassBibliotek();
                List <Artiklar> artikelList  = sqlBibliotek.ReadAllArtiklar();



                foreach (var artikel in data)
                {
                    if (artikel != "")
                    {
                        bool     exists      = false;
                        Artiklar artikelInfo = artikelList.FirstOrDefault(x => x.AID == int.Parse(artikel));
                        if (artikelInfo != null)
                        {
                            for (int i = 0; i < shoppingCartTable.Rows.Count; i++)
                            {
                                if (artikelInfo.AID.ToString() == shoppingCartTable.Rows[i].Cells[0].Text)
                                {
                                    TextBox superTextBox = (TextBox)shoppingCartTable.Rows[i].Cells[2].Controls[0];
                                    int     numberOf     = int.Parse(superTextBox.Text);
                                    numberOf++;
                                    int totalPrice = numberOf * artikelInfo.pris;
                                    superTextBox.Text = numberOf.ToString();
                                    shoppingCartTable.Rows[i].Cells[4].Text = $"{totalPrice.ToString()}";

                                    exists = true;
                                }
                            }
                            if (!exists)
                            {
                                {
                                    TableRow newRow = new TableRow();

                                    TableCell newCell1 = new TableCell();
                                    TableCell newCell2 = new TableCell();
                                    TableCell newCell3 = new TableCell();
                                    TableCell newCell4 = new TableCell();
                                    TableCell newCell5 = new TableCell();

                                    TextBox numberBox = new TextBox();
                                    numberBox.Attributes.Add("type", "number");

                                    numberBox.Attributes.Add("min", "1");
                                    numberBox.Attributes.Add("runat", "server");
                                    numberBox.Attributes.Add("class", "numberBoxes");
                                    numberBox.Text = "1";
                                    numberBox.Attributes.Add("OnTextChanged", "ChangeNumberText");
                                    Button deleteButton = new Button();
                                    deleteButton.Text = "Ta bort Samtliga";
                                    deleteButton.Attributes.Add("class", "deleteButton");

                                    //numberBox.Attributes.Add("autopostback", "true");
                                    numberBox.Attributes.Add("ID", $"numberBox{shoppingCartTable.Rows.Count - 1}");

                                    newCell1.Text = artikelInfo.AID.ToString();
                                    newCell2.Text = artikelInfo.artikelnamn;
                                    newCell3.Controls.Add(numberBox);
                                    newCell3.Controls.Add(deleteButton);
                                    //newCell3.Text = $"<asp:TextBox ID=\"numberTextBox{}\" type=\"number\" min=\"1\" runat=\"server\">1</asp:TextBox>";
                                    newCell4.Text     = $"{artikelInfo.pris.ToString()}";
                                    newCell5.Text     = $"{artikelInfo.pris.ToString()}";
                                    newCell5.CssClass = "sum";

                                    newRow.Cells.Add(newCell1);
                                    newRow.Cells.Add(newCell2);
                                    newRow.Cells.Add(newCell3);
                                    newRow.Cells.Add(newCell4);
                                    newRow.Cells.Add(newCell5);

                                    shoppingCartTable.Rows.AddAt(shoppingCartTable.Rows.Count - 1, newRow);
                                }
                            }
                        }
                    }
                }
                int superSum = 0;
                for (int i = 0; i < shoppingCartTable.Rows.Count; i++)
                {
                    if (shoppingCartTable.Rows[i].Cells[4].CssClass == "sum")
                    {
                        superSum += int.Parse(shoppingCartTable.Rows[i].Cells[4].Text);
                    }
                }
                sumOfAll.Text = $"{superSum.ToString()}";
            }
            else
            {
                buttonBuy.Visible = false;
            }
        }