public int insert(Order order)
 {
     using(var db = new CustomDBContext())
     {
         try
         {
             DBOrder dbOrder = db.Orders.Add(new DBOrder()
             {
                 ID = 0,
                 customerID = order.customer.ID,
                 lines = order.lines.Select(line => new DBOrderLine()
                 {
                     ID = 0,
                     itemID = line.item.ID,
                     quantity = line.quantity,
                     orderID = 0
                 }).ToList(),
                 orderTime = order.orderTime,
                 sentTime = order.sentTime
             });
             db.SaveChanges();
             return dbOrder.ID;
         }
         catch (Exception e)
         {
             Debug.Write("Failed to insert data. Error: " + e.StackTrace.ToString());
             return -1;
         }
     }
 }
 public Order selectOne(int ID)
 {
     using (var db = new CustomDBContext())
     {
         try
         {
             DBOrder dbOrder = db.Orders.Find(ID);
             Order order = new Order()
             {
                 ID = dbOrder.ID,
                 customer = new Customer()
                 {
                     ID = dbOrder.customer.ID,
                     firstName = dbOrder.customer.firstName,
                     lastName = dbOrder.customer.lastName,
                     email = dbOrder.customer.email,
                     password = dbOrder.customer.password,
                     adress = dbOrder.customer.adress,
                     zipCode = dbOrder.customer.zipCode,
                     area = dbOrder.customer.area.area
                 },
                 lines = dbOrder.lines.Select(line => new OrderLine()
                 {
                     ID = line.ID,
                     item = new Item()
                     {
                         ID = line.item.ID,
                         name = line.item.name,
                         country = line.item.country,
                         district = line.item.district,
                         year = line.item.year,
                         type = line.item.type,
                         price = line.item.price,
                         description = line.item.description,
                         stockCount = line.item.stockCount,
                         imgURL = line.item.imgURL
                     },
                     quantity = line.quantity
                 }).ToList(),
                 orderTime = dbOrder.orderTime,
                 sentTime = dbOrder.sentTime
             };
             if (order == null)
                 return null;
             order.calculateTotalPrice();
             return order;
         }
         catch (Exception e)
         {
             Debug.Write("Failed to read data. Error: " + e.StackTrace.ToString());
             return null;
         }
     }
 }