public ActionResult visOrdre()
        {
            if (Request.IsAuthenticated)
            {
                if (_adminBLL.erAnsatt(User.Identity.Name))
                {
                    var list = _produktBLL.hentOrdre("Ubehandlet");
                    var item = new List<SelectListItem>();
                    item.Add(new SelectListItem { Text = "Ubehandlet", Value = "Ubehandlet" });
                    item.Add(new SelectListItem { Text = "Sendt til Plukk", Value = "Plukkes" });
                    item.Add(new SelectListItem { Text = "Ferdig Plukket", Value = "Plukket" });
                    item.Add(new SelectListItem { Text = "Sendt", Value = "Sendt" });
                    item.Add(new SelectListItem { Text = "Motatt", Value = "Motatt" });
                    ViewBag.status = item;
                    if (list != null)
                        return View(list);
                    else
                    {
                        var tomliste = new List<DBModel.Order>();
                        var tomordre = new DBModel.Order();
                        tomordre.status = "";

                        tomliste.Add(tomordre);
                        return View(tomliste);
                    }
                }
                return RedirectToAction("logginn", "Admin");
            }
            return RedirectToAction("logginn", "Admin");
        }
        public List<DBModel.Order> hentOrdre(string status)
        {
            var liste = new List<DBModel.Order>();
            if(status== null)
            {
                var ordre = new DBModel.Order()
                {
                    status = ""
                };
                liste.Add(ordre);
                liste.Add(ordre);
                liste.Add(ordre);
                return liste;
            }
            var o = new DBModel.Order()
            {

                dato = DateTime.Today,
                Confirmed = true,
                Email = "*****@*****.**",
                Ordernumber = 1,
                status = status,
                statusDato = DateTime.Today
            };
            liste.Add(o);
            liste.Add(o);
            liste.Add(o);
            return liste;
        }
        public List<DBModel.Order> VisOrdreListe(string email)
        {
            var ordreliste = new List<DBModel.Order>();
            if (email == null)
            {
                var orderfail = new DBModel.Order()
                {
                    Ordernumber = 0
                };
                ordreliste.Add(orderfail);
                ordreliste.Add(orderfail);
                ordreliste.Add(orderfail);
                return ordreliste;

            }
            var order = new DBModel.Order()
            {
                Confirmed = true,
                Email = "*****@*****.**",
                Ordernumber = 1,
                dato = DateTime.Today
            };
            ordreliste.Add(order);
            ordreliste.Add(order);
            ordreliste.Add(order);
            return ordreliste;
        }
        public List<DBModel.User> KundeListeSøk(string searchby, string search)
        {
            try
                {
                    if (search == null || search == "")
                    {
                        return null;
                    }
                    if (searchby == "Epost")
                    {

                        var kundeepost = (db.Users.Where(x => x.Email.Contains(search)).ToList());
                        var sendkunde = new List<DBModel.User>();
                        var ordreliste = new List<DBModel.Order>();
                        foreach (var item in kundeepost)
                        {
                            var kunde = new DBModel.User();
                            kunde.Email = item.Email;
                            kunde.Firstname = item.Firstname;
                            kunde.Lastname = item.Lastname;
                            kunde.Orders = null;
                            foreach (var order in item.Orders)
                            {
                                var orderkunde = new DBModel.Order();
                                orderkunde.Confirmed = orderkunde.Confirmed;
                                orderkunde.dato = orderkunde.dato;
                                orderkunde.Email = orderkunde.Email;
                                orderkunde.Ordernumber = orderkunde.Ordernumber;
                                orderkunde.status = orderkunde.status;
                                orderkunde.statusDato = orderkunde.statusDato;
                                ordreliste.Add(orderkunde);
                            }
                            kunde.Orders = ordreliste;
                            sendkunde.Add(kunde);
                        }

                        return sendkunde.ToList();
                    }
                    else
                    {
                        var kundeepost = (db.Users.Where(x => x.Lastname.Contains(search)).ToList());
                        var sendkunde = new List<DBModel.User>();
                        var ordreliste = new List<DBModel.Order>();
                        foreach (var item in kundeepost)
                        {
                            var kunde = new DBModel.User();
                            kunde.Email = item.Email;
                            kunde.Firstname = item.Firstname;
                            kunde.Lastname = item.Lastname;
                            kunde.Orders = null;
                            foreach (var order in item.Orders)
                            {
                                var orderkunde = new DBModel.Order();
                                orderkunde.Confirmed = orderkunde.Confirmed;
                                orderkunde.dato = orderkunde.dato;
                                orderkunde.Email = orderkunde.Email;
                                orderkunde.Ordernumber = orderkunde.Ordernumber;
                                orderkunde.status = orderkunde.status;
                                orderkunde.statusDato = orderkunde.statusDato;
                                ordreliste.Add(orderkunde);
                            }
                            kunde.Orders = ordreliste;
                            sendkunde.Add(kunde);
                        }

                        return sendkunde.ToList();
                    }
                }
                catch (System.Data.SqlClient.SqlException ex)
                {
                    SWKA.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                    "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                    SWKA.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
                }
                catch (InvalidOperationException ex)
                {
                    SWKA.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                     "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                    SWKA.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
                }
                catch (ArgumentException ex)
                {
                    SWKA.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                     "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                    SWKA.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
                }
                catch (NullReferenceException ex)
                {
                    SWKA.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                      "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                    SWKA.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
                }
                catch (SystemException ex)
                {
                    SWKA.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                     "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                    SWKA.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
                }
                catch (Exception ex)
                {
                    SWKA.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                    "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                    SWKA.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
                }

                return null;
        }
        public List<DBModel.Order> hentOrdre(string status)
        {
            try
                {
                    if (status == null || status == "")
                    { return null; }
                    var liste = new List<DBModel.Order>();
                    var ordre = db.Orders.Where(u => u.status == status);
                    if (ordre != null)
                    {
                        foreach (var item in ordre)
                        {
                            var o = new DBModel.Order();
                            o.dato = item.dato;
                            o.Confirmed = item.Confirmed;
                            o.Email = item.Email;
                            o.Ordernumber = item.Ordernumber;
                            o.status = item.status;
                            o.statusDato = item.statusDato;
                            o.Orderlines = new List<DBModel.OrderLine>();
                            liste.Add(o);

                        }
                    }
                    var prodliste = new List<DBModel.OrderLine>();
                    foreach (var item in liste)
                    {
                        var orderline = db.Orderlines.Where(u => u.Ordernumber == item.Ordernumber);

                        foreach (var prod in orderline)
                        {
                            var ol = new DBModel.OrderLine();
                            ol.Ordernumber = prod.Ordernumber;
                            ol.Priceperunit = prod.Priceperunit;
                            ol.Productid = prod.Productid;
                            ol.Quantity = prod.Quantity;
                        ol.Order = new DBModel.Order()
                        {
                            statusDato = prod.Order.statusDato,
                            status = prod.Order.status,

                        };
                            prodliste.Add(ol);
                        }
                        item.Orderlines = prodliste;
                    }

                    return liste;
                }
                catch (System.Data.SqlClient.SqlException ex)
                {
                    SWKP.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                    "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                    SWKP.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
                }
                catch (InvalidOperationException ex)
                {
                    SWKP.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                     "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                    SWKP.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
                }
                catch (ArgumentException ex)
                {
                    SWKP.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                     "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                    SWKP.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
                }
                catch (NullReferenceException ex)
                {
                    SWKP.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                      "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                    SWKP.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
                }
                catch (SystemException ex)
                {
                    SWKP.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                     "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                    SWKP.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
                }
                catch (Exception ex)
                {
                    SWKP.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                    "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                    SWKP.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
                }

                return null;
        }
        public List<DBModel.Order> VisOrdreListe(string email)
        {
            try
            {
                if (email == null || email == "")
                    return null;
                var ordreliste = new List<DBModel.Order>();

                var user = db.Users.FirstOrDefault(u => u.Email == email);
                if (user == null)
                    return null;

                var bekreftedeOrdre = from ordre in db.Orders
                                      where ordre.Confirmed == true && ordre.Email == user.Email
                                      select ordre;
                if (bekreftedeOrdre == null)
                    return null;
                foreach (var item in bekreftedeOrdre)
                {
                    var order = new DBModel.Order();
                    order.Confirmed = item.Confirmed;
                    order.Email = item.Email;
                    order.Ordernumber = item.Ordernumber;
                    order.dato = item.dato;
                    order.status = item.status;
                    order.statusDato = item.statusDato;
                    ordreliste.Add(order);
                }

                return ordreliste;
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                SWKR.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                SWKR.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
            }
            catch (InvalidOperationException ex)
            {
                SWKR.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                 "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                SWKR.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
            }
            catch (ArgumentException ex)
            {
                SWKR.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                 "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                SWKR.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
            }
            catch (NullReferenceException ex)
            {
                SWKR.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                  "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                SWKR.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
            }
            catch (SystemException ex)
            {
                SWKR.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                 "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                SWKR.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
            }
            catch (Exception ex)
            {
                SWKR.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
                "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
                SWKR.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
            }

            return null;
        }