public void DeleteComplaintByID(int complaintID)
 {
     using (CinemaEntities database = new CinemaEntities())
     {
         database.Complaint.RemoveRange(database.Complaint.Where(x => x.Complaint_ID == complaintID));
         database.SaveChanges();
     }
 }
예제 #2
0
 public void DeleteCommentByCustomer(int customerID)
 {
     using (CinemaEntities database = new CinemaEntities())
     {
         database.Comment.RemoveRange(database.Comment.Where(x => x.Customer_ID == customerID));
         database.SaveChanges();
     }
 }
예제 #3
0
 public void SetPassword(int customerID, string password)
 {
     using (CinemaEntities database = new CinemaEntities())
     {
         Customer customer = database.Customer.Single(x => x.Customer_ID == customerID);
         customer.Password = password;
         database.SaveChanges();
     }
 }
 public void DeleteMovie(int MovieID)
 {
     using (CinemaEntities database = new CinemaEntities())
     {
         Movie movie = database.Movie.Single(x => x.Movie_ID == MovieID);
         database.Movie.Remove(movie);
         database.SaveChanges();
     }
 }
예제 #5
0
 private void ClickMethod()
 {
     _ctx.Бронь.Add(new Бронь()
     {
         ФИО = NewName, Телефон = NewPhone, IDБилета = Tickets.Last().ID
     });
     _ctx.SaveChanges();
     RaisePropertyChanged("Collection");
 }
예제 #6
0
 public void SetLogin(int customerID, string login)
 {
     using (CinemaEntities database = new CinemaEntities())
     {
         Customer customer = database.Customer.Single(x => x.Customer_ID == customerID);
         customer.Login = login;
         database.SaveChanges();
     }
 }
예제 #7
0
 public void SetSurname(int customerID, string surname)
 {
     using (CinemaEntities database = new CinemaEntities())
     {
         Customer customer = database.Customer.Single(x => x.Customer_ID == customerID);
         customer.Last_Name = surname;
         database.SaveChanges();
     }
 }
예제 #8
0
 public void SetPhone(int customerID, string phone)
 {
     using (CinemaEntities database = new CinemaEntities())
     {
         Customer customer = database.Customer.Single(x => x.Customer_ID == customerID);
         customer.Phone = phone;
         database.SaveChanges();
     }
 }
예제 #9
0
 public void DeleteComment(int commentID)
 {
     using (CinemaEntities database = new CinemaEntities())
     {
         Comment comment = database.Comment.Single(x => x.Comment_ID == commentID);
         database.Comment.Remove(comment);
         database.SaveChanges();
     }
 }
예제 #10
0
 public void SetEmail(int customerID, string email)
 {
     using (CinemaEntities database = new CinemaEntities())
     {
         Customer customer = database.Customer.Single(x => x.Customer_ID == customerID);
         customer.Email = email;
         database.SaveChanges();
     }
 }
예제 #11
0
 public void UnbookTicket(int ticketID)
 {
     using (CinemaEntities database = new CinemaEntities())
     {
         Ticket ticket = database.Ticket.Where(x => x.Ticket_ID == ticketID).SingleOrDefault();
         if (ticket != null)
         {
             database.Ticket.Remove(ticket);
             database.SaveChanges();
         }
     }
 }
예제 #12
0
 public void BuyTicket(int ticketID)
 {
     using (CinemaEntities database = new CinemaEntities())
     {
         Ticket ticket = database.Ticket.Single(x => x.Ticket_ID == ticketID);
         if (ticket != null)
         {
             ticket.Status = "Paid";
             database.SaveChanges();
         }
     }
 }
예제 #13
0
        public void EditShowtime(int showtimeID, int screenID, string date, string technology)
        {
            using (CinemaEntities database = new CinemaEntities())
            {
                Showtime showtime = database.Showtime.Single(x => x.Showtime_ID == showtimeID);

                showtime.Screen_ID  = screenID;
                showtime.Date       = DateTime.Parse(date);
                showtime.Technology = technology;

                database.SaveChanges();
            }
        }
