示例#1
0
        /*Legger Orders og ProductOrders inn i databasen. CustomerID og pruductID-ene må være med i modellen*/
        public bool add(OrderModel orderModel)
        {
            using (var db = new CustomerContext())
            {
                try
                {
                    var customer = db.Customers.Find(orderModel.customerID);
                    if (customer == null)//tester om ordren tilhører en eksisterende kunde
                        return false;
                    var order = new Orders();
                    order.Customers = customer;
                    db.Orders.Add(order);
                    db.SaveChanges();
                    orderModel.orderNr = order.orderNr;//lagrer ordrenummeret i modellen for senere bruk
                    return addProductOrders(orderModel);//legger til produkt ordrene

                }
                catch (Exception ex)
                {
                    _logging.logToDatabase(ex);
                }
                return false;
            }
        }
示例#2
0
        private OrderModel createOrderModel(Orders order)
        {
            var orderModel = new OrderModel();
            using (var db = new CustomerContext())
            {
                if (order == null)//tester om orderen finnes
                    return null;
                try
                {
                    orderModel.orderNr = order.orderNr;
                    orderModel.customerID = order.personID;

                    var productOrders = (from p in db.ProductOrders
                                         where p.orderNr == order.orderNr
                                         select p).ToList();
                    orderModel.total = 0;
                    var productDAL = new ProductDAL();
                    foreach (var o in productOrders)//legger produktene til i order modellen
                    {
                        var productModel = productDAL.find(o.products.productID);
                        productModel.quantity = o.quantity;
                        orderModel.products.Add(productModel);
                        orderModel.total += o.price;
                    }
                    return orderModel;
                }
                catch (Exception ex)
                {
                    _logging.logToDatabase(ex);
                }
            }
            return null;
        }