public async Task <Unit> Handle(CreateParameterCommand request, CancellationToken cancellationToken) { var parameter = new Parameter { Id = 0, ScriptId = request.ScriptId, Name = request.Name, Number = request.Number, Description = request.Description, ValueType = request.ValueType, Value = request.Value, VisibilityValidator = request.VisibilityValidator, DataValidator = request.DataValidator, Unit = request.Unit, ValueOptionSetting = request.ValueOptionSetting, Context = request.Context, GroupName = request.GroupName, AccordingTo = request.AccordingTo, Notes = request.Notes, }; _scriptMappingProfile.UpdateValueOptions(request.ValueOptions, parameter); _scriptMappingProfile.RemoveNotAddedValueOptions(request.ValueOptions, parameter); _scriptMappingProfile.AddNewValueOptions(request.ValueOptions, parameter); var script = await _scriptRepository.GetAsync(request.ScriptId); if (script == null) { throw new NotFoundException(nameof(CreateParameterCommand), request.ScriptId); } script.Modified = _dateTime.Now; await _parameterRepository.AddAsync(parameter); await _unitOfWork.CompleteAsync(cancellationToken); return(MediatR.Unit.Value); }