예제 #14
0
        private void ToOrderCommandExecute(object obj)
        {
            var ticket = new Tickets
            {
                id_session = SelectedSession.id,
                id_user    = CurrentUser.id
            };

            _database.Tickets.Add(ticket);

            _database.FreePlacesForSession.Single(p => p.id_hall == SelectedSession.id_hall && p.place_number == SelectedPlace.place_number).is_empty = false;

            _database.SaveChanges();
            SendReceiptByEmail(ticket);
        }
예제 #15
0
 private void btnBuy_Click(object sender, EventArgs e)
 {
     foreach (SeatButton item in SelectedSeats)
     {
         Ticket ticket = new Ticket()
         {
             SeansId = item.PosterId,
             SeatId  = item.SeatId
         };
         db.Tickets.Add(ticket);
     }
     db.SaveChanges();
     this.Hide();
     AboutForm.Show();
 }
예제 #16
0
        public void AddShowtime(int movieID, int screenID, string date, string technology)
        {
            using (CinemaEntities database = new CinemaEntities())
            {
                Showtime showtime = database.Showtime.Create();

                showtime.Showtime_ID = Convert.ToInt32(database.sp_getSeqShowtimeID().FirstOrDefault());
                showtime.Movie_ID    = movieID;
                showtime.Screen_ID   = screenID;
                showtime.Date        = DateTime.Parse(date);
                showtime.Technology  = technology;

                database.Showtime.Add(showtime);
                database.SaveChanges();
            }
        }
예제 #17
0
        public ActionResult ChangePass(string[] pass)
        {
            if (Session["USER_LOGIN"] != null)
            {
                using (CinemaEntities db = new CinemaEntities())
                {
                    byte[] old_password = Encoding.Default.GetBytes(pass[0]);
                    //utworzenie skrotu od pobranego hasla (SHA_1)
                    using (var sha1 = SHA1.Create())
                    {
                        byte[] old_password_sha1   = sha1.ComputeHash(old_password);
                        string s_old_password_sha1 = Encoding.Default.GetString(old_password_sha1);
                        string user_login          = Session["USER_LOGIN"].ToString();
                        if (s_old_password_sha1 == db.USERS.Where(x => x.USER_LOGIN == user_login).Select(x => x.PASSWORD).FirstOrDefault().ToString())
                        {
                            if (pass[1] == pass[2])
                            {
                                //nowe hasla sa poprawne
                                byte[] new_pass1        = Encoding.Default.GetBytes(pass[1]);
                                byte[] new_pass1_sha1   = sha1.ComputeHash(new_pass1); //skrot sha_1 w byte
                                string s_new_pass1_sha1 = Encoding.Default.GetString(new_pass1_sha1);

                                var findUser = db.USERS.Where(u => u.USER_LOGIN == user_login).FirstOrDefault();
                                findUser.PASSWORD        = s_new_pass1_sha1;
                                db.Entry(findUser).State = EntityState.Modified;
                                db.SaveChanges();
                                ModelState.AddModelError("", "Hasło zmieniono poprawnie!");
                            }
                            else
                            {
                                ModelState.AddModelError("", "Podane hasła nie zgadzają się!");
                            }
                        } //podano niepoprawne stare haslo
                        else
                        {
                            ModelState.AddModelError("", "Podane stare hasło jest nieprawidłowe!");
                        }
                    }

                    return(View());
                }
            }
            else
            {
                return(RedirectToAction("", "Home"));
            }
        }
        public void EditMovie(int ID, string title, string director, string release, int genreID, int age, int duration, string description)
        {
            using (CinemaEntities database = new CinemaEntities())
            {
                Movie editMovie = database.Movie.Single(x => x.Movie_ID == ID);

                editMovie.Title        = title;
                editMovie.Director     = director;
                editMovie.Age_Category = age;
                editMovie.Duration     = duration;
                editMovie.Release_Date = DateTime.Parse(release);
                editMovie.Genre_ID     = genreID;
                editMovie.Description  = description;

                database.SaveChanges();
            }
        }
