public override bool ChangePassword(string username, string oldPassword, string newPassword)
        {
            var ctx = new QuaackEntities();

            var q = (from u in ctx.profile where u.username == username && u.password == oldPassword select u).FirstOrDefault();
            if (q != null)
            {
                q.password = newPassword;

                ctx.SaveChanges();
                return true;
            }
            return false;
        }
        public override bool ChangePassword(string username, string oldPassword, string newPassword)
        {
            var ctx = new QuaackEntities();

            var q = (from u in ctx.profile where u.username == username && u.password == oldPassword select u).FirstOrDefault();

            if (q != null)
            {
                q.password = newPassword;

                ctx.SaveChanges();
                return(true);
            }
            return(false);
        }
        public override bool ValidateUser(string username, string password)
        {
            var ctx = new QuaackEntities();

            var result = (from r in ctx.profile where r.username == username && r.password == password select r).Count();

            if (result > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
        {
            profile n = new profile();

            n.username                   = username;
            n.password                   = password;
            n.email                      = email;
            n.verificationpending        = true;
            n.verficationpendingdatetime = DateTime.Now;

            var ctx = new QuaackEntities();

            ctx.profile.Add(n);
            ctx.SaveChanges();



            var link = string.Format("http://*****:*****@gmail.com", n.email, "Welkom", link);

            mail.IsBodyHtml = true;
            SmtpClient smtp = new SmtpClient("smtp.gmail.com");

            smtp.EnableSsl = true;
            smtp.Port      = 587;
            System.Net.NetworkCredential c = new System.Net.NetworkCredential();
            c.UserName       = "******";
            c.Password       = "******";
            smtp.Credentials = c;
            smtp.Send(mail);


            status = MembershipCreateStatus.Success;
            return(GetUser(username, true));
        }
        public override MembershipUser GetUser(string username, bool userIsOnline)
        {
            var ctx   = new QuaackEntities();
            var query = (from u in ctx.profile where u.username == username select u).FirstOrDefault();

            if (query == null)
            {
                return(null);
            }
            else
            {
                MembershipUser memUser = new MembershipUser("MyMembershipProvider",
                                                            username, query.profileid, query.email,
                                                            string.Empty, string.Empty,
                                                            true, false, DateTime.MinValue,
                                                            DateTime.MinValue,
                                                            DateTime.MinValue,
                                                            DateTime.Now, DateTime.Now);



                return(memUser);
            }
        }
        public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
        {
            profile n = new profile();

            n.username = username;
            n.password = password;
            n.email = email;
            n.avatarlocation = "~/Images/default/threatened_duck.jpg";
            n.verificationpending = true;
            n.verficationpendingdatetime = DateTime.Now;

            var ctx = new QuaackEntities();
            ctx.profile.Add(n);
            ctx.SaveChanges();

            var link = string.Format("http://Quaack.system-Engineer.nl:8080/CheckMe.aspx?id={0}", n.profileid.ToString());

            MailMessage mail = new MailMessage("*****@*****.**", n.email, "Welkom, klik binnen 10 minuten op de link ter activatie.", link);
            mail.IsBodyHtml = true;
            SmtpClient smtp = new SmtpClient("smtp.gmail.com");
            smtp.EnableSsl = true;
            smtp.Port = 587;
            System.Net.NetworkCredential c = new System.Net.NetworkCredential();
            c.UserName = "******";

            //Password hardcoded. Andere manier verzinnen.
            c.Password = "******";
            smtp.Credentials = c;

            try
            {
                smtp.Send(mail);
            }

            catch (Exception e)
            {
                //console vervangen door label
                Console.Write(e);
            }

            status = MembershipCreateStatus.Success;

            return GetUser(username, false);
        }
        public override bool ValidateUser(string username, string password)
        {
            var ctx = new QuaackEntities();

            var result = (from r in ctx.profile where r.username == username && r.password == password && r.removed == false select r).Count();

            if (result > 0)
                return true;
            else
                return false;
        }
        public override MembershipUser GetUser(string username, bool userIsOnline)
        {
            {
                var ctx = new QuaackEntities();

                var query = (from u in ctx.profile where u.username == username select u).FirstOrDefault();

                if (query == null)
                    return null;
                else
                {
                    MembershipUser memUser = new MembershipUser("MyMembershipProvider",
                                                   username, query.profileid, query.email,
                                                   string.Empty, string.Empty,
                                                   true, false, DateTime.MinValue,
                                                   DateTime.MinValue,
                                                   DateTime.MinValue,
                                                   DateTime.Now, DateTime.Now);

                        return memUser;
                }
            }
        }
        public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
        {
            profile n = new profile();

            n.username = username;
            n.password = password;
            n.email = email;
            n.verificationpending = true;
            n.verficationpendingdatetime = DateTime.Now;

            var ctx = new QuaackEntities();
            ctx.profile.Add(n);
            ctx.SaveChanges();

            var link = string.Format("http://*****:*****@gmail.com", n.email, "Welkom", link);
            mail.IsBodyHtml = true;
            SmtpClient smtp = new SmtpClient("smtp.gmail.com");
            smtp.EnableSsl = true;
            smtp.Port = 587;
            System.Net.NetworkCredential c = new System.Net.NetworkCredential();
            c.UserName = "******";
            //Password hardcoded. Andere manier verzinnen.
            c.Password = "******";
            smtp.Credentials = c;
            // Exception handling toevoegen.
            smtp.Send(mail);

            status = MembershipCreateStatus.Success;
            return GetUser(username, true);
        }