Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }