public override int Insert(Usuario entity) { StringBuilder query = new StringBuilder(); query.AppendLine($@"INSERT INTO {TableName} (Login , Senha , IdPerfil , Nome , Email , Telefone , AvatarUrl , IdUsuarioCadastro , DataCadastro , Ativo , IdUsuarioAtualizacao , DataAtualizacao) VALUES(@Login , @Senha , @IdPerfil , @Nome , @Email , @Telefone , @AvatarUrl , @IdUsuarioCadastro , @DataCadastro , @Ativo , @IdUsuarioAtualizacao , @DataAtualizacao)"); if (_dbProvider.ProviderName().Equals("SqlServer")) { query.Append("SELECT SCOPE_IDENTITY()"); } else if (_dbProvider.ProviderName().Equals("MySQL")) { query.Append("; SELECT LAST_INSERT_ID();"); } var parameters = new List <IDataParameter> { _dbProvider.CriarParametro("@Login", SqlDbType.VarChar, entity.Login), _dbProvider.CriarParametro("@Senha", SqlDbType.VarChar, entity.Senha), _dbProvider.CriarParametro("@IdPerfil", SqlDbType.Int, entity.IdPerfil), _dbProvider.CriarParametro("@Nome", SqlDbType.VarChar, entity.Nome), _dbProvider.CriarParametro("@Email", SqlDbType.VarChar, entity.Email), _dbProvider.CriarParametro("@Telefone", SqlDbType.VarChar, entity.Telefone), _dbProvider.CriarParametro("@AvatarUrl", SqlDbType.VarChar, entity.AvatarUrl), _dbProvider.CriarParametro("@IdUsuarioCadastro", SqlDbType.Int, entity.IdUsuarioCadastro), _dbProvider.CriarParametro("@DataCadastro", SqlDbType.DateTime, DateTime.Now), _dbProvider.CriarParametro("@Ativo", SqlDbType.TinyInt, entity.Ativo), _dbProvider.CriarParametro("@IdUsuarioAtualizacao", SqlDbType.Int, Convert.DBNull), _dbProvider.CriarParametro("@DataAtualizacao", SqlDbType.DateTime, Convert.DBNull) }; var result = _dbProvider.Cadastrar(_context.CreateCommand(), query.ToString(), CommandType.Text, parameters.ToArray()); return(Convert.ToInt32(result)); }