Exemplo n.º 1
0
        public void Register(string username, string email, string password)
        {
            using (var db = new CinemaDb())
            {
                var existingUser = db.Users.FirstOrDefault(u => u.Username.ToLower() == username.ToLower());
                if (existingUser != null)
                {
                    throw new LogicException("That username is already in use!");
                }

                existingUser = db.Users.FirstOrDefault(u => u.Email.ToLower() == email.ToLower());
                if (existingUser != null)
                {
                    throw new LogicException("That e-mail is already in use!");
                }

                if (!password.IsPasswordOk())
                {
                    throw new LogicException("Password should be at least 6 symbols!");
                }

                db.Users.Add(new Users()
                {
                    Email    = email,
                    Password = password,
                    Username = username,
                });
                db.SaveChanges();
            }
        }
Exemplo n.º 2
0
        public Movies BookAMovie(int id)
        {
            using (var db = new CinemaDb())
            {
                var movie = db.Movies.FirstOrDefault(m => m.Id == id);

                if (movie != null)
                {
                    db.Bookings.Add(new Bookings()
                    {
                        MovieId      = movie.Id,
                        Title        = movie.Title,
                        Pic          = movie.Pic,
                        Description  = movie.Description,
                        SelectedTime = movie.AvailableTime,
                        Auditorium   = movie.AuditoriumId,
                    });


                    db.SaveChanges();

                    return(movie);
                }
            }
            return(null);
        }
Exemplo n.º 3
0
        //to delete a category
        public void Delete(int id)
        {
            using (var db = new CinemaDb())
            {
                var category = db.Categories.FirstOrDefault(c => c.Id == id);
                db.Categories.Remove(category);

                db.SaveChanges();
            }
        }
Exemplo n.º 4
0
        public void Delete(int id)
        {
            using (var db = new CinemaDb())
            {
                var movie = db.Movies.FirstOrDefault(m => m.Id == id);
                db.Movies.Remove(movie);

                db.SaveChanges();
            }
        }
Exemplo n.º 5
0
        public void Update(int curUserId, int bookingId)
        {
            using (var db = new CinemaDb())
            {
                var bookingData = db.Bookings.FirstOrDefault(b => b.Id == bookingId);

                bookingData.UserId = curUserId;

                db.SaveChanges();
            }
        }
Exemplo n.º 6
0
        public string CreateNew(string title)
        {
            using (var db = new CinemaDb())
            {
                db.Categories.Add(new Categories()
                {
                    Title = title,
                });

                db.SaveChanges();

                return(null);
            }
        }
Exemplo n.º 7
0
        public Bookings CancelBooking(int id)
        {
            using (var db = new CinemaDb())
            {
                var currentBooking = db.Bookings.FirstOrDefault(b => b.Id == id);
                if (currentBooking != null)
                {
                    db.Bookings.Remove(currentBooking);

                    db.SaveChanges();

                    return(currentBooking);
                }
            }
            return(null);
        }
Exemplo n.º 8
0
        public Movies CancelUserBookings(int movieId)
        {
            //returns a movie(movies) that was canceled by a client
            using (var db = new CinemaDb())
            {
                var cancelBooking = db.Bookings.FirstOrDefault(m => m.MovieId == movieId);
                if (cancelBooking != null)
                {
                    db.Bookings.Remove(cancelBooking);
                    var cancelation  = db.Movies.FirstOrDefault(m => m.Id == movieId);
                    var returnedseat = db.Theaters.FirstOrDefault(t => t.Id == cancelation.AuditoriumId);

                    returnedseat.TotalSeats++;
                    db.SaveChanges();
                    return(cancelation);
                }
            }
            return(null);
        }
Exemplo n.º 9
0
        public string CreateNewMovie(string title, string director, string description, int categoryId, int price, int?auditorium, int?length)
        {
            using (var db = new CinemaDb())
            {
                db.Movies.Add(new Movies()
                {
                    Title        = title,
                    Director     = director,
                    PlayingTime  = DateTime.Now,
                    TextAbout    = description,
                    Category     = categoryId,
                    PriceId      = price,
                    AuditoriumId = auditorium,
                    Length       = length,
                    Image        = "",
                });

                db.SaveChanges();

                return(null);
            }
        }
Exemplo n.º 10
0
        //Movies chosen by title
        //gets a list of all movies chosen by the user
        public List <Movies> GetUserBookings(int movieId)
        {
            //returns a movie that a client chose
            using (var db = new CinemaDb())
            {
                var movie   = db.Movies.FirstOrDefault(m => m.Id == movieId);
                var theater = db.Theaters.FirstOrDefault(t => t.Id == movie.AuditoriumId);
                if (movie != null && theater.TotalSeats > 0)
                {
                    //need to count down the number of seats available at the auditorium
                    theater.TotalSeats--;
                    db.Bookings.Add(new Bookings()
                    {
                        MovieId      = movie.Id,
                        WatchingTime = movie.PlayingTime
                    });

                    db.SaveChanges();
                    return(db.Movies.OrderBy(c => c.Id).ToList());
                }
            }
            return(null);
        }