예제 #19
0
        public ActionResult DeleteConfirmed(string id)
        {
            if (Session["USER_LOGIN"] != null)
            {
                using (CinemaEntities db = new CinemaEntities())
                {
                    USERS uSERS = db.USERS.Find(Session["USER_LOGIN"]);
                    if (uSERS == null)
                    {
                        return(HttpNotFound());
                    }

                    db.USERS.Remove(uSERS);
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("", "Home"));
        }
        public void AddMovie(string title, string director, string release, int genreID, int age, int duration, string description)
        {
            using (CinemaEntities database = new CinemaEntities())
            {
                Movie newMovie = database.Movie.Create();

                newMovie.Movie_ID     = Convert.ToInt32(database.sp_getSeqMovieID().FirstOrDefault());
                newMovie.Title        = title;
                newMovie.Director     = director;
                newMovie.Age_Category = age;
                newMovie.Duration     = duration;
                newMovie.Release_Date = DateTime.Parse(release);
                newMovie.Genre_ID     = genreID;
                newMovie.Description  = description;

                database.Movie.Add(newMovie);
                database.SaveChanges();
            }
        }
예제 #21
0
 public ActionResult Edit([Bind(Include = "USER_LOGIN,PASSWORD,NAME,SURNAME,E_MAIL,TELEPHONE,LAST_LOGIN")] USERS uSERS)
 {
     if (uSERS.NAME != "" && uSERS.SURNAME != "" && uSERS.E_MAIL != "" && uSERS.TELEPHONE != "")
     {
         using (CinemaEntities db = new CinemaEntities())
         {
             string login    = Session["USER_LOGIN"].ToString();
             var    findUser = db.USERS.Where(u => u.USER_LOGIN == login).FirstOrDefault();
             findUser.NAME            = uSERS.NAME;
             findUser.SURNAME         = uSERS.SURNAME;
             findUser.E_MAIL          = uSERS.E_MAIL;
             findUser.TELEPHONE       = uSERS.TELEPHONE;
             db.Entry(findUser).State = EntityState.Modified;
             db.SaveChanges();
             return(RedirectToAction("Index", "Home"));
         }
     }
     return(View(uSERS));
 }
        public void CreateComplaint(int customerID, string description)
        {
            using (CinemaEntities database = new CinemaEntities())
            {
                Complaint newComplaint = database.Complaint.Create();

                //obecna data
                DateTime myDateTime = DateTime.Now;
                //format daty poprawny do sql
                string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm");

                newComplaint.Complaint_ID = Convert.ToInt32(database.sp_getSeqComplaintID().FirstOrDefault());
                newComplaint.Customer_ID  = customerID;
                newComplaint.Description  = description;
                newComplaint.Date         = DateTime.Parse(sqlFormattedDate);

                database.Complaint.Add(newComplaint);
                database.SaveChanges();
            }
        }
        public void CreateRating(int customerID, int rating, int movieID)
        {
            using (CinemaEntities database = new CinemaEntities())
            {
                Rating newRating = database.Rating.Create();

                //obecna data
                DateTime myDateTime = DateTime.Now;
                //format daty poprawny do sql
                string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm");

                newRating.Rating_ID   = Convert.ToInt32(database.sp_getSeqRatingID().FirstOrDefault());
                newRating.Customer_ID = customerID;
                newRating.Movie_ID    = movieID;
                newRating.Stars       = rating;
                newRating.Date        = DateTime.Parse(sqlFormattedDate);

                database.Rating.Add(newRating);
                database.SaveChanges();
            }
        }
예제 #24
0
        public void OrderingTicket(int showtimeID, int customerID, int seatID, int ticketTypeID, string status)
        {
            using (CinemaEntities database = new CinemaEntities())
            {
                Ticket newTicket = database.Ticket.Create();

                //obecna data
                DateTime myDateTime = DateTime.Now;
                //format daty poprawny do sql
                string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm");

                newTicket.Ticket_ID      = Convert.ToInt32(database.sp_getSeqTicketID().FirstOrDefault());
                newTicket.Customer_ID    = customerID;
                newTicket.Showtime_ID    = showtimeID;
                newTicket.Seat_ID        = seatID;
                newTicket.Ticket_Type_ID = ticketTypeID;
                newTicket.Status         = status;
                newTicket.Date           = DateTime.Parse(sqlFormattedDate);

                database.Ticket.Add(newTicket);
                database.SaveChanges();
            }
        }
예제 #25
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     try
     {
         Sean sean = new Sean()
         {
             FilmId = (int)cmbFilms.SelectedValue,
             HallId = (byte)cmbHalls.SelectedValue,
             Date   = dtpDate.Value.Date,
             Time   = dtpTime.Value.TimeOfDay,
             Price  = Convert.ToDecimal(txtPrice.Text)
         };
         db.Seans.Add(sean);
         db.SaveChanges();
         this.Hide();
         MainForm.Show();
     }
     catch (Exception d)
     {
         MessageBox.Show(d.Message);
         this.Hide();
         MainForm.Show();
     }
 }
