30 if (
string.IsNullOrEmpty(tipoIva) ||
string.IsNullOrEmpty(tipoConfiguracion))
35 List<DB.QueryParams> parametros =
new List<DB.QueryParams>
37 new DB.QueryParams(
"@empresa", Convert.ToString(
empresa), SqlDbType.Char),
38 new DB.QueryParams(
"@tipoIva", Convert.ToString(tipoIva), SqlDbType.Char),
39 new DB.QueryParams(
"@tipoConf", Convert.ToString(tipoConfiguracion), SqlDbType.Char)
42 string query =
$@"SELECT tipo_iva FROM {DB.SQLDatabase("MODTIPO
")}
43 WHERE empresa = @empresa AND tipo_iva = @tipoIva AND tipo = @tipoConf";
45 if (listaTipoModelos !=
null && listaTipoModelos.Count() > 0)
49 foreach (
string modelo
in listaTipoModelos)
51 modelos += (
string.IsNullOrWhiteSpace(modelos) ?
" AND (modelo = " :
" OR modelo = ") + DB.SQLString(modelo);
57 DataTable tabla =
new DataTable();
59 DB.SQLExecParams(query, ref tabla, parametros);
61 if (tabla !=
null && tabla.Rows.Count > 0)
63 string tipo = tabla.Rows[0][0].ToString().Trim();
64 existe = !
string.IsNullOrWhiteSpace(tipo);
66 FUNCTIONS._DisposeDatatable(ref tabla);
80 if (
string.IsNullOrWhiteSpace(numFra))
83 DataTable tabla =
new DataTable();
87 string sql = $
"SELECT * FROM {SQLDatabase("GESTION
", "IVAREPER
")} WHERE NUMFRA = @numFra AND EMPRESA = @empresa";
89 var parametros =
new List<DB.QueryParams>
91 new DB.QueryParams(
"@numFra", numFra, SqlDbType.Char),
92 new DB.QueryParams(
"@empresa",
empresa, SqlDbType.Char),
96 bool ok = DB.SQLExecParams(sql, ref tabla, parametros);
98 if (
ok && tabla.Rows.Count > 0)
100 List<string> lstCampos =
new List<string> {
"BIMPO",
"PORCEN_IVA",
"IVA",
"RECARGO",
"BIMPODIV",
"IVADIV",
"RECDIV" };
101 var sumaDict =
new Dictionary<string, object>();
102 int registrosSumados = 0;
104 foreach (DataRow row
in tabla.Rows)
106 if (tiposIva ==
null || tiposIva.Count == 0 ||
107 (row.Table.Columns.Contains(
"TIPO_IVA") && row[
"TIPO_IVA"] !=
null && !tiposIva.Contains(row[
"TIPO_IVA"].ToString())))
109 foreach (
string campo
in lstCampos)
111 if (!row.Table.Columns.Contains(campo))
continue;
112 var valor = row[campo];
113 if (valor == DBNull.Value)
continue;
116 string claveDict = campo ==
"PORCEN_IVA" ?
"TPCIVA" : campo;
118 decimal suma = sumaDict.ContainsKey(claveDict) ? Convert.ToDecimal(sumaDict[claveDict]) : 0m;
119 suma += Convert.ToDecimal(valor);
120 sumaDict[claveDict] = suma;
126 if (registrosSumados > 0)
138 FUNCTIONS._DisposeDatatable(ref tabla);