Exemplo n.º 1
0
        //CREATE
        //This should take CUSTOMER ID, SHIPPING DETAILS, ARRAY OF LINE ITEMS & CREATE ORDER
        public void CreateOrder(OrderDetails newOrder)
        {
            //Console.WriteLine($"Order date: {newOrder.Date}");

            LineItemManager linemgr = new LineItemManager();

            using (var context = DbContextFactory.Create())   //no 'NEW' b/c of static class
            {
                try
                {
                    //Add order
                    context.OrderDetails.Add(newOrder);
                    context.SaveChanges();

                    //For each line in newOrder, update it with new ID
                    foreach (LineItem l in newOrder.Lineitems)
                    {
                        //linemgr.UpdateLineItem(l); 
                        //Console.WriteLine(l.OrderDetailsId);
                    }

                    Console.WriteLine($"Order #{newOrder.Id} added.");
                }
                catch (Exception)
                {
                    Console.WriteLine("Unable to add order....");
                }
            }
        }
Exemplo n.º 2
0
        //UPDATE
        public void UpdateOrder(OrderDetails ord)
        {
            LineItemManager linemgr = new LineItemManager();

            using (var context = DbContextFactory.Create())   //no 'NEW' b/c of static class
            {
                try
                {
                    //Locate order
                    var query = context.OrderDetails.FirstOrDefault(a => a.Id == ord.Id);

                    Console.WriteLine(query.Id);

                    //Update values

                    //If Id matches...
                    if (query.Id == ord.Id)
                    {
                        Console.WriteLine("Query id matches passed value...");

                        query.OrderStatus = ord.OrderStatus;
                        query.Shipmethod.Id = ord.Shipmethod.Id;

                        //Then Save changes to order
                        context.Entry(query).State = EntityState.Modified;
                        context.SaveChanges();

                        if (ord.Lineitems != null)
                        {
                            Console.WriteLine("UPDATED ORDER HAS LINES ");

                            //Update each line item
                            foreach (LineItem l in ord.Lineitems)
                            {
                                //if new line item, create it -- will contain order ID
                                if (l.Id == 0)
                                {
                                    linemgr.CreateLineItem(l);
                                }

                                else
                                {
                                    //Update
                                    linemgr.UpdateLineItem(l);
                                }

                            }// end foreach ql @ line (in query)
                        }

                        Console.WriteLine($"Order ID# {ord.Id} updated successfully.");

                    }//end id match
                }
                catch (Exception)
                {
                    Console.WriteLine("\t** Unable to update Order.");
                }
            }

        }//end update