예제 #26
0
        public ActionResult Register(USERS account)
        {
            if (ModelState.IsValid)
            {
                using (CinemaEntities db = new CinemaEntities())
                {
                    byte[] client_password = Encoding.Default.GetBytes(account.PASSWORD); //pobrana wartosc z pola login_textBox w byte

                    //utworzenie skrotu od pobranego hasla (SHA_1)
                    using (var sha1 = SHA1.Create())
                    {
                        byte[] client_password_sha1   = sha1.ComputeHash(client_password); //Convert the input byte to a byte array and compute the hash.
                        string s_client_password_sha1 = Encoding.Default.GetString(client_password_sha1);

                        var number_of_clients = db.USERS.Where(a => a.USER_LOGIN == account.USER_LOGIN);

                        //if (number_of_admins.Count() != 0)

                        if (number_of_clients.Count() != 0)
                        {
                            ModelState.AddModelError("", "Podany login jest zajęty!");
                        }
                        else
                        {
                            account.PASSWORD = s_client_password_sha1;

                            db.USERS.Add(account);
                            db.SaveChanges(); //zapis do bazy danych
                            ModelState.Clear();
                            ViewBag.Message = "Pomyślnie utworzono konto dla użytkownika: " + account.USER_LOGIN;
                        }
                    }
                }
            }
            return(View());
        }
예제 #27
0
        public void DeleteCustomer(int customerID)
        {
            using (CinemaEntities database = new CinemaEntities())
            {
                // before delete customer
                // must delete all records with his foreign key

                CommentService   commentService   = new CommentService();
                ComplaintService complaintService = new ComplaintService();
                TicketService    ticketService    = new TicketService();
                RatingsService   ratingsService   = new RatingsService();

                commentService.DeleteCommentByCustomer(customerID);
                complaintService.DeleteComplaintByCustomer(customerID);
                ticketService.DeleteTicketByCustomer(customerID);
                ratingsService.DeleteRatingByCustomer(customerID);

                // now delete customer

                Customer customer = database.Customer.Single(x => x.Customer_ID == customerID);
                database.Customer.Remove(customer);
                database.SaveChanges();
            }
        }
예제 #28
0
        //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);
            }
        }
예제 #29
0
        private void SignUpCommandExecute(object obj)
        {
            PasswordBox pb = obj as PasswordBox;

            if (_generatedSmsCode.ToString() == SmsCode)
            {
                _database.Users.Add(new Users {
                    phone_number = PhoneNumber, email = Email, password = pb.Password
                });

                UserWindow.UserWindowClass wnd = new UserWindow.UserWindowClass();
                wnd.Show();
                _database.SaveChanges();

                Messenger.Default.Send(PhoneNumber);

                Application.Current.Windows[0].Close();
            }

            else
            {
                SmsCode = "You've typed a wrong code. Try again.";
            }
        }
