예제 #1
0
        public async Task <IHttpActionResult> PutStatus(Guid id, AccountStatusViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var buyerAccount = await _accountService.GetAccount(id).ConfigureAwait(false);

            if (buyerAccount == null)
            {
                return(NotFound());
            }

            try
            {
                var newStatus = (AccountStatusEnum)Enum.Parse(typeof(AccountStatusEnum), model.Status, true);
                await _accountService.ChangeAccountStatus(id, newStatus).ConfigureAwait(false);

                return(Ok());
            }
            catch (BrandscreenException ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(BadRequest(ModelState));
            }
        }
예제 #2
0
        public virtual ActionResult GetBalance()
        {
            LogI("GetBalance");

            var companyId = AccessManager.CompanyId;

            if (!companyId.HasValue)
            {
                throw new ArgumentNullException("CompanyId");
            }

            var shipmentProviders = ServiceFactory.GetShipmentProviders(LogService,
                                                                        Time,
                                                                        DbFactory,
                                                                        WeightService,
                                                                        AccessManager.Company.ShipmentProviderInfoList,
                                                                        null,
                                                                        null,
                                                                        null,
                                                                        null);

            CompanyHelper.UpdateBalance(Db, AccessManager.Company, shipmentProviders, true, Time.GetAppNowTime());

            var model = new AccountStatusViewModel(AccessManager.Company);

            return(new JsonResult
            {
                Data = ValueResult <ShipmentProviderViewModel[]> .Success("", model.ShipmentProviderList.ToArray()),
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
예제 #3
0
    public Task <IViewComponentResult> InvokeAsync(NavigationZone activeZone)
    {
        var model = new AccountStatusViewModel
        {
            ActiveNavigationZone = activeZone,
            IsAuthenticated      = HttpContext?.User?.Identity?.IsAuthenticated ?? false
        };

        return(Task.FromResult <IViewComponentResult>(View(model)));
    }
예제 #4
0
        public async Task PutStatus_ShouldReturnOk()
        {
            // Arrange
            var buyerAccountUuid = Guid.NewGuid();
            var model            = new AccountStatusViewModel {
                Status = AccountStatusEnum.Suspended.ToString()
            };

            Mock.Mock <IAccountService>().Setup(x => x.GetAccount(buyerAccountUuid))
            .Returns(Task.FromResult(new BuyerAccount()));

            // Act
            var retVal = await Controller.PutStatus(buyerAccountUuid, model);

            // Assert
            Assert.That(retVal, Is.TypeOf <OkResult>());
            Mock.Mock <IAccountService>().Verify(x => x.ChangeAccountStatus(buyerAccountUuid, AccountStatusEnum.Suspended), Times.Once);
        }
예제 #5
0
        public virtual async Task <AccountStatusViewModel> GetAccountStatusViewModelAsync(GetAccountStatusViewModelParam param)
        {
            if (param == null)
            {
                throw new ArgumentNullException(nameof(param));
            }
            if (param.CultureInfo == null)
            {
                throw new ArgumentException(GetMessageOfNull(nameof(param.CultureInfo)), nameof(param));
            }
            if (param.CustomerId == Guid.Empty)
            {
                throw new ArgumentException(GetMessageOfEmpty(nameof(param.CustomerId)), nameof(param));
            }
            if (string.IsNullOrWhiteSpace(param.Scope))
            {
                throw new ArgumentException(GetMessageOfNullWhiteSpace(nameof(param.Scope)), nameof(param));
            }

            var customer = await CustomerRepository.GetCustomerByIdAsync(new GetCustomerByIdParam
            {
                CultureInfo = param.CultureInfo,
                CustomerId  = param.CustomerId,
                Scope       = param.Scope
            }).ConfigureAwait(false);

            if (customer == null)
            {
                return(null);
            }

            var vm = new AccountStatusViewModel
            {
                Status = GetAccountStatus(customer.AccountStatus)
            };

            return(vm);
        }