示例#1
0
        public int CreateSeance(SeanceInfo seance)
        {
            Seance newSeance = new Seance
            {
                MovieId  = seance.MovieId,
                HallId   = seance.HallId,
                ShowDate = seance.ShowDate,
                ShowTime = seance.ShowTime
            };

            foreach (SeanceSeatView seanceSeat in seance.SessionSeats)
            {
                var newSeanceSeat = new SeanceSeat
                {
                    SeanceId = newSeance.Id,
                    SeatId   = seanceSeat.SeatId,
                    Price    = seanceSeat.Price,
                    IsBooked = seanceSeat.IsBooked
                };

                _db.SeanceSeats.Add(newSeanceSeat);
            }

            _db.Seances.Add(newSeance);

            _db.SaveChanges();

            return(newSeance.Id);
        }
示例#2
0
        public IActionResult Post([FromBody] Reservation reservationObj)
        {
            reservationObj.ReservationTime = DateTime.Now;
            _dbContext.Reservations.Add(reservationObj);
            _dbContext.SaveChanges();

            return(StatusCode(StatusCodes.Status201Created));
        }
        public async Task <ApiResponse <Review> > AddReview(Review review)
        {
            var errorResponse = new ApiResponse <Review>
            {
                // Set error message
                ErrorMessage = "Nie mogliśmy znaleźć użytkownika, który dodawał opinie!"
            };

            var userIdentity = await mUserManager.FindByNameAsync(review.Author);

            if (userIdentity == null)
            {
                return(errorResponse);
            }

            context.Review.Add(new Review
            {
                UserId   = userIdentity.Id,
                Review1  = review.Review1,
                IdMovies = review.IdMovies,
                Author   = review.Author
            });

            context.SaveChanges();

            return(new ApiResponse <Review>
            {
                Response = new Review
                {
                    Author = review.Author,
                    Review1 = review.Review1,
                    IdMovies = review.IdMovies
                }
            });
        }
示例#4
0
        public int CreateMovie(MovieFullView movie)
        {
            var newMovie = new Movie
            {
                Title       = movie.Title,
                ReleaseDate = movie.ReleaseDate,
                EndingDate  = movie.EndingDate,
                Description = movie.Description
            };

            _db.Movies.Add(newMovie);
            _db.SaveChanges();

            return(newMovie.Id);
        }
示例#5
0
        public IActionResult Post([FromForm] Movie movieObj)
        {
            //generate a new unique image id to avoid duplicate
            var guid     = Guid.NewGuid();
            var filePath = Path.Combine("wwwroot\\image", guid + ".jpg");

            if (movieObj.Image != null)
            {
                var fileStream = new FileStream(filePath, FileMode.Create);
                movieObj.Image.CopyTo(fileStream);     //save the image file url
            }
            movieObj.ImageUrl = filePath.Remove(0, 7); //remove wwwroot
            _dbContext.Movies.Add(movieObj);
            _dbContext.SaveChanges();

            return(StatusCode(StatusCodes.Status201Created));
        }
示例#6
0
        public IActionResult Post([FromForm] Movie movieObj)
        {
            var guid     = Guid.NewGuid();
            var filePath = Path.Combine("wwwroot", guid + ".jpg");

            if (movieObj.Image != null)
            {
                var fileStream = new FileStream(filePath, FileMode.Create);
                movieObj.Image.CopyTo(fileStream);
            }

            movieObj.ImageUrl = filePath.Remove(0, 7);
            _dbContext.Movies.Add(movieObj);
            _dbContext.SaveChanges();

            return(StatusCode(StatusCodes.Status201Created));
        }
        public ActionResult AddScreening(Screening screenings)
        {
            context.Screening.Add(new Screening
            {
                ScreeningDate = screenings.ScreeningDate
            });

            var screeningExist = ScreeningExists(screenings.IdScreening);

            if (screeningExist)
            {
                return(Ok("SCREENING ALREADY EXISTS"));
            }

            context.SaveChanges();
            return(Ok(screenings));
        }
示例#8
0
        public ActionResult AddReservation(string user, int screening, string seat, TimeSpan time)
        {
            context.Reservation.Add(new Reservation
            {
                IdUser        = user,
                IdScreening   = screening,
                SeatsReserved = seat,
                Showtime      = time,
                Confirmed     = false
            });
            context.SaveChanges();
            var reservation = context.Reservation.Where(a => a.IdScreening == screening && a.SeatsReserved == seat).FirstOrDefault();
            var users       = context.Users.Where(a => a.Id == user).FirstOrDefault();

            //SendMail(reservation.IdReservation, users.Email, users.FirstName);
            return(Ok());
        }
示例#9
0
        public int CreateCinema(CinemaView cinema)
        {
            var newCinema = new Cinema
            {
                Title = cinema.Title,
                City  = cinema.City
            };

            _db.Cinemas.Add(newCinema);
            _db.SaveChanges();

            return(newCinema.Id);
        }
        public string RegisterUser(RegistrationInfo user)
        {
            var newUser = new User
            {
                Email     = user.Email,
                Password  = EncryptPassword(user.Password),
                Role      = "user",
                UserName  = user.UserName,
                FirstName = user.FirstName,
                LastName  = user.LastName
            };

            _db.Users.Add(newUser);

            _db.SaveChanges();

            string Token = GenerateToken(newUser);

            return(Token);
        }
