public async Task <IActionResult> Activate([FromBody] ActivateUserViewModel viewModel) { var command = new ActivateUserCommand(new AggregateId(viewModel.Id)); await _commandQueryDispatcherDecorator.DispatchAsync(command); return(Ok()); }
public async Task <ActionResult> Confirm(ActivateUserViewModel activateUserViewModel) { var id = GetLoggedInUserId(); activateUserViewModel = await _accountOrchestrator.ActivateUser(new ActivateUserViewModel { AccessCode = activateUserViewModel.AccessCode, UserId = id }); if (activateUserViewModel.Valid) { return(Redirect(activateUserViewModel.ReturnUrl)); } var response = new OrchestratorResponse <ActivateUserViewModel> { Data = activateUserViewModel, FlashMessage = new FlashMessageViewModel { ErrorMessages = activateUserViewModel.ErrorDictionary, Severity = FlashMessageSeverityLevel.Error, Headline = "Errors to fix", Message = "Check the following details:" } }; return(View("Confirm", response)); }
public ActionResult Activate(int id) { ActivateUserViewModel businessViewModel = new ActivateUserViewModel() { MenuProductGroups = baseViewModel.GetMenu(), MenuServiceGroups = baseViewModel.GetMenuServices(), FooterRecentBlog = baseViewModel.GetFooterRecentBlog(), UserCode = id, }; return(View(businessViewModel)); }
public ActionResult Activate(int id, Guid businessCode) { ActivateUserViewModel businessViewModel = new ActivateUserViewModel() { MenuProductGroups = baseViewModel.GetMenu(), MenuServiceGroups = baseViewModel.GetMenuServices(), FooterRecentBlog = baseViewModel.GetFooterRecentBlog() }; ViewBag.PackageId = new SelectList(db.Packages.Where(current => current.IsActive), "Id", "Title"); return(View(businessViewModel)); }
public async Task ThenTheViewModelValuesArePassedToTheOrchestrator() { var accessCodeViewModel = new ActivateUserViewModel(); var actual = await _accountController.ConfirmResend(); _accountOrchestrator.Verify(x => x.ResendActivationCode(It.Is <ResendActivationCodeViewModel>(p => p.UserId.Equals(UserId))), Times.Once); var viewResult = actual as RedirectToRouteResult; Assert.IsNotNull(viewResult); Assert.That(viewResult.RouteValues["Action"], Is.EqualTo("Confirm")); }
public async Task ThenTheViewModelValuesArePassedToTheOrchestrator() { //Act var accessCode = "myCode"; var userId = "myid"; var accessCodeViewModel = new ActivateUserViewModel { AccessCode = accessCode, UserId = userId }; await _accountController.Confirm(accessCodeViewModel); //Assert _accountOrchestrator.Verify(x => x.ActivateUser(It.Is <ActivateUserViewModel>(p => p.AccessCode.Equals(accessCode) && p.UserId.Equals(userId))), Times.Once); }
//public async Task<IHttpActionResult> Activate(UserActivation model) public IHttpActionResult Activate(ActivateUserViewModel model) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //TODO: uniform exception management (FluentValidation). When user is already activated should display a proper message CommandWorker.ActivateUser(model); return(Ok()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public ActionResult Activate(ActivateUserViewModel activeCode) { try { if (ModelState.IsValid) { User user = db.Users.FirstOrDefault(current => current.Code == activeCode.UserCode && current.Password == activeCode.ActivateCode); if (user == null) { ModelState.AddModelError("invalidCode", "کد وارد شده صحیح نمی باشد"); } else { user.IsActive = true; user.LastModifiedDate = DateTime.Now; Order order = CreateOrder(user.Id); if (order != null) { UpdateQuestionOrderId(order.Id, activeCode.QuestionId); db.SaveChanges(); string returnUrl = "/paymentrequest?amount=" + order.TotalAmount + "&orderId=" + order.Id; return(Redirect(returnUrl)); } } } } catch (Exception e) { ModelState.AddModelError("catchError", "مشکلی در پردازش اطلاعات به وجود آمده است. لطفا دوباره وارد سایت شوید."); } ActivateUserViewModel businessViewModel = new ActivateUserViewModel() { MenuProductGroups = baseViewModel.GetMenu(), MenuServiceGroups = baseViewModel.GetMenuServices(), FooterRecentBlog = baseViewModel.GetFooterRecentBlog() }; return(View(businessViewModel)); }
public void Arrange() { _mediator = new Mock <IMediator>(); _mediator.Setup(m => m.SendAsync(It.IsAny <ActivateUserCommand>())) .ReturnsAsync(new ActivateUserCommandResult { ReturnUrl = ReturnUrl }); _owinWrapper = new Mock <IOwinWrapper>(); _logger = new Mock <ILogger>(); _accountOrchestrator = new AccountOrchestrator(_mediator.Object, _owinWrapper.Object, _logger.Object); _model = new ActivateUserViewModel { UserId = UserId, AccessCode = AccessCode }; }
public ActionResult Activate(ActivateUserViewModel activeCode) { try { if (ModelState.IsValid) { User user = db.Users.FirstOrDefault(current => current.Code == activeCode.UserCode && current.Password == activeCode.ActivateCode); if (user == null) { ModelState.AddModelError("invalidCode", "کد وارد شده صحیح نمی باشد"); } else { user.IsActive = true; user.LastModifiedDate = DateTime.Now; db.SaveChanges(); TempData["success"] = "با تشکر. حساب کاربری شما در وب سایت دکتر کامران صحت با موفقیت فعال شد."; activeCode.MenuProductGroups = baseViewModel.GetMenu(); activeCode.MenuServiceGroups = baseViewModel.GetMenuServices(); activeCode.FooterRecentBlog = baseViewModel.GetFooterRecentBlog(); return(View(activeCode)); } } } catch (Exception e) { ModelState.AddModelError("catchError", "مشکلی در پردازش اطلاعات به وجود آمده است. لطفا دوباره وارد سایت شوید."); } ActivateUserViewModel businessViewModel = new ActivateUserViewModel() { MenuProductGroups = baseViewModel.GetMenu(), MenuServiceGroups = baseViewModel.GetMenuServices(), FooterRecentBlog = baseViewModel.GetFooterRecentBlog() }; return(View(businessViewModel)); }
public virtual async Task <ActivateUserViewModel> ActivateUser(ActivateUserViewModel model) { try { var result = await _mediator.SendAsync(new ActivateUserCommand { AccessCode = model.AccessCode, UserId = model.UserId }); model.ReturnUrl = result.ReturnUrl; return(model); } catch (InvalidRequestException ex) { _logger.Info(ex, ex.Message); model.ErrorDictionary = ex.ErrorMessages; return(model); } }
public void ActivateUser(ActivateUserViewModel model) { bus.Send(new ActivateUserCommand(model.UserName, model.Key)); }