示例#1
0
        private async Task <UpdateOperationViewModel> GetViewModel(OperationRouteValue routeValue)
        {
            var query  = new GetAccountProviderLegalEntityQuery(routeValue.AccountId.Value, routeValue.AccountProviderId.Value, routeValue.AccountLegalEntityId.Value);
            var result = await _mediator.Send(query);

            return(_mapper.Map <UpdateOperationViewModel>(result));
        }
示例#2
0
        public async Task <ActionResult> Update(OperationRouteValue routeValue)
        {
            var model = await GetViewModel(routeValue);

            var helper = new OperationsHelper(routeValue, TempData, Url);

            helper.Update(model);

            if (!helper.IsValid())
            {
                ModelState.AddModelError("Operation", $"Select yes if you give {model.ProviderName} permission to {model.Operation.GetDescription().ToLower()}");
                return(View("Set", model));
            }

            var next = helper.Next();

            if (next == Operation.NotSet)
            {
                return(RedirectToAction("Confirm", new OperationRouteValue {
                    AccountProviderId = routeValue.AccountProviderId.Value,
                    AccountLegalEntityId = routeValue.AccountLegalEntityId.Value
                }));
            }

            return(RedirectToAction("Set", "Operations", new OperationRouteValue {
                OperationId = (short)next,
                AccountProviderId = routeValue.AccountProviderId.Value,
                AccountLegalEntityId = routeValue.AccountLegalEntityId.Value
            }));
        }
        public Task <ActionResult> Set(Operation operation)
        {
            OperationRouteValue = new OperationRouteValue {
                AccountId            = 1,
                AccountProviderId    = 2,
                AccountLegalEntityId = 3,
                OperationId          = (short)operation
            };

            GetAccountProviderLegalEntityQueryResult = new GetAccountProviderLegalEntityQueryResult(
                new Application.Queries.GetAccountProviderLegalEntity.Dtos.AccountProviderDto(),
                new Application.Queries.GetAccountProviderLegalEntity.Dtos.AccountLegalEntityDto(),
                new Application.Queries.GetAccountProviderLegalEntity.Dtos.AccountProviderLegalEntityDto(),
                0,
                false);

            Mediator.Setup(m => m.Send(
                               It.Is <GetAccountProviderLegalEntityQuery>(q =>
                                                                          q.AccountId == OperationRouteValue.AccountId &&
                                                                          q.AccountProviderId == OperationRouteValue.AccountProviderId &&
                                                                          q.AccountLegalEntityId == OperationRouteValue.AccountLegalEntityId),
                               CancellationToken.None))
            .ReturnsAsync(GetAccountProviderLegalEntityQueryResult);

            return(OperationsController.Set(OperationRouteValue));
        }
示例#4
0
        public async Task <ActionResult> Set(OperationRouteValue routeValue)
        {
            var model = await GetViewModel(routeValue);

            var helper = new OperationsHelper(routeValue, TempData, Url);

            helper.Set(model);
            return(View(model));
        }
示例#5
0
        public OperationsHelper(OperationRouteValue routeValue, TempDataDictionary tempData, UrlHelper urlHelper)
        {
            _routeValue = routeValue;
            _tempData   = tempData;
            _urlHelper  = urlHelper;

            Changes = tempData.Get <List <OperationViewModel> >() ?? new List <OperationViewModel>();

            CurrentOperation = (Operation)Enum.Parse(typeof(Operation), _routeValue.OperationId.ToString());

            if (CurrentOperation.Equals(Operation.NotSet))
            {
                _tempData.Clear();
                CurrentOperation = AllowedOperations().First();
            }
        }
示例#6
0
        public async Task <ActionResult> Confirm(OperationRouteValue routeValue)
        {
            var helper = new OperationsHelper(routeValue, TempData, Url);

            if (helper.Changes == null)
            {
                return(RedirectToAction("Get", new GetAccountProviderLegalEntityRouteValues {
                    AccountProviderId = routeValue.AccountProviderId.Value, AccountLegalEntityId = routeValue.AccountLegalEntityId.Value
                }));
            }

            var model = await GetConfirmViewModel(routeValue);

            helper.Confirm(model);
            ;
            return(View(model));
        }