Example #1
0
        public void Register(string firstName, string lastName, string email, string password)
        {
            var account = new Core.Domain.Entities.Account {
                                                               FirstName = firstName,
                                                               LastName = lastName,
                                                               Email = email,
                                                               Password =
                                                               Cryptography.Encrypt(password, email.Split('@')[0]),
                                                               CreateDate = DateTime.Now,
                                                               LastUpdateDate = DateTime.Now,
                                                               BirthDate = new DateTime(1974, 9, 6),
                                                               EmailVerified = true
                                                           };

            if(_accountService.EmailInUse(email)) {
                _view.ShowErrorMessage("This email is already in use");
            }
            else {
                _accountRepository.SaveAccount(account);
                List<Core.Domain.Entities.Permission> permissions = _permissionRepository.GetPermissionByName("PUBLIC");
                Core.Domain.Entities.Account newAccount = _accountRepository.GetAccountByEmail(email);

                if(permissions.Count > 0 && newAccount != null) {
                    _accountRepository.AddPermission(newAccount, permissions[0]);
                }

                //_email.SendEmailAddressVerificationEmail(email.Split('@')[0], email);
                _view.ShowAccountCreatedPanel();
            }
        }
        public void Init(IEditAccount view)
        {
            _view = view;

            if (_userSession.CurrentUser != null) {
                _account = _userSession.CurrentUser;
            } else {
                _redirector.GoToAccountLoginPage();
            }
        }