コード例 #1
0
 /// <summary>
 /// Adds an order to the database and returns it.
 /// </summary>
 /// <param name="ord">the order to be added</param>
 public Order Add(Order ord)
 {
     using (var ctx = new MovieShopContext())
     {
         foreach (Orderline item in ord.Orderlines)
         {
             bool isDetached = ctx.Entry(item.Movie).State == EntityState.Detached;
             if (isDetached)
                 ctx.Movies.Attach(item.Movie);
             ctx.Entry(item.Movie.Genre).State = EntityState.Detached;
         }
         GenreRepository genreRep = new GenreRepository();
         foreach (var item in genreRep.GetAll())
         {
             ctx.Genres.Attach(item);
         }
         foreach (var item in ctx.Status.ToList())
         {
             if (item.Name.Equals("Processing"))
                 ord.Status = item;
         }
         Order newOrd = ctx.Orders.Add(ord);
         ctx.SaveChanges();
         return newOrd;
     }
 }
コード例 #2
0
 /// <summary>
 /// List all customer
 /// </summary>
 /// <returns>a list containing all customers</returns>
 public IEnumerable<Customer> GetAll()
 {
     using (var ctx = new MovieShopContext())
     {
         return ctx.Customers.ToList();
     }
 }
コード例 #3
0
 /// <summary>
 /// returns a customers with a specified Id
 /// </summary>
 /// <param name="id">the Id of the Customer</param>
 /// <returns></returns>
 public Customer Get(int id)
 {
     using (var ctx = new MovieShopContext())
     {
         var cust = ctx.Customers.Where(c => c.Id == id).FirstOrDefault();
         return cust;
     }
 }
コード例 #4
0
 /// <summary>
 /// Returns a customer with a specified Email
 /// </summary>
 /// <param name="email">The email of the customer that is wanted</param>
 /// <returns></returns>
 public Customer Get(string email)
 {
     using (var ctx = new MovieShopContext())
     {
         var cust = ctx.Customers.Where(c => c.Email.Equals(email)).FirstOrDefault();
         return cust;
     }
 }
コード例 #5
0
 /// <summary>
 /// Add a customer and returns it
 /// </summary>
 public Customer Add(Customer cust)
 {
     using (var ctx = new MovieShopContext())
     {
         Customer newCust = ctx.Customers.Add(cust);
         ctx.SaveChanges();
         return newCust;
     }
 }
コード例 #6
0
        public Order Get(int id)
        {
            using (var ctx = new MovieShopContext())
            {
                var orderlines = ctx.Orderline.Where(cm => cm.OrderId == id).Include("Movie").ToList();
                Order order =
                    ctx.Orders
                        .Include("Orderlines")
                        .Include("Status")
                        .FirstOrDefault(c => c.Id == id);

                order.Orderlines = orderlines;

                return order;
            }
        }
コード例 #7
0
        /// <summary>
        /// Change a customer
        /// </summary>
        public Customer Update(Customer cust)
        {
            using (var ctx = new MovieShopContext())
            {
                var customer = ctx.Customers.Where(c => c.Id == cust.Id).FirstOrDefault();
                customer.FirstName = cust.FirstName;
                customer.MiddleName = cust.MiddleName;
                customer.LastName = cust.LastName;
                customer.StreetName = cust.StreetName;
                customer.StreetNumber = cust.StreetNumber;
                customer.Email = cust.Email;
                customer.Password = cust.Password;

                ctx.SaveChanges();
                return customer;
            }
        }
コード例 #8
0
        /// <summary>
        /// List all order
        /// </summary>
        /// <returns>a list containing all orders</returns>
        public IEnumerable<Order> GetAll()
        {
            using (var ctx = new MovieShopContext())
            {
                var orderlines = ctx.Orderline.Include("Movie").ToList();
                var movies = ctx.Movies.Include("Genre").ToList();
                var orders = ctx.Orders.Include("Orderlines").Include("Status").ToList();

                foreach (var orderline in orderlines)
                {
                    orderline.Movie = movies.FirstOrDefault(cm => cm.Id == orderline.MovieId);
                }

                foreach (var item in orders)
                {
                    item.Orderlines = orderlines.Where(cm => cm.OrderId == item.Id).ToList();
                }

                return orders;
            }
        }
コード例 #9
0
        /// <summary>
        /// List all order by customer id
        /// </summary>
        public IEnumerable<Order> GetOrders(int id)
        {
            //this is dead, it was broken by Max, he changed shit
            using (var ctx = new MovieShopContext())
            {
                var orderlines = ctx.Orderline.Include("Movie").ToList();
                var orders = ctx.Orders.Include("Orderlines").Include("Status").Where(c => c.Id == id).ToList();

                foreach (var item in orders)
                {
                    item.Orderlines = orderlines.Where(cm => cm.OrderId == item.Id).ToList();
                }

                return orders;
            }
        }
コード例 #10
0
        /// <summary>
        /// Update one order 
        /// </summary>
        public Order Update(Order ord)
        {
            using (var ctx = new MovieShopContext())
            {
                //gets the item that we want to update
                var order = ctx.Orders.Include("Orderlines").Include("Status").FirstOrDefault(c => c.Id == ord.Id);
                //changes the data
                order.Orderlines = ord.Orderlines;
                order.OrderDate = ord.OrderDate;

                //saves the changes.
                ctx.SaveChanges();
                return order;
            }
        }