Exemple #1
0
    public bool ActivateAccount(Guid key)
    {
        MyProjectDataContext dbContext = new MyProjectDataContext();
        ActivateUser         act       = new ActivateUser();
        var q = from a in dbContext.ActivateUsers
                where a.ActivationKey == key
                select a;

        foreach (var a in q)
        {
            a.IsActivated = true;
            //  a.IsExpired = true;
            try
            {
                dbContext.ActivateUsers.InsertOnSubmit(act);
                dbContext.SubmitChanges();
                return(true);
            }
            catch
            {
                return(false);
            }
        }
        return(false);
    }
        public async Task <StatusData <string> > Activate(ActivateUser request)
        {
            var response = await Task.Factory.StartNew(() => Client.UserService.activateUser(request.UserName, request.UserGuid)).ConfigureAwait(false);

            var data = new StatusData <string> {
                Status = (SystemDbStatus)response.DbStatusCode, Message = response.DbStatusMsg, SubStatus = response.DbSubStatusCode
            };

            return(data);
        }
Exemple #3
0
        private ActionList GetActions(ApplicationUser user)
        {
            var result  = new ActionList();
            var isAdmin = user.Roles.Any(t => t.Role.Name == UserManagementRoles.UserAdmin.Name);

            if (this.permissionManager.CanAccess <EditUser>())
            {
                result.Actions.Add(EditUser.Button(user.Id, UiFormConstants.EditLabel)
                                   .WithCustomUi(LinkStyle.PrimarySmall));

                result.Actions.Add(new FormLink
                {
                    Form             = "start-impersonation",
                    Label            = UiFormConstants.ImpersonationLabel,
                    InputFieldValues = new Dictionary <string, object>
                    {
                        { nameof(Request.Id), user.Id }
                    }
                }.WithAction(FormLinkActions.Run).WithCustomUi(LinkStyle.Small));
            }

            if (!user.HasLoggedIn && this.permissionManager.CanAccess <DeleteUser>())
            {
                result.Actions.Add(DeleteUser.Button(user.Id, UiFormConstants.DeleteLabel)
                                   .WithCustomUi(LinkStyle.DangerSmall));
            }

            var hasPassword = this.userManager.HasPasswordAsync(user).Result;

            if (!hasPassword && !user.EmailConfirmed && this.permissionManager.CanAccess <ResendAccountConfirmationEmail>())
            {
                result.Actions.Add(ResendAccountConfirmationEmail
                                   .Button(user.Id).WithCustomUi(LinkStyle.PrimarySmall));
            }

            if (!isAdmin &&
                this.permissionManager.CanAccess <ActivateUser>() &&
                !user.Active)
            {
                result.Actions.Add(ActivateUser.Button(user.Id).WithCustomUi(LinkStyle.SuccessSmall));
            }

            if (!isAdmin &&
                this.permissionManager.CanAccess <DeactivateUser>() &&
                user.Active)
            {
                result.Actions.Add(DeactivateUser.Button(user.Id).WithCustomUi(LinkStyle.DangerSmall));
            }

            return(result);
        }
Exemple #4
0
        public void Handle_Activate_Test()
        {
            #region === ARRANGE ===

            int businessConsultNumber = 0;
            int businessChangeNumber  = 0;

            int    id       = 555;
            string username = "******";
            string hash     = "223cb19e27ef605dcef5f03d977bf3c6cdc5161d489800117bddebdc2b0d08661ff5add09c812a3fdb9f5d98c737480994646f28cd63739fe565455c79b7e6ca";

            Mock <IMediatorsFactory> mockedBusinessEventsFactory = new Mock <IMediatorsFactory>();
            Mock <IInfrastructureOperationsFactory> mockedInfrastructureOperationsFactory = new Mock <IInfrastructureOperationsFactory>();
            BusinessDataMediator businessDataMediator = new BusinessDataMediator();
            User user = new User(id, username, hash, false, businessDataMediator);

            businessDataMediator.AppendBusinessConsultNeedHandler((sender, args) => {
                args.result = new List <User>()
                {
                    user
                };
                businessConsultNumber++;
            });

            businessDataMediator.AppendBusinessChangeNeedHandler((sender, handler) => { businessChangeNumber++; });

            mockedBusinessEventsFactory.Setup(x => x.CreateBusinessDataMediator(It.IsAny <EventHandler <BusinessConsultEventArgs> >(), It.IsAny <EventHandler <BusinessChangeEventArgs> >())).Returns(businessDataMediator);

            ActivateUser command = new ActivateUser {
                Id = new Guid(), userId = id
            };
            UsersComandHandler comandHandler = new UsersComandHandler(mockedBusinessEventsFactory.Object, mockedInfrastructureOperationsFactory.Object);

            #endregion

            #region === ACT ===

            comandHandler.Handle(command);


            #endregion

            #region === ASSERT ===

            Assert.AreEqual <int>(1, businessConsultNumber);
            Assert.AreEqual <int>(1, businessChangeNumber);
            Assert.AreEqual <bool>(true, user.active);

            #endregion
        }
