Esempio n. 1
0
        public async Task <ActionResult <CounterpartyViewModel> > Post([FromBody] CounterpartyViewModel counterpartyVM, [FromServices] IDadataService dadataService)
        {
            //validation rules set in AccountViewModel
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //get account from Dadata.ru by Inn & Kpp and set account 'Fullname'
            var daDataResponce = await dadataService.GetAccountsById <FindByIdResponce>(counterpartyVM.Inn, counterpartyVM.Kpp, counterpartyVM.Type);

            if (!daDataResponce.suggestions.Any())
            {
                return(BadRequest("Account not found in Dadata.ru!"));
            }
            else if (daDataResponce.suggestions.Count() > 1)
            {
                return(BadRequest("Finded more than one accounts with this params in Dadata.ru!"));
            }
            else
            {
                counterpartyVM.Fullname = daDataResponce.suggestions.First().data.name.full_with_opf;
            }

            var counterpartyId = _counterpartyService.Add(_mapper.Map <CounterpartyModel>(counterpartyVM));

            return(CreatedAtAction(nameof(GetById), new { id = counterpartyId }, counterpartyVM));
        }
Esempio n. 2
0
        /// <summary>
        /// By having the view model in the constructor it can be dependency injected
        /// </summary>
        /// <param name="viewModel"></param>
        public CounterpartyView(CounterpartyViewModel viewModel)
        {
            InitializeComponent();

            this.Loaded += (s, e) =>
            {
                this.DataContext = viewModel;
            };
        }
Esempio n. 3
0
        public void TotalNumberOfCounterpartiesShouldBeTwo()
        {
            IUnityContainer container = new UnityContainer();

            container.RegisterType <ICounterpartyRepository, MockCounterpartyRepository>();
            container.RegisterType <ICounterpartyService, CounterpartyService>();
            container.RegisterType <IEventAggregator, EventAggregator>();

            CounterpartyViewModel vm = container.Resolve <CounterpartyViewModel>();

            Assert.AreEqual(100, vm.Counterparties.Count());
        }
Esempio n. 4
0
        public void AnEventIsPublishedWhenTheSelectedCounterpartyChanges()
        {
            var mockEventAggregator     = new Mock <IEventAggregator>();
            var mockCounterpartyService = new Mock <ICounterpartyService>();

            mockCounterpartyService.Setup(s => s.FindAll()).Returns(new List <Counterparty>());
            mockEventAggregator.Setup(s => s.GetEvent <CounterpartyChangeEvent>()).Returns(new CounterpartyChangeEvent());

            var mockCounterparty = new Mock <Counterparty>();

            mockCounterparty.Object.Id   = 1;
            mockCounterparty.Object.Code = "Test";

            CounterpartyViewModel vm = new CounterpartyViewModel(mockCounterpartyService.Object, mockEventAggregator.Object);

            vm.SelectedCounterparty = mockCounterparty.Object;

            ICommand cmd = vm.SelectionChangedCommand;

            cmd.Execute(mockCounterparty.Object);

            mockEventAggregator.Verify(e => e.GetEvent <CounterpartyChangeEvent>(), Times.Once());
        }