public void Can_Delete_User() { // Arrange var password = "******"; var passwordCoderMock = new Mock<IPasswordCoder>(); passwordCoderMock.Setup(pc => pc.PasswordFormat).Returns(MembershipPasswordFormat.Clear); var encodedPassword = Encoding.Default.GetBytes(password); passwordCoderMock.Setup(pc => pc.Encode(encodedPassword)) .Returns(encodedPassword); HousingMgmtUser user = new HousingMgmtUser("username", password, passwordCoderMock.Object) { Email = "*****@*****.**" }; LegalPerson legalPerson = new LegalPerson("12345678902", "FER"); user.Person = legalPerson; UsersNHRepository usersNHRepository = new UsersNHRepository(SessionFactory); // Act using (var session = SessionFactory.OpenSession()) { using (var tx = Session.BeginTransaction()) { usersNHRepository.SaveOrUpdate(user); tx.Commit(); } } using (var session = SessionFactory.OpenSession()) { using (var tx = Session.BeginTransaction()) { usersNHRepository.Delete(user); tx.Commit(); } } HousingMgmtUser fetchedUser = null; using (var session = SessionFactory.OpenSession()) { using (var tx = Session.BeginTransaction()) { fetchedUser = usersNHRepository.GetById(user.Id) as HousingMgmtUser; tx.Commit(); } } // Assert Assert.IsTrue(fetchedUser == null, "FetchedUser isn't null."); }
public void Can_Save_Person_To_DB() { // Arrange var password = "******"; var passwordCoderMock = new Mock<IPasswordCoder>(); passwordCoderMock.Setup(pc => pc.PasswordFormat).Returns(MembershipPasswordFormat.Clear); var encodedPassword = Encoding.Default.GetBytes(password); passwordCoderMock.Setup(pc => pc.Encode(encodedPassword)) .Returns(encodedPassword); HousingMgmtUser user = new HousingMgmtUser("username", password, passwordCoderMock.Object) { Email = "*****@*****.**" }; LegalPerson legalPerson = new LegalPerson("12345678902", "FER"); user.Person = legalPerson; UsersNHRepository usersNHRepository = new UsersNHRepository(SessionFactory); // Act using (var session = SessionFactory.OpenSession()) { using (var tx = Session.BeginTransaction()) { usersNHRepository.SaveOrUpdate(user); tx.Commit(); } } HousingMgmtUser fetchedUser = null; using (var session = SessionFactory.OpenSession()) { using (var tx = Session.BeginTransaction()) { fetchedUser = usersNHRepository.GetById(user.Id) as HousingMgmtUser; tx.Commit(); } } // Assert Assert.IsTrue(fetchedUser != null, "FetchedUser is null."); Assert.AreEqual(legalPerson, fetchedUser.Person, "Persons aren't equal."); Assert.AreEqual(DateTime.MinValue.ToLocalTime(), fetchedUser.LastLockoutDate, "Date and Time aren't equal."); }
/// <summary> /// Salje emailom obavijest o registraciji /// </summary> /// <param name="user">registrirani korisnik</param> public void NotifyOfRegistration(HousingMgmtUser user) { var mailTo = user.Email; var mailSubject = "Potvrda registracije"; StringBuilder mailBodySb = new StringBuilder(); mailBodySb.AppendFormat("Poštovani {0},{1}", user.Person.FullName, Environment.NewLine); mailBodySb.AppendLine("zahvaljujemo se na registraciji."); string mailBody = mailBodySb.ToString(); using (var smtpClient = new SmtpClient()) { using(var mailMessage = new MailMessage(MAIL_FROM, mailTo, mailSubject, null)) { using(var alternateView = AlternateView.CreateAlternateViewFromString(mailBody, mailMessage.BodyEncoding, "text/html")) { alternateView.TransferEncoding = TransferEncoding.SevenBit; mailMessage.AlternateViews.Add(alternateView); smtpClient.Send(mailMessage); } } } }
/// <summary> /// Adds a new membership user to the data source. /// </summary> /// <returns> /// A <see cref="T:System.Web.Security.MembershipUser"/> object populated with the information for the newly created user. /// </returns> /// <param name="username">The user name for the new user.</param> /// <param name="password">The password for the new user.</param> /// <param name="email">The e-mail address for the new user.</param> /// <param name="passwordQuestion">The password question for the new user.</param> /// <param name="passwordAnswer">The password answer for the new user</param> /// <param name="isApproved">Whether or not the new user is approved to be validated.</param> /// <param name="providerUserKey">The unique identifier from the membership data source for the user.</param> /// <param name="status">A <see cref="T:System.Web.Security.MembershipCreateStatus"/> enumeration value indicating whether the user was created successfully.</param> public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { // validacija lozinke ValidatePasswordEventArgs validatePasswordEventArgs = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(validatePasswordEventArgs); // ako username i lozinka ne zadovoljavaju if(validatePasswordEventArgs.Cancel) { status = MembershipCreateStatus.InvalidPassword; return null; } // provjera da li vec postoji ista email adresa ukoliko se trazi jedinstvena email adresa if(RequiresUniqueEmail) { string existedUserName = GetUserNameByEmail(email); if(!string.IsNullOrEmpty(existedUserName)) { status = MembershipCreateStatus.DuplicateEmail; return null; } } // da li konfiguracija podrzava QuestionAndAnswer if(RequiresQuestionAndAnswer) { // ako da trebaju biti zadani pitanje i odgovor if(string.IsNullOrEmpty(passwordQuestion)) { status = MembershipCreateStatus.InvalidQuestion; return null; } if(string.IsNullOrEmpty(passwordAnswer)) { status = MembershipCreateStatus.InvalidAnswer; return null; } } // provjera da li vec posotji korisnik sa istim korisnickim imenom User existingUser = usersRepository.GetUser(username); if(existingUser == null) { HousingMgmtUser user = new HousingMgmtUser(username, password, PasswordCoder) { Email = email, IsApproved = isApproved }; if(RequiresQuestionAndAnswer) { user.ChangePasswordQuestionAndAnswer(password, passwordQuestion, passwordAnswer, PasswordCoder); } usersRepository.SaveOrUpdate(user); status = MembershipCreateStatus.Success; NHibernateMembershipUser nHibernateMembershipUser = new NHibernateMembershipUser(user); return nHibernateMembershipUser; } else { status = MembershipCreateStatus.DuplicateUserName; return null; } }
/// <summary> /// Konstruktor /// </summary> /// <param name="user">korisnik</param> public NHibernateMembershipUser(HousingMgmtUser user) { this.user = user; }