예제 #1
0
        /// <summary>
        /// 9.
        /// Create a method that places a new order in the Northwind database. 
        /// The order should contain several order items. 
        /// Use transaction to ensure the data consistency.
        /// </summary>
        private static void AddOrder()
        {
            var databaseConnection = new NorthwindEntities();

            using (databaseConnection)
            {
                using (var dbContextTransaction = databaseConnection.Database.BeginTransaction())
                {
                    try
                    {
                        var newOrder = new Order()
                        {
                            CustomerID = "BOTTM",
                            EmployeeID = 5,
                            OrderDate = DateTime.Now
                        };

                        newOrder.Order_Details.Add(new Order_Detail { ProductID = 11, UnitPrice = 14.00m, Quantity = 12, Discount = 0 });
                        newOrder.Order_Details.Add(new Order_Detail { ProductID = 42, UnitPrice = 9.80m, Quantity = 5, Discount = 0 });
                        newOrder.Order_Details.Add(new Order_Detail { ProductID = 72, UnitPrice = 34.50m, Quantity = 7, Discount = 0 });

                        databaseConnection.Orders.Add(newOrder);
                        databaseConnection.SaveChanges();

                        dbContextTransaction.Commit();
                    }
                    catch (Exception)
                    {
                        dbContextTransaction.Rollback();
                    }
                }
            }
        }
예제 #2
0
        public static void UpdateCustomer(string customerToEditID, string newName)
        {
            var databaseConnection = new NorthwindEntities();

            using (databaseConnection)
            {
                var customer = databaseConnection.Customers.FirstOrDefault(c => c.CustomerID == customerToEditID);
                customer.ContactName = newName;

                databaseConnection.SaveChanges();
            }
        }
예제 #3
0
        public static void DeleteCustomer(string customerToEditID)
        {
            var databaseConnection = new NorthwindEntities();

            using (databaseConnection)
            {
                var customer = databaseConnection.Customers.FirstOrDefault(c => c.CustomerID == customerToEditID);

                if (customer != null)
                {
                    databaseConnection.Customers.Remove(customer);
                    databaseConnection.SaveChanges();
                }
            }
        }
예제 #4
0
        public static void InsertCustomer(string customerID, string companyName, string contactName, string contactTitle)
        {
            var databaseConnection = new NorthwindEntities();

            var newCustomer = new Customer
            {
                CustomerID = customerID,
                CompanyName = companyName,
                ContactName = contactName,
                ContactTitle = contactTitle
            };

            using (databaseConnection)
            {
                databaseConnection.Customers.Add(newCustomer);
                databaseConnection.SaveChanges();
            }
        }