Example #1
0
        public DbRoleLocalization Map(CreateRoleLocalizationRequest request, Guid roleId)
        {
            if (request == null)
            {
                return(null);
            }

            return(new DbRoleLocalization
            {
                Id = Guid.NewGuid(),
                RoleId = roleId,
                Locale = request.Locale,
                Name = request.Name,
                Description = string.IsNullOrEmpty(request.Description?.Trim()) ? null : request.Description?.Trim(),
                CreatedBy = _httpContextAccessor.HttpContext.GetUserId(),
                CreatedAtUtc = DateTime.UtcNow,
                IsActive = true
            });
        }
        public async Task <OperationResultResponse <Guid?> > ExecuteAsync(CreateRoleLocalizationRequest request)
        {
            if (!await _accessValidator.IsAdminAsync())
            {
                return(_responseCreator.CreateFailureResponse <Guid?>(HttpStatusCode.Forbidden));
            }

            if (!request.RoleId.HasValue)
            {
                return(_responseCreator.CreateFailureResponse <Guid?>(
                           HttpStatusCode.BadRequest,
                           new List <string> {
                    "RoleId can't be empty."
                }));
            }

            ValidationResult validationResult = await _requestValidator.ValidateAsync(request);

            if (!validationResult.IsValid)
            {
                return(_responseCreator.CreateFailureResponse <Guid?>(
                           HttpStatusCode.BadRequest,
                           validationResult.Errors.Select(validationFailure => validationFailure.ErrorMessage).ToList()));
            }

            OperationResultResponse <Guid?> response = new();

            response.Body = await _roleLocalizationRepository.CreateAsync(_roleLocalizationMapper.Map(request));

            response.Status = response.Body != null
        ? OperationResultStatusType.FullSuccess
        : OperationResultStatusType.Failed;

            _httpContextAccessor.HttpContext.Response.StatusCode = response.Body != null
        ? (int)HttpStatusCode.Created
        : (int)HttpStatusCode.BadRequest;

            return(response);
        }
Example #3
0
 public async Task <OperationResultResponse <Guid?> > CreateAsync(
     [FromServices] ICreateRoleLocalizationCommand command,
     [FromBody] CreateRoleLocalizationRequest request)
 {
     return(await command.ExecuteAsync(request));
 }