示例#11
0
        [HttpPost]   // [HttpPost("[action]")]
        public IActionResult Register([FromBody] User user)
        {
            var userWithSameEmail = _dbContext.Users.Where(u => u.Email == user.Email).SingleOrDefault();

            if (userWithSameEmail != null)
            {
                return(BadRequest("User with same email already exists."));
            }
            var userObj = new User
            {
                Name     = user.Name,
                Email    = user.Email,
                Password = SecurePasswordHasherHelper.Hash(user.Password),
                Role     = "User"
            };

            _dbContext.Users.Add(userObj);
            _dbContext.SaveChanges();
            return(StatusCode(StatusCodes.Status201Created));
        }
        public ActionResult AddCulturalEvents(CulturalEvent culturalevents)
        {
            context.CulturalEvent.Add(new CulturalEvent
            {
                EventName        = culturalevents.EventName,
                EventDescription = culturalevents.EventDescription,
                EventDate        = culturalevents.EventDate,
                SeatsLimit       = culturalevents.SeatsLimit
            });

            var culturaleventExist = CulturalEventExists(culturalevents.EventName);

            if (culturaleventExist)
            {
                return(Ok("EVENT ALREADY EXISTS"));
            }

            context.SaveChanges();
            return(Ok(culturalevents));
        }
示例#13
0
        public ActionResult AddMovie(Movies movies)
        {
            context.Movies.Add(new Movies
            {
                Title          = movies.Title,
                Description    = movies.Description,
                Picture        = movies.Picture,
                AgeRestriction = movies.AgeRestriction,
                Icon           = movies.Icon,
                Genre          = movies.Genre,
                Director       = movies.Director,
                WatchingTime   = movies.WatchingTime
            });

            var movieExist = MovieExists(movies.Title);

            if (movieExist)
            {
                return(Ok("MOVIE ALREADY EXISTS"));
            }

            context.SaveChanges();
            return(Ok(movies));
        }
示例#14
0
        public async Task <ApiResponse <UserProfileDetailsApiModel> > LogInAsync(
            [FromBody] LoginCredentialsApiModel loginCredentials)
        {
            // TODO: Localize all strings
            // The message when we fail to login
            var invalidErrorMessage = "Niepoprawny login lub hasło";

            var notConfirmedErrorMessage = "Podany adres email nie został potwierdzony";

            // The error response for a failed login
            var errorResponse = new ApiResponse <UserProfileDetailsApiModel>
            {
                // Set error message
                ErrorMessage = invalidErrorMessage
            };

            var errorResponse2 = new ApiResponse <UserProfileDetailsApiModel>
            {
                // Set error message
                ErrorMessage = notConfirmedErrorMessage
            };

            // Make sure we have a user name
            if (loginCredentials?.UsernameOrEmail == null ||
                string.IsNullOrWhiteSpace(loginCredentials.UsernameOrEmail))
            {
                // Return error message to user
                return(errorResponse);
            }

            // Validate if the user credentials are correct...

            // Is it an email?
            var isEmail = loginCredentials.UsernameOrEmail.Contains("@");

            // Get the user details
            var user = isEmail
                ?
                       // Find by email
                       await mUserManager.FindByEmailAsync(loginCredentials.UsernameOrEmail)
                :
                       // Find by username
                       await mUserManager.FindByNameAsync(loginCredentials.UsernameOrEmail);

            // If we failed to find a user...
            if (user == null)
            {
                // Return error message to user
                return(errorResponse);
            }

            // If we got here we have a user...
            // Let's validate the password

            // Get if password is valid
            var isValidPassword = await mUserManager.CheckPasswordAsync(user, loginCredentials.Password);

            // If the password was wrong
            if (!isValidPassword)
            {
                // Return error message to user
                return(errorResponse);
            }

            // If we get here, we are valid and the user passed the correct login details

            // Get username
            var username = user.UserName;

            // get user table
            var userDb = mContext.Users.Where(a => a.Id == user.Id).FirstOrDefault();
            var roles  = await mUserManager.GetRolesAsync(user);

            string role = "";

            foreach (var r in roles)
            {
                role = r;
            }
            // Generate new refresh token for user
            if (userDb != null)
            {
                userDb.RefreshToken = user.GenerateJwtRefreshToken(role);
            }

            mContext.SaveChanges();

            if (user.EmailConfirmed == false)
            {
                // Return error message to user
                return(errorResponse2);
            }

            // Return token to user
            return(new ApiResponse <UserProfileDetailsApiModel>
            {
                // Pass back the user details and the token
                Response = new UserProfileDetailsApiModel
                {
                    Id = user.Id,
                    FirstName = user.FirstName,
                    LastName = user.LastName,
                    Email = user.Email,
                    Confirmed = user.EmailConfirmed,
                    Username = user.UserName,
                    Token = user.GenerateJwtToken(role),
                    Role = role
                }
            });
        }
 public IActionResult Post([FromBody] Movie movieObj)
 {
     _dbContext.Movies.Add(movieObj);
     _dbContext.SaveChanges();
     return(StatusCode(StatusCodes.Status201Created));//post is to create
 }