Exemplo n.º 1
0
        public async Task <EntityResult <RoleDto> > Handle(AddRoleRequest request, System.Threading.CancellationToken cancellationToken)
        {
            _logger.LogInformation($"AddRol - RolId[{request.Employee.Id}]", request.Employee);
            try
            {
                if (request.Invalid)
                {
                    return(new EntityResult <RoleDto>(request.Notifications, null)
                    {
                        Error = ErrorCode.BadRequest
                    });
                }
                var entity    = _mapper.Map <Role>(request.Employee);
                var resultado = await _rolRepository.InsertAsync(entity);

                var roldto = _mapper.Map <RoleDto>(resultado);
                _unitOfWork.SaveSync();
                return(new EntityResult <RoleDto>(request.Notifications, roldto));
            }
            catch (Exception ex)
            {
                _logger.LogCritical("RoleOperation-AddRolHandler", ex);
                request.AddNotification(new Notification("RoleOperation-AddRolHandler", $"Internal Server Error: {ex.Message}"));
                throw;
            }
            finally
            {
                _logger.LogInformation("Create Rol process finished");
            }
        }