public void ImportarDatosAjustes(DataTable dataT, int idPeriodo) { if (dataT == null || idPeriodo <= 0) { return; } List <NOM_Nomina_Ajuste> listaDeAjustes = new List <NOM_Nomina_Ajuste>(); int cont = 0; int idEmpleado = 0; decimal total = 0; int idConcepto = 0; decimal gravado = 0; decimal excento = 0; decimal integraimss = 0; decimal impuestosn = 0; var idEmpArray = GetIdEmpleadosByIdPeriodo(idPeriodo); //int[] s = { 1, 2, 3, 3, 4 }; //int[] q = s.Distinct().ToArray(); foreach (DataRow row in dataT.Rows) { idEmpleado = 0; total = 0; idConcepto = 0; gravado = 0; excento = 0; integraimss = 0; impuestosn = 0; if (row[0].ToString().Trim() == "") { continue; } idEmpleado = int.Parse(row[0].ToString()); if (idEmpleado <= 0) { continue; } if (row[2].ToString().Trim() == "") { continue; } idConcepto = int.Parse(row[2].ToString()); if (idConcepto <= 0) { continue; } total = decimal.Parse(row[3].ToString()); gravado = decimal.Parse(row[4].ToString()); excento = decimal.Parse(row[5].ToString()); integraimss = decimal.Parse(row[6].ToString()); impuestosn = decimal.Parse(row[7].ToString()); //Buscamos que el idEmpleado este en el array if (!BuscarInArray(idEmpArray, idEmpleado)) { continue; } NOM_Nomina_Ajuste itemAsimilados = new NOM_Nomina_Ajuste() { IdAjuste = 0, IdPeriodo = idPeriodo, IdEmpleado = idEmpleado, IdConcepto = idConcepto, Total = total, GravadoIsr = gravado, ExentoIsr = excento, IntegraImss = integraimss, ImpuestoSobreNomina = impuestosn }; listaDeAjustes.Add(itemAsimilados); cont++; } //Borrar anterior int[] arrayIdEmpleados = listaDeAjustes.Select(x => x.IdEmpleado).ToArray(); BorrarDatoAnteriorDeAjuste(arrayIdEmpleados, idPeriodo); //Agregar el dato nuevo InsertarRegistrosDeAjuste(listaDeAjustes); }
public void ImportarDatosAjustes(DataTable dataT, int idPeriodo) { if (dataT == null || idPeriodo <= 0) { return; } List <NOM_Nomina_Ajuste> listaDeAjustes = new List <NOM_Nomina_Ajuste>(); int cont = 0; int idEmpleado = 0; decimal total = 0; int idConcepto = 0; decimal gravado = 0; decimal excento = 0; decimal integraimss = 0; decimal impuestosn = 0; var idEmpArray = GetIdEmpleadosByIdPeriodo(idPeriodo); //int[] s = { 1, 2, 3, 3, 4 }; //int[] q = s.Distinct().ToArray(); foreach (DataRow row in dataT.Rows) { idEmpleado = 0; total = 0; idConcepto = 0; gravado = 0; excento = 0; integraimss = 0; impuestosn = 0; //valida la columna id empleado if (row[0].ToString().Trim() == "") { continue; } int.TryParse(row[0].ToString(), out idEmpleado); if (idEmpleado <= 0) { continue; } //Valida columna concepto if (row[2].ToString().Trim() == "") { continue; } var concepto = row[2].ToString(); var arrayConcepto = concepto.Split('|'); int.TryParse(arrayConcepto[1], out idConcepto); if (idConcepto <= 0) { continue; } //Validar total if (row[3].ToString().Trim() == "") { continue; } total = decimal.Parse(row[3].ToString()); gravado = decimal.Parse(row[4].ToString()); excento = decimal.Parse(row[5].ToString()); decimal intimss = 0; decimal.TryParse(row[6].ToString(), out intimss); integraimss = intimss; decimal varisn = 0; decimal.TryParse(row[7].ToString(), out varisn); impuestosn = varisn; //Buscamos que el idEmpleado este en el array if (!BuscarInArray(idEmpArray, idEmpleado)) { continue; } //Validamos que el total sea igual a la suma del gravado mas exento if (total != (gravado + excento)) { continue; } NOM_Nomina_Ajuste itemAsimilados = new NOM_Nomina_Ajuste() { IdAjuste = 0, IdPeriodo = idPeriodo, IdEmpleado = idEmpleado, IdConcepto = idConcepto, Total = total, GravadoIsr = gravado, ExentoIsr = excento, IntegraImss = integraimss, ImpuestoSobreNomina = impuestosn, FechaReg = DateTime.Now }; listaDeAjustes.Add(itemAsimilados); cont++; } //Borrar anterior int[] arrayIdEmpleados = listaDeAjustes.Select(x => x.IdEmpleado).ToArray(); // BorrarDatoAnteriorDeAjuste(arrayIdEmpleados, idPeriodo); //Agregar el dato nuevo InsertarRegistrosDeAjuste(listaDeAjustes); }