public async Task <IActionResult> Create([FromBody] SettingTableCommand command) { var spec = SettingTableSpecs.GetByNameSpec(command.Name); var isInvalid = await _settingTableRepository.ExistsAsync(spec); var isValidator = await EntityValidator.ValidateAsync(command.To <SettingTable>()); if (!isValidator.IsValid) { throw new CellException(isValidator); } if (isInvalid) { throw new CellException("Setting table name must be unique"); } _settingTableRepository.Add(new SettingTable( command.Name, command.Description, command.Code, command.BasedTable, JsonConvert.SerializeObject(command.Settings))); await _settingTableRepository.CommitAsync(); return(Ok()); }