//Method that submits the order public UserOrderDTO CreateOrder(UserOrderDTO NewOrder) { UserOrderDTO OrderOut = new UserOrderDTO(); Order OrderIn = new Order(); using (TransactionScope Trans = new TransactionScope()) { try { using (var context = new CinemaEntities()) { OrderIn.NumberOfSeatsReserved = NewOrder.NumberOfSeats; OrderIn.TotalPrice = NewOrder.TotalPrice; OrderIn.UserID = NewOrder.UserID; OrderIn.PerfomanceID = NewOrder.PerformanceID; if (OrderIn.EntityState == EntityState.Detached) { context.Orders.AddObject(OrderIn); } context.SaveChanges(); OrderOut.OrderID = OrderIn.OrderID; } } catch { OrderOut.isValid = false; Trans.Dispose(); return OrderOut; } OrderOut.isValid = true; Trans.Complete(); return OrderOut; } }
//Method that updates comment public bool UpdateComment(UserCommentDTO UpdatedComment) { bool check = false; using (TransactionScope Trans = new TransactionScope()) { try { using (var context = new CinemaEntities()) { var results = (from cm in context.Comments where cm.CommentID == UpdatedComment.commentID select cm); if (results != null) { Comment CommentToUpdate = new Comment(); CommentToUpdate = (Comment)results.First(); CommentToUpdate.Content = UpdatedComment.Content; context.ObjectStateManager.ChangeObjectState(CommentToUpdate, System.Data.EntityState.Modified); context.SaveChanges(); } } } catch { check = false; Trans.Dispose(); return check; } check = true; Trans.Complete(); return check; } }
//Method that creates new user public bool CreateNewUser(UserModelDTO NewUser) { bool check = false; using (TransactionScope Trans = new TransactionScope()) { try { using (var context = new CinemaEntities()) { //Enetring into Users Table try { User NewUserIn = new User(); NewUserIn.UserID = NewUser.UserID; NewUserIn.Password = NewUser.Password; if (NewUserIn.EntityState == EntityState.Detached) { context.Users.AddObject(NewUserIn); } context.SaveChanges(); } catch { } //Entering into Person Table try { Person NewPersonIn = new Person(); NewPersonIn.FirstName = NewUser.FirstName; NewPersonIn.LastName = NewUser.LastName; NewPersonIn.PersonTypeID = NewUser.personTypeID; NewPersonIn.PersonID = Guid.NewGuid(); if (NewPersonIn.EntityState == EntityState.Detached) { context.People.AddObject(NewPersonIn); } context.SaveChanges(); } catch { } ////Entering into Authonticated User Table //try //{ // AuthenticatedUser NewAuthUser = new AuthenticatedUser(); // NewAuthUser.PersonID = NewUser.PersonID; // NewAuthUser.UserID = NewUser.UserID; // NewAuthUser.AuthenticatedUserID = Guid.NewGuid(); // if (NewAuthUser.EntityState == EntityState.Detached) // { // context.AuthenticatedUsers.AddObject(NewAuthUser); // } // context.SaveChanges(); //} //catch { } } } catch { check = false; Trans.Dispose(); return check; } check = true; Trans.Complete(); return check; } }
//Method that deletes movie from favorite list public bool RemoveMovieFromFavoriteList(Guid UserID, string movieTitle) { bool check; using (TransactionScope Trans = new TransactionScope()) { try { using (var context = new CinemaEntities()) { var results = (from fv in context.Favorites.Include("Movie") where fv.Movie.Title == movieTitle && fv.UserID == UserID select fv); if (results != null) { Favorite LineToDelete = (Favorite)results.First(); context.Favorites.DeleteObject(LineToDelete); context.SaveChanges(); } } } catch { check = false; Trans.Dispose(); return check; } check = true; Trans.Complete(); return check; } }
//Method that removes comment public bool DeleteComment(int commentID) { bool check = false; using (TransactionScope Trans = new TransactionScope()) { try { using (var context = new CinemaEntities()) { var results = (from cm in context.Comments where cm.CommentID == commentID select cm); if (results != null) { Comment CommentToDelete = results.First(); context.Comments.DeleteObject(CommentToDelete); context.SaveChanges(); } } } catch { check = false; Trans.Dispose(); return check; } check = true; Trans.Complete(); return check; } }