Example #1
0
        protected void btnCreate_Click(object sender, EventArgs e)
        {
            try
            {
                Group group = new Group();

                group.groupName = txtGroupName.Text;
                group.ownerID   = currentUser.userID;
                group.groupCode = new Random().Next(10000, 100000);

                MovieNightContext context = new MovieNightContext();
                context.groups.Add(group);
                context.SaveChanges();

                UserGroup newUserGroup = new UserGroup();
                newUserGroup.userID     = currentUser.userID;
                newUserGroup.groupID    = group.groupID;
                newUserGroup.turnToPick = 1;
                newUserGroup.joinNumber = 1;
                context.userGroup.Add(newUserGroup);
                context.SaveChanges();

                Response.Redirect("Group.aspx?groupID=" + group.groupID);
            } catch (Exception)
            {
                lblCreateResponse.Text = "Unable to create group";
            }
        }
        protected void btnAddMovie_Click(object sender, EventArgs e)
        {
            var btn  = (LinkButton)sender;
            var date = DateTime.Now;

            try {
                switch (btn.CommandName)
                {
                case "addMovie":
                    //SQL to add movie goes here
                    Movie newMovie = new Movie();
                    newMovie = db.movies.SqlQuery("SELECT * FROM Movie WHERE omdbCode= '" + btn.CommandArgument + "'").FirstOrDefault();

                    if (newMovie == null)
                    {
                        db.Database.ExecuteSqlCommand("INSERT INTO Movie (omdbCode) VALUES ('" + btn.CommandArgument + "')");
                        newMovie = db.movies.SqlQuery("SELECT * FROM Movie WHERE omdbCode= '" + btn.CommandArgument + "'").FirstOrDefault();
                    }

                    UserMovie newUserMovie = new UserMovie();

                    newUserMovie.userID    = currentUser.userID;
                    newUserMovie.movieID   = newMovie.movieID;
                    newUserMovie.dateAdded = DateTime.Now;

                    MovieNightContext context = new MovieNightContext();
                    context.userMovie.Add(newUserMovie);
                    context.SaveChanges();
                    lblResult.Text = "Movie has been added.";
                    break;
                }
            }
            catch (Exception)
            {
                lblResult.Text = "Unable to add movie (Movie may already have been added)";
            }
        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            var userName = txtUserName.Text.ToString();
            var email    = txtUserEmail.Text.ToString();

            Session["userAccount"] = email;
            try
            {
                DataView dvSql = (DataView)UserConnection.Select(DataSourceSelectArguments.Empty);

                if (dvSql.Count == 0)
                {
                    Session["createAccount"] = userName;

                    DataView dvSql2 = (DataView)UserConnection2.Select(DataSourceSelectArguments.Empty);
                    if (dvSql2.Count == 0)
                    {
                        string password = txtUserPass.Text;

                        byte[] salt;

                        new RNGCryptoServiceProvider().GetBytes(salt = new byte[16]);

                        var pbkdf2 = new Rfc2898DeriveBytes(password, salt, 10000);

                        byte[] hash      = pbkdf2.GetBytes(20);
                        byte[] hashBytes = new byte[36];

                        Array.Copy(salt, 0, hashBytes, 0, 16);
                        Array.Copy(hash, 0, hashBytes, 16, 20);

                        string savedPasswordHash = Convert.ToBase64String(hashBytes);

                        User user = new User();

                        user.userName     = txtUserName.Text;
                        user.fName        = txtFName.Text;
                        user.lName        = txtLName.Text;
                        user.email        = txtUserEmail.Text;
                        user.passwordHash = savedPasswordHash;


                        Session.Add("userAccount", user);


                        MovieNightContext context = new MovieNightContext();
                        context.users.Add(user);
                        context.SaveChanges();

                        if (Session["redirectTo"] != null)
                        {
                            Response.Redirect(Session["redirectTo"].ToString());
                        }
                        else
                        {
                            Response.Redirect("accountinfo.aspx");
                        }
                    }
                    else
                    {
                        usernameMatchFound.Visible = true;
                        Session["userAccount"]     = null;
                    }
                }
                else
                {
                    emailMatchFound.Visible = true;
                    Session["userAccount"]  = null;
                }
            } catch (Exception)
            {
                lblError.Text = "Unable to create account at this time.";
            }
        }
        protected void btnCreate_Click(object sender, EventArgs e)
        {
            DateTime dateTime;

            // Format: "yyyy-MM-dd HH:mm:ss"
            dateTime = DateTime.Parse(txtDate.Text + " " + txtTime.Text + ":00");

            //Check for Date Time being within valid range

            //

            //Int is < 0 if DateTime.now is earlier than dateTime, 0 if equal, and > 0 if later
            int dateComp = DateTime.Compare(DateTime.Now, dateTime);

            //Int is < 0 if DateTime.now(plus 2 weeks) is earlier than dateTime, 0 if equal, and > 0 if later
            int dateFuture = DateTime.Compare(DateTime.Now.AddDays(15), dateTime);

            //If date time is later than currentDateTime and is before currentDateTime(+15 days)
            if (dateComp >= 0 || dateFuture <= 0)
            {
                lblDateTimeError.Text    = "Enter a date between now and 2 weeks";
                lblDateTimeError.Visible = true;
            }
            else
            {
                members = db.users.SqlQuery("SELECT * " +
                                            "FROM [User] INNER JOIN [UserGroup] ON [User].userID = [UserGroup].userID " +
                                            "WHERE [UserGroup].groupID = " + pageGroup.groupID +
                                            " ORDER BY [UserGroup].joinNumber").ToList <User>();



                //lblDateTimeError.Visible = false;  // error display test
                Event newEvent = new Event();

                newEvent.eventName     = txtEName.Text;
                newEvent.eventLocation = txtLocation.Text;
                newEvent.eventTime     = dateTime;
                newEvent.groupID       = pageGroup.groupID;
                try
                {
                    newEvent.movieID = nextMoviesAvalible[selectedMovieIndex - 1].movieID;


                    if (cbTheater.Checked == true)
                    {
                        int  tickets; //number of tickets bought
                        bool ticketsBought = int.TryParse(txtTickets.Text, out tickets);

                        if (ticketsBought == true) // prevent int error
                        {
                            newEvent.numTickets = tickets;
                        }
                        else
                        {
                            newEvent.ticketsBought = 1;
                        }
                    }
                    else
                    {
                        newEvent.ticketsBought = 0;
                    }

                    newEvent.eventOwner = currentUser.userID;

                    foreach (User member in members)
                    {
                        MailMessage mm = new MailMessage();
                        mm.To.Add(new MailAddress(member.email.Trim(), "Movie Night Event"));
                        mm.From       = new MailAddress("*****@*****.**");
                        mm.Body       = "<h4>Dear " + member.fName.Trim() + ",</h4> <p>A new event has been created for " + pageGroup.groupName + "</p><p>Event: " + newEvent.eventName + "</p><p>Location: " + newEvent.eventLocation + "</p><p>Date and Time: " + newEvent.eventTime.ToShortDateString() + " at " + newEvent.eventTime.ToShortTimeString() + "</p>";
                        mm.IsBodyHtml = true;
                        mm.Subject    = "Movie Night Event";
                        SmtpClient smcl = new SmtpClient();
                        smcl.Host        = "192.185.7.122";
                        smcl.Port        = 26;
                        smcl.Credentials = new NetworkCredential("*****@*****.**", "Alohamora99");
                        smcl.EnableSsl   = false;
                        smcl.Send(mm);
                    }

                    MovieNightContext context = new MovieNightContext();
                    context.events.Add(newEvent);
                    context.SaveChanges();
                    Response.Write("<script>alert('Event created successfully')</script>");
                    Response.Redirect("Group.aspx?groupID=" + pageGroup.groupID);
                }
                catch (ArgumentOutOfRangeException ex)
                {
                    lblMovie.InnerText = "Movie - Please select a movie";
                } catch (Exception)
                {
                    lblMovie.InnerText = "Movie - Unable to create Event";
                }
            }
        }