예제 #1
0
        public bool InviteNewUser(string emailToRegister, out string message)
        {
            var user = database.Uzytkownik.Single(x => x.email == emailToRegister);

            if (user != null)
            {
                message = "Email already exist in database!";
                return(false);
            }
            string session     = GenerateSessionID(emailToRegister);
            var    mailAddress = new MailAddress(emailToRegister);
            var    result      = provider.SendInviteEmail(mailAddress, session);

            if (result == "Success!")
            {
                var confirm = new Uzytkownik_Potwierdzenie()
                {
                    generatedLinkHash = session,
                    id = database.Uzytkownik_Potwierdzenie.Max(x => x.id) + 1
                };
                database.Uzytkownik_Potwierdzenie.Add(confirm);
                database.SaveChanges();
                message = "Success!";
                return(true);
            }
            message = "Ops! Something went wrong.\n" + result;
            return(false);
        }
예제 #2
0
        public bool RegisterUser(UserDto user)
        {
            if (database.Uzytkownik.Single(u => u.email == user.email || u.login == user.login) != null)
            {
                return(false);
            }
            var uzytkownik = new Uzytkownik()
            {
                id          = database.Uzytkownik.Max(x => x.id) + 1,
                login       = user.login,
                email       = user.email,
                IsConfirmed = false,
                password    = user.password,
            };
            string session     = GenerateSessionID(uzytkownik.login);
            var    mailAddress = new MailAddress(uzytkownik.email, uzytkownik.login);
            var    result      = provider.SendRegisterEmail(mailAddress, session);

            if (result == "Success!")
            {
                var confirm = new Uzytkownik_Potwierdzenie()
                {
                    id = database.Uzytkownik_Potwierdzenie.Max(x => x.id) + 1,
                    generatedLinkHash = session,
                    uzytkownik_id     = uzytkownik.id
                };
                database.Uzytkownik.Add(uzytkownik);
                database.Uzytkownik_Potwierdzenie.Add(confirm);
                database.SaveChanges();
                repoDao.AddDefaultRepoForUser(uzytkownik.id);
                return(true);
            }
            return(false);
        }
예제 #3
0
        public bool ChangePassword(ChangePass newPass, out string message)
        {
            var user = database.Uzytkownik.Single(x => x.id == newPass.userID && x.password == newPass.oldPassword);

            if (user == null)
            {
                message = "Wrong login or password!";
                return(false);
            }
            string session     = GenerateSessionID(user.login);
            var    mailAddress = new MailAddress(user.email, user.login);
            var    result      = provider.SendChangePasswordEmail(mailAddress, session);

            if (result == "Success!")
            {
                user.password = newPass.newPassword;
                var confirm = new Uzytkownik_Potwierdzenie()
                {
                    id = database.Uzytkownik_Potwierdzenie.Max(x => x.id) + 1,
                    generatedLinkHash = session,
                    uzytkownik_id     = user.id
                };
                database.Uzytkownik_Potwierdzenie.Add(confirm);
                database.SaveChanges();
                message = "Password was changed";
                return(true);
            }
            message = "Ops! Something went wrong. Password didn't changed\n" + result;
            return(false);
        }