static void Main(string[] args) { IMediator mediator = new Mediator(); IUser jackson = new FreeUser(mediator, "Jackson"); IUser jose = new PaidUser(mediator, "Jose"); IUser cesar = new FreeUser(mediator, "Cesar"); mediator.Register(jackson); mediator.Register(jose); mediator.Register(cesar); jackson.SendMessage("Good morning"); Console.WriteLine(); jose.SendMessage("Welcome!"); Console.WriteLine(); jose.SendMessage("Have a nice day!"); Console.ReadKey(); }
public void CreateUserAndAccount(string userName, string password, bool isPaid) { User user; if (!isPaid) { user = new FreeUser { Name = userName }; } else { user = new PaidUser { Name = userName }; } if (_unitOfWork.UserRoles.GetOne(role => role.RoleName.Equals("User")) == null) { _unitOfWork.UserRoles.Add(new UserRoles { RoleName = "User" }); _unitOfWork.Commit(); } user.Roles.Add(_unitOfWork.UserRoles.GetOne(role => role.RoleName.Equals("User"))); _unitOfWork.UserRoles.GetOne(role => role.RoleName.Equals("User"), u => u.User).User.Add(user); _unitOfWork.Users.Add(user); _unitOfWork.Commit(); int userId = _unitOfWork.Users.GetOne(u => u.Name.Equals(userName)).ID; string salt = Crypto.GenerateSalt(); string hashedPassword = Crypto.HashPassword(password + salt); _unitOfWork.UserMembership.Add(new UserMembership { ID = userId, Password = hashedPassword, PasswordSalt = salt }); _unitOfWork.Commit(); }