コード例 #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;
     }
 }