Example #1
0
        /// <inheritdoc />
        public async Task Consume(ConsumeContext <UserUnblocked> context)
        {
            var user = await _serviceClient
                       .GetUserAsync(context.Message.Id)
                       .OrFailAsync();

            await _userRepository.UpsertAsync(user);
        }
Example #2
0
        public async Task <Response <WorkplaceResponse> > CreateAsync(Workplace workplace)
        {
            var employeeResponse = await userServiceClient.GetUserAsync(
                new GetUserRequest()
            {
                UserGuid = workplace.UserGuid
            });

            if (employeeResponse.Status == ResponseResult.Error)
            {
                return(new Response <WorkplaceResponse>(
                           employeeResponse.Error.StatusCode, employeeResponse.Error.Message));
            }

            workplace.EmployeeId = employeeResponse.Result.Employee.EmployeeId;

            var result = await workplaceRepository.CreateAsync(automapper.Map <DbWorkplace>(workplace));

            var response = new Response <WorkplaceResponse>(automapper.Map <WorkplaceResponse>(result));

            return(response);
        }
        public async Task <IActionResult> Index()
        {
            var users = await UserClient.GetUserAsync();

            var usersViewModel = users.Select(x => new UserViewModel
            {
                id          = x.id,
                Name        = x.Name,
                description = x.description
            }).ToList();

            return(View(usersViewModel));
        }
Example #4
0
        public async Task HandleAsync(AddEmployeeToUser command)
        {
            if (await _employeeRepository.ExistsAsync(command.EmployeeId))
            {
                _logger.LogError($"Attempt to create already existing Employee. ID: {command.EmployeeId}");
                throw new EmployeeAlreadyExists(command.EmployeeId);
            }

            var user = await _userServiceClient.GetUserAsync(command.IdentityId);

            if (user is null)
            {
                _logger.LogError($"Attempt to create Employee on non existent User. ID: {command.IdentityId}");
                throw new UserNotFound(command.IdentityId);
            }
            if (user.Status != 1)
            {
                _logger.LogError($"Attempt to create Employee on invalid User. ID: {command.IdentityId}");
                throw new InvalidUser(command.IdentityId);
            }

            var employee = new Employee(
                command.EmployeeId,
                "",
                _dateTimeProvider.Now,
                EmployeeState.Incomplete,
                command.IdentityId
                );
            await _employeeRepository.CreateAsync(employee);

            _logger.LogDebug($"Employee created. EmployeeID: {command.EmployeeId} UserID: {command.IdentityId}");
            await _broker.PublishAsync(
                new EmployeeAdded(
                    command.EmployeeId,
                    command.IdentityId
                    ));
        }
        public async Task HandleAsync(CreateEmployee command)
        {
            if (await _employeeRepository.ExistsAsync(command.EmployeeId))
            {
                _logger.LogError($"Attempt to create already existing Employee. ID: {command.EmployeeId}");
                throw new EmployeeAlreadyExists(command.EmployeeId);
            }


            var user = await _userServiceClient.GetUserAsync(command.IdentityId);

            if (user is null)
            {
                var employee = new Employee(
                    command.EmployeeId,
                    "",
                    _dateTimeProvider.Now,
                    EmployeeState.Incomplete,
                    command.IdentityId
                    );

                await _employeeRepository.CreateAsync(employee);

                _logger.LogError($"Employee created. EmployeeID: {command.EmployeeId} UserID: {command.IdentityId}");
                await _broker.PublishAsync(
                    new EmployeeCreated(
                        command.EmployeeId,
                        command.IdentityId,
                        command.FirstName,
                        command.LastName,
                        command.Email,
                        command.Password,
                        command.Birthday
                        ));
            }
        }