Esempio n. 1
0
        protected async Task FillManager(SapPersonExcelRow contract, ExternalAccount externalAccount)
        {
            if (string.IsNullOrEmpty(contract.ManagerId))
            {
                _searchVm.Subordinate = contract;
                if (!string.IsNullOrEmpty(contract.AmRestManagerName))
                {
                    _searchVm.ManagerName = contract.AmRestManagerName;
                }

                var view = new SearchPeople()
                {
                    DataContext = _searchVm
                };
                var result = (bool)await DialogHost.Show(view, "ControlDialog");

                if (!result)
                {
                    throw new ArgumentNullException(nameof(contract.ManagerId), string.Format(Resources.PeopleUploadManagerNotSetMessage, contract.Name, contract.Surname));
                }
                externalAccount.ManagerId = _searchVm.SelectedUser.User.Id;
            }
            else
            {
                var manager = await _client.FindUserByIdentityNumber(contract.ManagerId);

                externalAccount.ManagerId = manager == null ? throw new ArgumentException(string.Format(Resources.PeopleUploadManagerNotFoundMessage, contract.Name, contract.Surname)) : manager.Id;
            }
        }
Esempio n. 2
0
        public void SapPersonExcelRow_Shoul_Be_Converted_To_ExternalAccount()
        {
            var input  = new SapPersonExcelRow();
            var result = _mapper.Map <ExternalAccount>(input);

            Assert.IsInstanceOf <ExternalAccount>(result);
        }
Esempio n. 3
0
        protected async Task <ExternalAccount> FillAccount(SapPersonExcelRow contract)
        {
            var externalAccount = _mapper.Map <ExternalAccount>(contract);

            await FillPosition(contract, externalAccount);
            await FillManager(contract, externalAccount);

            return(externalAccount);
        }
Esempio n. 4
0
        protected async Task FillPosition(SapPersonExcelRow contract, ExternalAccount externalAccount)
        {
            var positions = await _client.GetPositionsAsync();

            var existingPosition = positions
                                   .FirstOrDefault(_ => string.Equals(_.Name, contract.Position, StringComparison.OrdinalIgnoreCase));

            if (existingPosition == null)
            {
                externalAccount.PositionName = contract.Position;
            }
            else
            {
                externalAccount.PositionName = existingPosition.Name;
                externalAccount.PositionId   = existingPosition.Id;
            }
        }