public async Task<IActionResult> Execute(JObject jObj, string subject, string commonId, HttpRequest request) { if (jObj == null) { throw new ArgumentNullException(nameof(jObj)); } if (string.IsNullOrWhiteSpace(subject)) { throw new ArgumentNullException(nameof(subject)); } var command = _requestBuilder.GetAddService(jObj); var validationResult = await _addServiceValidator.Validate(command, subject); if (!validationResult.IsValid) { var error = _responseBuilder.GetError(ErrorCodes.Request, validationResult.Message); return _controllerHelper.BuildResponse(HttpStatusCode.BadRequest, error); } var images = new List<string>(); if (command.Images != null) { foreach (var image in command.Images) { string path; if (!AddImage(image, request, out path)) { continue; } images.Add(path); } } command.Id = Guid.NewGuid().ToString(); command.CreateDateTime = DateTime.UtcNow; command.UpdateDateTime = DateTime.UtcNow; command.CommonId = commonId; command.Images = images; _commandSender.Send(command); var obj = new { id = command.Id }; return new OkObjectResult(obj); }