Exemple #5
0
        private ActionList GetActions(ApplicationUser user)
        {
            var result  = new ActionList();
            var isAdmin = user.Roles.Any(t => t.Role.Name == UserManagementRoles.UserAdmin.Name);

            if (this.permissionManager.CanAccess <EditUser>())
            {
                result.Actions.Add(EditUser.Button(user.Id, UiFormConstants.EditLabel).WithCustomUi("btn-primary btn-sm"));
            }

            if (this.permissionManager.CanAccess <StartImpersonation>())
            {
                result.Actions.Add(StartImpersonation.Button(user.Id));
            }

            if (!user.HasLoggedIn && this.permissionManager.CanAccess <DeleteUser>())
            {
                result.Actions.Add(DeleteUser.Button(user.Id, UiFormConstants.DeleteLabel).WithCustomUi("btn-danger btn-sm"));
            }

            var hasPassword = this.userManager.HasPasswordAsync(user).Result;

            if (!hasPassword && !user.EmailConfirmed && this.permissionManager.CanAccess <ResendAccountConfirmationEmail>())
            {
                result.Actions.Add(ResendAccountConfirmationEmail.Button(user.Id).WithCustomUi("btn-primary btn-sm"));
            }

            if (!isAdmin &&
                this.permissionManager.CanAccess <ActivateUser>() &&
                !user.Active)
            {
                result.Actions.Add(ActivateUser.Button(user.Id).WithCustomUi("btn-success btn-sm"));
            }

            if (!isAdmin &&
                this.permissionManager.CanAccess <DeactivateUser>() &&
                user.Active)
            {
                result.Actions.Add(DeactivateUser.Button(user.Id).WithCustomUi("btn-danger btn-sm"));
            }

            return(result);
        }
Exemple #6
0
    public bool SaveActivationKey(Guid userid, Guid key)
    {
        MyProjectDataContext dbContext = new MyProjectDataContext();
        ActivateUser         act       = new ActivateUser();

        act.ActivationKey = key;
        act.Created       = DateTime.Now;
        act.IsActivated   = false;
        act.IsExpired     = false;
        act.UserId        = userid;
        try
        {
            dbContext.ActivateUsers.InsertOnSubmit(act);
            dbContext.SubmitChanges();
            return(true);
        }
        catch
        {
            return(false);
        }
    }
        //Update user with id
        public ActivateResponce Put(ActivateUser user)
        {
            ActivateResponce responce = new ActivateResponce();

            responce.ResultCode = 200;

            User u = db.Users.Where(x => x.ActivateUrl == user.Url && !x.IsActivated).FirstOrDefault();

            if (u == null)
            {
                responce.ResultCode   = 404;
                responce.ErrorMessage = "No user with that activation url";
            }
            else
            {
                responce.ErrorMessage = "Account activated";
                u.IsActivated         = true;
                db.SaveChanges();
            }

            return(responce);
        }
        public async Task <ActionResult <User> > Activate([FromBody]  ActivateUser activateUser)
        {
            //update user with role
            //  ActivateUser activateUser = JsonConvert.DeserializeObject<ActivateUser>(requestData);
            var user = _repository.FindSingle <User>(x => x.Id == activateUser.userId, new string[] { "Partner" });

            if (user == null)
            {
                return(NotFound(new ApiResponse(500, $"User not found")));
            }

            user.ValidUpTo            = activateUser.validUpTo;
            user.UserRoleId           = activateUser.roleId;
            user.IsActive             = activateUser.isActive;
            user.Partner.IsActive     = activateUser.isActive;
            user.Partner.ValidUpTo    = activateUser.validUpTo;
            user.Partner.IsSusbcribed = activateUser.isSubscribed;
            user.ActivationCode       = null;
            await _repository.UpdateAsync <User>(user);

            return(user);
        }
        public async Task <IActionResult> ConfirmAccount([FromBody] ActivateUser activationData)
        {
            await _userService.ActivateAccount(activationData.Email, activationData.ActivateKey);

            return(Ok());
        }
Exemple #10
0
        public async Task <IActionResult> Post(ActivateUser command)
        {
            await CommandDispatcher.DispatchAsync(command);

            return(StatusCode(201));
        }
Exemple #11
0
 public Task <StatusData <string> > Activate(ActivateUser request)
 {
     return(_jUnitOfWork.Account.Activate(request));
 }
        public void Activate(ActivateUser command)
        {
            ICommandHandler <ActivateUser> commandHandler = commandHandlerFactory.CreateCommandHandler <ActivateUser>();

            commandHandler.Handle(command);
        }
 public async Task <Response <UserDto> > ActivateUserAsync(ActivateUser command)
 => await PutAsync <UserDto>($"api/users/{command.Username}/activate", command);
Exemple #14
0
 public void Handle(ActivateUser message)
 {
     _userRepository.Activate(message.Token);
 }
Exemple #15
0
        public async Task <HttpResponseMessage> Activate([FromBody] ActivateUser request)
        {
            var response = await _accountService.Activate(request).ConfigureAwait(false);

            return(Request.SystemResponse <string>(response.Status));
        }