예제 #30
0
        public ActionResult SummaryReservation(short?id)
        {
            if (Session["USER_LOGIN"] != null)
            {
                if (id == -1) //uzytkownik dokonuje nowej rezerwacji
                {
                    RESERVATIONS rESERVATIONS         = new RESERVATIONS();
                    string       dateTimeHall         = Session["DateTimeHall"].ToString();
                    string[]     date_time_hall_Array = dateTimeHall.Split(' ');//3 -hall
                    string[]     date = date_time_hall_Array[0].Split('-');
                    //year, month, day
                    DateTime YearMonthDay = new DateTime(Int32.Parse(date[0]), Int32.Parse(date[1]), Int32.Parse(date[2]));
                    //hour, minutes, seconds
                    string[] time = date_time_hall_Array[1].Split(':');
                    TimeSpan HourMinutesSeconds = new TimeSpan(Int32.Parse(time[0]), Int32.Parse(time[1]), Int32.Parse(time[2]));

                    string Hallid = date_time_hall_Array[3];
                    //ID_Program
                    var idProgram = db.PROGRAM.Where
                                        (x => x.DATE == YearMonthDay &&
                                        x.TIME == HourMinutesSeconds &&
                                        x.ID_HALL == Hallid).Select(x => x.ID_PROGRAM).FirstOrDefault();

                    //rESERVATIONS.ID_RESERVATION=

                    string userLogin = Session["USER_LOGIN"].ToString();


                    rESERVATIONS.ID_PROGRAM = idProgram;
                    rESERVATIONS.USER_LOGIN = userLogin;
                    db.RESERVATIONS.Add(rESERVATIONS);
                    db.SaveChanges();

                    //id_reser  |   id_seat     |id_ticket
                    RESERVATIONS_DETAILS rESERVATIONS_DETAILS;

                    var idReservation = rESERVATIONS.ID_RESERVATION;
                    Dictionary <string, string> seatTicket = (Dictionary <string, string>)Session["seatTicket"];

                    //pair.Value - rodzaj biletu
                    //pair.Key - miejsce
                    foreach (KeyValuePair <string, string> pair in seatTicket)
                    {
                        rESERVATIONS_DETAILS = new RESERVATIONS_DETAILS();
                        rESERVATIONS_DETAILS.ID_RESERVATION = idReservation;
                        if (pair.Key.Contains("VIP"))
                        {
                            rESERVATIONS_DETAILS.ID_SEAT = pair.Key.Remove(pair.Key.Length - 4);
                        }
                        else
                        {
                            rESERVATIONS_DETAILS.ID_SEAT = pair.Key;
                        }
                        rESERVATIONS_DETAILS.ID_TICKET = db.TICKETS.Where(x => x.TYPE == pair.Value).Select(x => x.ID_TICKET).FirstOrDefault();
                        db.RESERVATIONS_DETAILS.Add(rESERVATIONS_DETAILS);
                    }
                }
                else //uzytkownik ma rezerwacje
                {
                    List <RESERVATIONS_DETAILS> rESERVATIONS_DETAILS_List = db.RESERVATIONS_DETAILS.Where(x => x.ID_RESERVATION == id).ToList(); //zwraca wszystkie rezerwacje o ID==id uzytkownika
                    Dictionary <string, string> seatTicket = (Dictionary <string, string>)Session["seatTicket"]; //siedzenia i bilety, ktore wybrał uzytkownik

                    //1. Skasowanie pozycji z RESERVATIONS_DETAILS o id przeslanym w argumencie metody
                    foreach (var item in rESERVATIONS_DETAILS_List)
                    {
                        db.RESERVATIONS_DETAILS.Remove(item);
                    }

                    db.SaveChanges();
                    RESERVATIONS_DETAILS rESERVATIONS_DETAILS;

                    //2. Dodanie do bazy poprawnych pozycji z listy
                    foreach (KeyValuePair <string, string> pair in seatTicket)
                    {
                        rESERVATIONS_DETAILS = new RESERVATIONS_DETAILS();
                        rESERVATIONS_DETAILS.ID_RESERVATION = id.Value;
                        if (pair.Key.Contains("VIP"))
                        {
                            rESERVATIONS_DETAILS.ID_SEAT = pair.Key.Remove(pair.Key.Length - 4);
                        }
                        else
                        {
                            rESERVATIONS_DETAILS.ID_SEAT = pair.Key;
                        }
                        rESERVATIONS_DETAILS.ID_TICKET = db.TICKETS.Where(x => x.TYPE == pair.Value).Select(x => x.ID_TICKET).FirstOrDefault();
                        db.RESERVATIONS_DETAILS.Add(rESERVATIONS_DETAILS);
                    }
                }
                Session["mTitle"]       = null;
                Session["DateTimeHall"] = null;
                Session["seatTicket"]   = null;
                db.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }