public async Task <CommandResult> AddAsync(State state) { CommandResult commandResult; Stopwatch watch = Stopwatch.StartNew(); try { if (!await CanAddAsync(state, true)) { commandResult = CommandResult.BadRequest("Registro não pode ser salvo, existem erros."); } else { state = await StateRepository.AddAsync(state); commandResult = await CommitAsync(_commandName, state.Action); if (commandResult.Success) { commandResult.Data = state; } } } catch (Exception ex) { commandResult = CommandResult.InternalServerError($"Ocorreu um erro ao salvar."); } watch.Stop(); commandResult.ElapsedTime = watch.ElapsedMilliseconds; return(commandResult); }