/// <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; } }
/// <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; } }
/// <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; } }
/// <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; } }