public async Task <CommandResult> AddRangeAsync(List <State> listOfStates, bool validateRepository = true) { CommandResult commandResult; Stopwatch watch = Stopwatch.StartNew(); try { int recordsToSave = Count(listOfStates); if (recordsToSave == 0) { commandResult = CommandResult.BadRequest("Nenhum registro salvo, a lista está vazia."); } else { if (!await CanAddAsync(listOfStates, validateRepository)) { commandResult = CommandResult.BadRequest("Nenhum registro salvo, existem erros."); } else { await StateRepository.AddRangeAsync(listOfStates); commandResult = await CommitAsync(_commandName, ActionType.Register); if (commandResult.Success) { commandResult.Message = $"Ação concluída com sucesso. Salvos { recordsToSave } registros de um total de { recordsToSave }"; commandResult.Data = listOfStates; } } } } catch (Exception ex) { commandResult = CommandResult.InternalServerError($"Ocorreu um erro ao salvar."); } watch.Stop(); commandResult.ElapsedTime = watch.ElapsedMilliseconds; return(commandResult); }