public bool VerificarDuplicidade(TarifaEspecialEntity tarifaEspecial)
        {
            var sql = @"
                        SELECT
		                    1
                        FROM
	                        TABELA_TARIFA_ESPECIAL
                        WHERE
	                        TAB_STATUS_ID = 1
	                        AND TABELA_TARIFA_ESPECIAL_ID <> @TabelaTarifaEspecialId
	                        AND TABELA_PRECO_FORNECEDOR_ID = @TabelaPrecoFornecedorId
	                        AND MUNICIPIO_ID = @MunicipioId
		                    AND (TAB_TIPO_VEICULO_ID = @TabTipoVeiculoId OR ISNULL(@TabTipoVeiculoId, 0) = 0)
		                    AND (TAB_TIPO_ACORDO_ID = @TabTipoAcordoId OR ISNULL(@TabTipoAcordoId, 0) = 0)
		                    AND (TAB_TIPO_ACORDO_ESPECIAL_ID = @TabTipoAcordoEspecialId OR ISNULL(@TabTipoAcordoEspecialId, 0) = 0)
		                    AND (FAMILIA_PRODUTO_ID = @FamiliaProdutoId OR ISNULL(@FamiliaProdutoId, 0) = 0)"        ;

            var param = new
            {
                tarifaEspecial.TabelaTarifaEspecialId,
                tarifaEspecial.TabelaPrecoFornecedorId,
                tarifaEspecial.Municipio.MunicipioId,
                tarifaEspecial.Veiculo.TabTipoVeiculoId,
                tarifaEspecial.AcordoRodoviario.TabTipoAcordoId,
                tarifaEspecial.AcordoEspecial.TabTipoAcordoEspecialId,
                tarifaEspecial.FamiliaMercadoria.FamiliaProdutoId
            };

            using (var db = Connection)
            {
                return(db.QueryFirstOrDefault <int>(sql, param) >= 1);
            }
        }
        public void Update(TarifaEspecialEntity tarifaEspecial)
        {
            var sql = @"
                        UPDATE
	                        TABELA_TARIFA_ESPECIAL
                        SET
		                    VAL_CONFERENTE = @Conferente,
		                    VAL_SEMANAL_DIURNO = @SemanalDiurno,
		                    VAL_SEMANAL_NOTURNO = @SemanalNoturno,
		                    VAL_FIM_DE_SEMANA_DIURNO = @FdsDiurno,
		                    VAL_FIM_DE_SEMANA_NOTURNO = @FdsNoturno,
		                    MUNICIPIO_ID = @MunicipioId,
		                    TAB_TIPO_VEICULO_ID = @TabTipoVeiculoId,
		                    TAB_TIPO_ACORDO_ID = @TabTipoAcordoId,
		                    TAB_TIPO_ACORDO_ESPECIAL_ID = @TabTipoAcordoEspecialId,
		                    FAMILIA_PRODUTO_ID = @FamiliaProdutoId,
                            AJUDANTE_1 = @Ajudante1,
	                        AJUDANTE_2 = @Ajudante2,
	                        AJUDANTE_3 = @Ajudante3,
	                        AJUDANTE_4 = @Ajudante4,
	                        AJUDANTE_5 = @Ajudante5,
	                        AJUDANTE_6 = @Ajudante6,
	                        AJUDANTE_7 = @Ajudante7,
	                        AJUDANTE_8 = @Ajudante8
                        WHERE
	                        TABELA_TARIFA_ESPECIAL_ID = @TabelaTarifaEspecialId"    ;

            var param = new
            {
                tarifaEspecial.TabelaTarifaEspecialId,
                Conferente     = Utils.ConverterValor(tarifaEspecial.Conferente),
                SemanalDiurno  = Utils.ConverterValor(tarifaEspecial.SemanalDiurno),
                SemanalNoturno = Utils.ConverterValor(tarifaEspecial.SemanalNoturno),
                FdsDiurno      = Utils.ConverterValor(tarifaEspecial.FdsDiurno),
                FdsNoturno     = Utils.ConverterValor(tarifaEspecial.FdsNoturno),
                Ajudante1      = Utils.ConverterValor(tarifaEspecial.Ajudante1),
                Ajudante2      = Utils.ConverterValor(tarifaEspecial.Ajudante2),
                Ajudante3      = Utils.ConverterValor(tarifaEspecial.Ajudante3),
                Ajudante4      = Utils.ConverterValor(tarifaEspecial.Ajudante4),
                Ajudante5      = Utils.ConverterValor(tarifaEspecial.Ajudante5),
                Ajudante6      = Utils.ConverterValor(tarifaEspecial.Ajudante6),
                Ajudante7      = Utils.ConverterValor(tarifaEspecial.Ajudante7),
                Ajudante8      = Utils.ConverterValor(tarifaEspecial.Ajudante8),
                tarifaEspecial.Municipio.MunicipioId,
                tarifaEspecial.Veiculo.TabTipoVeiculoId,
                tarifaEspecial.AcordoRodoviario.TabTipoAcordoId,
                tarifaEspecial.AcordoEspecial.TabTipoAcordoEspecialId,
                tarifaEspecial.FamiliaMercadoria.FamiliaProdutoId
            };

            using (var db = Connection)
            {
                db.Execute(sql, param);
            }
        }
        public int Insert(TarifaEspecialEntity tarifaEspecial)
        {
            var sql = @"
	                    INSERT INTO TABELA_TARIFA_ESPECIAL
	                    (
		                    TABELA_PRECO_FORNECEDOR_ID,
		                    VAL_CONFERENTE,
		                    VAL_SEMANAL_DIURNO,
		                    VAL_SEMANAL_NOTURNO,
		                    VAL_FIM_DE_SEMANA_DIURNO,
		                    VAL_FIM_DE_SEMANA_NOTURNO,
		                    MUNICIPIO_ID,
		                    TAB_TIPO_VEICULO_ID,
		                    TAB_TIPO_ACORDO_ID,
		                    TAB_TIPO_ACORDO_ESPECIAL_ID,
		                    FAMILIA_PRODUTO_ID,
		                    TAB_STATUS_ID,
                            AJUDANTE_1,
	                        AJUDANTE_2,
	                        AJUDANTE_3,
	                        AJUDANTE_4,
	                        AJUDANTE_5,
	                        AJUDANTE_6,
	                        AJUDANTE_7,
	                        AJUDANTE_8
	                    )
	                    VALUES
	                    (
                            @TabelaPrecoFornecedorId,
                            @Conferente,
                            @SemanalDiurno,
                            @SemanalNoturno,
                            @FdsDiurno,
                            @FdsNoturno,
                            @MunicipioId,
                            @TabTipoVeiculoId,
                            @TabTipoAcordoId,
                            @TabTipoAcordoEspecialId,
                            @FamiliaProdutoId,
                            1,
                            @Ajudante1,
                            @Ajudante2,
                            @Ajudante3,
                            @Ajudante4,
                            @Ajudante5,
                            @Ajudante6,
                            @Ajudante7,
                            @Ajudante8
	                    )

                        SELECT SCOPE_IDENTITY()";

            var param = new
            {
                tarifaEspecial.TabelaPrecoFornecedorId,
                Conferente     = Utils.ConverterValor(tarifaEspecial.Conferente),
                SemanalDiurno  = Utils.ConverterValor(tarifaEspecial.SemanalDiurno),
                SemanalNoturno = Utils.ConverterValor(tarifaEspecial.SemanalNoturno),
                FdsDiurno      = Utils.ConverterValor(tarifaEspecial.FdsDiurno),
                FdsNoturno     = Utils.ConverterValor(tarifaEspecial.FdsNoturno),
                Ajudante1      = Utils.ConverterValor(tarifaEspecial.Ajudante1),
                Ajudante2      = Utils.ConverterValor(tarifaEspecial.Ajudante2),
                Ajudante3      = Utils.ConverterValor(tarifaEspecial.Ajudante3),
                Ajudante4      = Utils.ConverterValor(tarifaEspecial.Ajudante4),
                Ajudante5      = Utils.ConverterValor(tarifaEspecial.Ajudante5),
                Ajudante6      = Utils.ConverterValor(tarifaEspecial.Ajudante6),
                Ajudante7      = Utils.ConverterValor(tarifaEspecial.Ajudante7),
                Ajudante8      = Utils.ConverterValor(tarifaEspecial.Ajudante8),
                tarifaEspecial.Municipio.MunicipioId,
                tarifaEspecial.Veiculo.TabTipoVeiculoId,
                tarifaEspecial.AcordoRodoviario.TabTipoAcordoId,
                tarifaEspecial.AcordoEspecial.TabTipoAcordoEspecialId,
                tarifaEspecial.FamiliaMercadoria.FamiliaProdutoId
            };

            using (var db = Connection)
            {
                return(db.QueryFirstOrDefault <int>(sql, param));
            }
        }