Beispiel #1
0
        public string CrearExcel(int idSucursal, string ruta, int idusuario, string nombreSucursal, string nombreCliente)
        {
            var newruta = ValidarFolderUsuario(idusuario, ruta);

            List <Empleado>               listaEmpleados;
            List <Empleado_Contrato>      listaContratos           = new List <Empleado_Contrato>();
            List <C_TipoContrato_SAT>     listaTipoContrato        = new List <C_TipoContrato_SAT>();
            List <Puesto>                 listaPuestos             = new List <Puesto>();
            List <C_PeriodicidadPago_SAT> listaPeriodicidadPagoSat = new List <C_PeriodicidadPago_SAT>();
            List <Empresa>                listaEmpresas            = new List <Empresa>();
            List <DatosBancarios>         listaDatosBancarios      = new List <DatosBancarios>();
            List <C_Banco_SAT>            listaBancos = new List <C_Banco_SAT>();

            using (var contexto = new RHEntities())
            {
                listaEmpleados = contexto.Empleado.Where(x => x.IdSucursal == idSucursal).ToList();

                if (listaEmpleados != null)
                {
                    var arrayIdEmpleados = listaEmpleados.Select(x => x.IdEmpleado).ToArray();

                    listaContratos = (from c in contexto.Empleado_Contrato
                                      where arrayIdEmpleados.Contains(c.IdEmpleado) &&
                                      c.Status == true
                                      orderby c.IdContrato descending
                                      select c).ToList();

                    listaTipoContrato = contexto.C_TipoContrato_SAT.ToList();


                    var arrayIdPuesto = listaContratos.Select(x => x.IdPuesto).ToArray();

                    listaPuestos = (from p in contexto.Puesto
                                    where arrayIdPuesto.Contains(p.IdPuesto)
                                    select p).ToList();

                    listaPeriodicidadPagoSat = contexto.C_PeriodicidadPago_SAT.ToList();

                    listaEmpresas = contexto.Empresa.ToList();

                    listaDatosBancarios = (from db in contexto.DatosBancarios
                                           where arrayIdEmpleados.Contains(db.IdEmpleado)
                                           select db).ToList();


                    listaBancos = contexto.C_Banco_SAT.ToList();
                }
                else
                {
                    return("");
                }
            }


            newruta = newruta + "ReporteEmpleados " + nombreSucursal + "-" + nombreCliente + "_.xlsx";
            var wb = new XLWorkbook();
            var ws = wb.Worksheets.Add("Exportacion");

            ws.Cell("A1").Value  = "PATERNO";
            ws.Cell("B1").Value  = "MATERNO";
            ws.Cell("C1").Value  = "NOMBRES";
            ws.Cell("D1").Value  = "FECHA DE NACIMIENTO";
            ws.Cell("E1").Value  = "SEXO";
            ws.Cell("F1").Value  = "RFC";
            ws.Cell("G1").Value  = "CURP";
            ws.Cell("H1").Value  = "NSS";
            ws.Cell("I1").Value  = "UMF";
            ws.Cell("J1").Value  = "NACIONALIDAD";
            ws.Cell("K1").Value  = "ESTADO DE ORIGEN";
            ws.Cell("L1").Value  = "DIRECCION";
            ws.Cell("M1").Value  = "TELEFONO";
            ws.Cell("N1").Value  = "CELULAR";
            ws.Cell("O1").Value  = "EMAIL";
            ws.Cell("P1").Value  = "EDO CIVIL";
            ws.Cell("Q1").Value  = "FECHA ALTA";
            ws.Cell("R1").Value  = "FECHA REAL";
            ws.Cell("S1").Value  = "FECHA IMSS";
            ws.Cell("T1").Value  = "FECHA BAJA";
            ws.Cell("U1").Value  = "TIPO CONTRATO";
            ws.Cell("V1").Value  = "DIAS CONTRATO";
            ws.Cell("W1").Value  = "VIGENCIA";
            ws.Cell("X1").Value  = "PUESTO";
            ws.Cell("Y1").Value  = "TURNO";
            ws.Cell("Z1").Value  = "DESCANSO";
            ws.Cell("AA1").Value = "PERIOCIDAD DE PAGO";
            ws.Cell("AB1").Value = "METODO DE PAGO";
            ws.Cell("AC1").Value = "SD";
            ws.Cell("AD1").Value = "SDI";
            ws.Cell("AE1").Value = "SBC";
            ws.Cell("AF1").Value = "SALARIO REAL";
            ws.Cell("AG1").Value = "EMPRESA FISCAL";
            ws.Cell("AH1").Value = "EMPRESA COMPLEMENTO";
            ws.Cell("AI1").Value = "EMPRESA SINDICATO";
            ws.Cell("AJ1").Value = "ASIMILADO";
            ws.Cell("AK1").Value = "NO SIGA FISCAL";
            ws.Cell("AL1").Value = "NO SIGA COMPLEMENTO";
            ws.Cell("AM1").Value = "CUENTA BANCARIA";
            ws.Cell("AN1").Value = "# TARJETA";
            ws.Cell("AO1").Value = "CLABE";
            ws.Cell("AP1").Value = "BANCO";
            ws.Cell("AQ1").Value = "TIPO DE JORNADA";
            ws.Cell("AR1").Value = "TIPO DE SALARIO";
            ws.Cell("AS1").Value = "EDO SERVICIO";
            ws.Cell("AT1").Value = "SINDICALIZADO";
            int i = 2;

            foreach (var emp in listaEmpleados)
            {
                var puesto       = "";
                var tipocontrato = "";
                var periocidad   = "";
                var empresaF     = "";
                var empresaC     = "";
                var empresaA     = "";
                var empresaS     = "";
                var banco        = "--";

                var contrato = listaContratos.FirstOrDefault(x => x.IdEmpleado == emp.IdEmpleado);

                if (contrato != null)

                {
                    tipocontrato = listaTipoContrato.Where(x => x.IdTipoContrato == contrato.TipoContrato)
                                   .Select(x => x.Descripcion)
                                   .FirstOrDefault();

                    puesto = listaPuestos.Where(x => x.IdPuesto == contrato.IdPuesto).Select(x => x.Descripcion).FirstOrDefault();

                    periocidad = listaPeriodicidadPagoSat.Where(x => x.IdPeriodicidadPago == contrato.IdPeriodicidadPago)
                                 .Select(x => x.Descripcion)
                                 .FirstOrDefault();
                    empresaF = listaEmpresas.Where(x => x.IdEmpresa == contrato.IdEmpresaFiscal)
                               .Select(x => x.RazonSocial)
                               .FirstOrDefault();
                    empresaC = listaEmpresas.Where(x => x.IdEmpresa == contrato.IdEmpresaComplemento)
                               .Select(x => x.RazonSocial)
                               .FirstOrDefault();
                    empresaA = listaEmpresas.Where(x => x.IdEmpresa == contrato.IdEmpresaAsimilado)
                               .Select(x => x.RazonSocial)
                               .FirstOrDefault();
                    empresaS = listaEmpresas.Where(x => x.IdEmpresa == contrato.IdEmpresaSindicato)
                               .Select(x => x.RazonSocial)
                               .FirstOrDefault();
                }

                var datosBanco = listaDatosBancarios.FirstOrDefault(x => x.IdEmpleado == emp.IdEmpleado);

                //var contrato = ctx.Empleado_Contrato.Where(x => x.IdEmpleado == emp.IdEmpleado).FirstOrDefault();
                //var tipocontrato = ctx.C_TipoContrato_SAT.Where(x => x.IdTipoContrato == contrato.TipoContrato).Select(x => x.Descripcion).FirstOrDefault();
                //var puesto = ctx.Puesto.Where(x => x.IdPuesto == contrato.IdPuesto).Select(x => x.Descripcion).FirstOrDefault();
                //var periocidad = ctx.C_PeriodicidadPago_SAT.Where(x => x.IdPeriodicidadPago == contrato.IdPeriodicidadPago).Select(x => x.Descripcion).FirstOrDefault();
                //var empresaF = ctx.Empresa.Where(x => x.IdEmpresa == contrato.IdEmpresaFiscal).Select(x => x.RazonSocial).FirstOrDefault();
                //var empresaC = ctx.Empresa.Where(x => x.IdEmpresa == contrato.IdEmpresaComplemento).Select(x => x.RazonSocial).FirstOrDefault();
                //var empresaA = ctx.Empresa.Where(x => x.IdEmpresa == contrato.IdEmpresaAsimilado).Select(x => x.RazonSocial).FirstOrDefault();
                //var empresaS = ctx.Empresa.Where(x => x.IdEmpresa == contrato.IdEmpresaSindicato).Select(x => x.RazonSocial).FirstOrDefault();
                //var datosBanco = ctx.DatosBancarios.Where(x => x.IdEmpleado == emp.IdEmpleado).FirstOrDefault();

                if (datosBanco != null)
                {
                    banco = listaBancos.Where(x => x.IdBanco == datosBanco.IdBanco).Select(x => x.Descripcion).FirstOrDefault();
                }


                ws.Cell("A" + i).Value = emp.APaterno;
                ws.Cell("B" + i).Value = emp.AMaterno;
                ws.Cell("C" + i).Value = emp.Nombres;
                ws.Cell("D" + i).Value = emp.FechaNacimiento;
                ws.Cell("E" + i).Value = emp.Sexo == "H" ? "Hombre" : "Mujer";
                ws.Cell("F" + i).Value = emp.RFC;
                ws.Cell("G" + i).Value = emp.CURP;
                ws.Cell("H" + i).Value = emp.NSS;
                ws.Cell("I" + i).Value = contrato != null ? contrato.UMF : "";
                ws.Cell("J" + i).Value = emp.Nacionalidad;
                ws.Cell("K" + i).Value = emp.Estado;
                ws.Cell("L" + i).Value = emp.Direccion;
                ws.Cell("M" + i).Value = emp.Telefono;
                ws.Cell("N" + i).Value = emp.Celular;
                ws.Cell("O" + i).Value = emp.Email;
                ws.Cell("P" + i).Value = emp.EstadoCivil;
                ws.Cell("Q" + i).Value = contrato?.FechaAlta.ToString("d") ?? "";
                ws.Cell("R" + i).Value = contrato?.FechaReal.ToString("d") ?? "";

                if (contrato != null)
                {
                    ws.Cell("S" + i).Value = contrato.FechaIMSS?.ToString("d") ?? "";
                    ws.Cell("T" + i).Value = contrato.FechaBaja?.ToString("d") ?? "";
                }
                else
                {
                    ws.Cell("S" + i).Value = "";
                    ws.Cell("T" + i).Value = "";
                }


                ws.Cell("U" + i).Value = tipocontrato;
                ws.Cell("V" + i).Value = contrato?.DiasContrato ?? 0;

                if (contrato != null)
                {
                    ws.Cell("W" + i).Value = contrato.Vigencia?.ToString("d") ?? "";
                }
                else
                {
                    ws.Cell("W" + i).Value = "";
                }
                ws.Cell("X" + i).Value = puesto;
                ws.Cell("Y" + i).Value = contrato != null?UtilsEmpleados.SeleccionarTurno(contrato.Turno) : "-";

                ws.Cell("Z" + i).Value = contrato != null?UtilsEmpleados.selectDay(contrato.DiaDescanso) : "-";

                ws.Cell("AA" + i).Value = periocidad;
                ws.Cell("AB" + i).Value = contrato != null?UtilsEmpleados.SeleccionarFormaPagoById(contrato.FormaPago) : "-";

                ws.Cell("AC" + i).Value = contrato?.SD ?? 0;
                ws.Cell("AD" + i).Value = contrato?.SDI ?? 0;
                ws.Cell("AE" + i).Value = contrato?.SBC ?? 0;
                ws.Cell("AF" + i).Value = contrato?.SalarioReal ?? 0;
                ws.Cell("AG" + i).Value = empresaF;
                ws.Cell("AH" + i).Value = empresaC;
                ws.Cell("AI" + i).Value = empresaS;
                ws.Cell("AJ" + i).Value = empresaA;
                ws.Cell("AK" + i).Value = datosBanco == null ? 0 : datosBanco.NoSigaF;
                ws.Cell("AL" + i).Value = datosBanco == null ? 0 : datosBanco.NoSigaC;

                if (datosBanco != null)
                {
                    ws.Cell("AM" + i).Value = !string.IsNullOrEmpty(datosBanco.CuentaBancaria) ? datosBanco.CuentaBancaria : "0";
                    ws.Cell("AN" + i).Value = !string.IsNullOrEmpty(datosBanco.NumeroTarjeta) ? datosBanco.NumeroTarjeta : "0";
                    ws.Cell("AO" + i).Value = datosBanco == null ? "" : datosBanco.Clabe;
                }
                else
                {
                    ws.Cell("AM" + i).Value = 0;
                    ws.Cell("AN" + i).Value = 0;
                    ws.Cell("AO" + i).Value = "";
                }

                ws.Cell("AP" + i).Value = banco;
                ws.Cell("AQ" + i).Value = contrato != null?UtilsEmpleados.SeleccionarTipoSemanaById(contrato.IdTipoJornada) : "-";

                ws.Cell("AR" + i).Value = contrato != null?UtilsEmpleados.TipoSalario(contrato.TipoSalario) : "-";

                ws.Cell("AS" + i).Value = contrato?.EntidadDeServicio ?? "";

                if (contrato != null)
                {
                    ws.Cell("AT" + i).Value = contrato.Sindicalizado == false ? "NO" : "Si";
                }
                else
                {
                    ws.Cell("AT" + i).Value = "-";
                }

                i++;
            }

            ws.Columns("2,1").AdjustToContents();
            ws.Columns("2,2").AdjustToContents();
            ws.Columns("2,3").AdjustToContents();
            ws.Columns("2,4").AdjustToContents();
            ws.Columns("2,5").AdjustToContents();
            ws.Columns("2,6").AdjustToContents();
            ws.Columns("2,7").AdjustToContents();
            ws.Columns("2,8").AdjustToContents();
            ws.Columns("2,9").AdjustToContents();
            ws.Columns("2,10").AdjustToContents();
            ws.Columns("2,11").AdjustToContents();
            ws.Columns("2,12").AdjustToContents();
            ws.Columns("2,13").AdjustToContents();
            ws.Columns("2,14").AdjustToContents();
            ws.Columns("2,15").AdjustToContents();
            ws.Columns("2,16").AdjustToContents();
            ws.Columns("2,17").AdjustToContents();
            ws.Columns("2,18").AdjustToContents();
            ws.Columns("2,19").AdjustToContents();
            ws.Columns("2,20").AdjustToContents();
            ws.Columns("2,21").AdjustToContents();
            ws.Columns("2,22").AdjustToContents();
            ws.Columns("2,23").AdjustToContents();
            ws.Columns("2,24").AdjustToContents();
            ws.Columns("2,25").AdjustToContents();
            ws.Columns("2,26").AdjustToContents();
            ws.Columns("2,27").AdjustToContents();
            ws.Columns("2,28").AdjustToContents();
            ws.Columns("2,29").AdjustToContents();
            ws.Columns("2,30").AdjustToContents();
            ws.Columns("2,31").AdjustToContents();
            ws.Columns("2,32").AdjustToContents();
            ws.Columns("2,33").AdjustToContents();
            ws.Columns("2,34").AdjustToContents();
            ws.Columns("2,35").AdjustToContents();
            ws.Columns("2,36").AdjustToContents();
            ws.Columns("2,37").AdjustToContents();
            ws.Columns("2,38").AdjustToContents();
            ws.Columns("2,39").AdjustToContents();
            ws.Columns("2,40").AdjustToContents();
            ws.Columns("2,41").AdjustToContents();
            ws.Columns("2,42").AdjustToContents();
            ws.Columns("2,43").AdjustToContents();
            ws.Columns("2,44").AdjustToContents();
            ws.Columns("2,45").AdjustToContents();
            ws.Columns("2,46").AdjustToContents();
            ws.Columns("2,47").AdjustToContents();
            ws.Columns("2,48").AdjustToContents();

            ws.Cell("A1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("C1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("D1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("B1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("E1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("F1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("G1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("H1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("I1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("J1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("K1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("L1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("M1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("N1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("O1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("P1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("Q1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("R1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("S1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("T1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("U1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("V1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("W1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("X1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("Y1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("Z1").Style.Fill.BackgroundColor  = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AA1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AB1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AC1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AD1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AE1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AF1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AG1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AH1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AI1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AJ1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AK1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AL1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AM1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AN1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AO1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AP1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AQ1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AR1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AS1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            ws.Cell("AT1").Style.Fill.BackgroundColor = XLColor.FromTheme(XLThemeColor.Accent1, 0.5);
            wb.SaveAs(newruta);
            return(newruta);
        }
        public void UploadRecords(DataTable data, int idSucursal, int idCliente, int idUsuario)
        {
            int       columnas = data.Columns.Count;
            Empleados ctx      = new Empleados();

            DataView dv = data.DefaultView;

            dv.Sort = "Paterno asc";//desc
            DataTable sortedDT = dv.ToTable();

            foreach (DataRow row in sortedDT.Rows)
            {
                if (validateRow(row))
                {
                    //Datos Personales
                    Empleado empleado = new Empleado();
                    empleado.Nombres         = row["Nombres"].ToString();
                    empleado.APaterno        = row["Paterno"].ToString();
                    empleado.AMaterno        = row["Materno"].ToString();
                    empleado.FechaNacimiento = Convert.ToDateTime(row["Fecha de Nacimiento"].ToString());
                    empleado.Sexo            = row["Sexo"].ToString().Equals("Hombre") ? "H" : "M";
                    empleado.RFC             = row["RFC"].ToString().Trim();
                    empleado.CURP            = row["CURP"].ToString().Trim();
                    empleado.NSS             = row["NSS"].ToString();
                    empleado.Nacionalidad    = row["Nacionalidad"].ToString();
                    empleado.Estado          = row["Estado de Origen"].ToString();
                    empleado.Telefono        = row["Teléfono"].ToString();
                    empleado.Celular         = row["Celular"].ToString();
                    empleado.Email           = row["Email"].ToString();
                    //Se guarda la dirección del empleado
                    empleado.Direccion = row["Dirección"].ToString();
                    //si la direccion es null se coloca en la celda de dirección "No proporcionada"
                    if (row["Dirección"] == DBNull.Value)
                    {
                        empleado.Direccion = "Dirección no proporcionada";
                    }
                    else
                    {
                        empleado.Direccion = row["Dirección"].ToString();
                    }
                    empleado.IdSucursal     = idSucursal;
                    empleado.EstadoCivil    = row["Edo Civil"].ToString();
                    empleado.Status         = true;
                    empleado.RFCValidadoSAT = 2;

                    var idEmpleado = ctx.CrearEmpleado(empleado, idUsuario);

                    if (idEmpleado > 0)
                    {
                        //Datos de Contratación
                        Empleado_Contrato contrato = new Empleado_Contrato();
                        contrato.IdEmpleado = idEmpleado;
                        contrato.FechaAlta  = Convert.ToDateTime(row["Fecha Alta"].ToString());
                        contrato.FechaReal  = Convert.ToDateTime(row["Fecha Real"].ToString());
                        if (row["Fecha IMSS"] != DBNull.Value)
                        {
                            contrato.FechaIMSS = Convert.ToDateTime(row["Fecha IMSS"].ToString());
                        }
                        if (row["UMF"] != DBNull.Value)
                        {
                            contrato.UMF = row["UMF"].ToString();
                        }
                        contrato.TipoContrato = row["Tipo Contrato"].ToString().Equals("Temporal") ? 2 : 1;
                        if (contrato.TipoContrato == 2)
                        {
                            contrato.Vigencia     = Convert.ToDateTime(row["Vigencia"].ToString());
                            contrato.DiasContrato = Convert.ToInt32(row["Días Contrato"]);
                        }
                        Puestos ctxPuestos = new Puestos();
                        contrato.IdPuesto           = ctxPuestos.ObtenerPuestoPorDescripcion(row["Puesto"].ToString());
                        contrato.Turno              = UtilsEmpleados.SeleccionarTurno(row["Turno"].ToString());
                        contrato.DiaDescanso        = UtilsEmpleados.selectDay(row["Descanso"].ToString());
                        contrato.IdPeriodicidadPago = UtilsEmpleados.SeleccionarPeriodicidadDePago(row["Periodicidad de pago"].ToString());
                        contrato.FormaPago          = UtilsEmpleados.SeleccionarFormaPago(row["Método Pago"].ToString());
                        contrato.PagoElectronico    = (contrato.FormaPago == 3 || contrato.FormaPago == 4 || contrato.FormaPago == 5 || contrato.FormaPago == 6 || contrato.FormaPago == 7) ? true : false;
                        contrato.SD                = Convert.ToDecimal(row["SD"].ToString());
                        contrato.SDI               = Convert.ToDecimal(row["SDI"].ToString());
                        contrato.SBC               = Convert.ToDecimal(row["SBC"].ToString());
                        contrato.SalarioReal       = Convert.ToDecimal(row["Salario Real"].ToString());
                        contrato.IdTipoJornada     = UtilsEmpleados.SeleccionarTipoNomina(row["Tipo de Jornada"].ToString());
                        contrato.TipoSalario       = UtilsEmpleados.SeleccionarTipoSalario(row["Tipo Salario"].ToString());
                        contrato.EntidadDeServicio = (row["Entidad de Servicio"].ToString());
                        contrato.Sindicalizado     = (row["Sindicalizado"].ToString().ToUpper().Equals("SI")) ? true : false;
                        contrato.Status            = true;
                        contrato.IdSucursal        = idSucursal;



                        Empresas ctxRP              = new Empresas();
                        int      idEmpresaFiscal    = 0;
                        int      idEmpresaAsimilado = 0;

                        if (row["Empresa Fiscal"] != DBNull.Value)
                        {
                            idEmpresaFiscal = ctxRP.GetIdByRazonSocial(row["Empresa Fiscal"].ToString(), idCliente);

                            contrato.IdEmpresaFiscal = idEmpresaFiscal;
                        }

                        if (row["Empresa Complemento"] != DBNull.Value)
                        {
                            contrato.IdEmpresaComplemento = ctxRP.GetIdByRazonSocial(row["Empresa Complemento"].ToString(), idCliente);
                        }

                        if (row["Empresa Sindicato"] != DBNull.Value)
                        {
                            contrato.IdEmpresaSindicato = ctxRP.GetIdByRazonSocial(row["Empresa Sindicato"].ToString(), idCliente);
                        }

                        if (row["Empresa Asimilado"] != DBNull.Value)
                        {
                            idEmpresaAsimilado          = ctxRP.GetIdByRazonSocial(row["Empresa Asimilado"].ToString(), idCliente);
                            contrato.IdEmpresaAsimilado = idEmpresaAsimilado;
                        }

                        //Tipo Regimen
                        contrato.IdTipoRegimen = idEmpresaAsimilado > 0 ? 8 : 1;//Asimilado Honorarios sino Sueldo

                        //Tipo Jornada
                        contrato.IdTipoJornada = 3;

                        //Crea el contrato en la base de datos
                        //factorfx
                        ctx.CrearContrato(contrato, idUsuario);

                        DatosBancarios bancarios = new DatosBancarios();
                        bancarios.IdEmpleado = idEmpleado;
                        Bancos bllBancos = new Bancos();

                        if (row["Banco"].ToString().Trim() != "")
                        {
                            bancarios.IdBanco = bllBancos.ObtenerIdBancoPorDescripcion(row["Banco"].ToString());
                        }

                        int numDatosBancarios = 0;
                        if (row["No Siga Fiscal"] != DBNull.Value)
                        {
                            if (row["No Siga Fiscal"].ToString().Trim() != "")
                            {
                                bancarios.NoSigaF = Convert.ToInt32(row["No Siga Fiscal"]);
                                numDatosBancarios++;
                            }
                        }
                        if (row["No Siga Complemento"] != DBNull.Value)
                        {
                            if (row["No Siga Complemento"].ToString().Trim() != "")
                            {
                                bancarios.NoSigaC = Convert.ToInt32(row["No Siga Complemento"]);
                                numDatosBancarios++;
                            }
                        }


                        if (row["Cuenta Bancaria"] != DBNull.Value)
                        {
                            bancarios.CuentaBancaria = row["Cuenta Bancaria"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["# Tarjeta"] != DBNull.Value)
                        {
                            bancarios.NumeroTarjeta = row["# Tarjeta"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["Clabe"] != DBNull.Value)
                        {
                            bancarios.Clabe = row["Clabe"].ToString();
                            numDatosBancarios++;
                        }


                        #region BENEFICIARIOS

                        if (row["Nombre Beneficiario"] != DBNull.Value)
                        {
                            bancarios.NombreBeneficiario = row["Nombre Beneficiario"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["RFC Beneficiario"] != DBNull.Value)
                        {
                            bancarios.RFCBeneficiario = row["RFC Beneficiario"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["CURP Beneficiario"] != DBNull.Value)
                        {
                            bancarios.CURPBeneficiario = row["CURP Beneficiario"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["Parentezco Beneficiario"] != DBNull.Value)
                        {
                            bancarios.ParentezcoBeneficiario = row["Parentezco Beneficiario"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["Domicilio Beneficiario"] != DBNull.Value)
                        {
                            bancarios.DomicilioBeneficiario = row["Domicilio Beneficiario"].ToString();
                            numDatosBancarios++;
                        }
                        #endregion



                        bancarios.Status = true;

                        if (numDatosBancarios > 0)
                        {
                            ctx.NewDatosBancarios(bancarios, idUsuario, false);
                        }

                        var noti = new Notificaciones();
                        noti.Alta(idEmpleado);

                        //Asignar conceptos Default
                        ConceptosNomina.AsignarConceptosDefaultByEmpleado(idSucursal, idEmpleado);
                    }
                }
            }
        }
Beispiel #3
0
        //public bool UploadRecords(DataTable data, int idSucursal, int idCliente, int idUsuario)
        //{
        //    Empleados ctx = new Empleados();

        //    foreach (DataRow row in data.Rows)
        //    {
        //        //Datos Personales
        //        Empleado empleado = new Empleado();
        //        empleado.Nombres = row["Nombres"].ToString();
        //        empleado.APaterno = row["Paterno"].ToString();
        //        empleado.AMaterno = row["Materno"].ToString();
        //        empleado.FechaNacimiento = Convert.ToDateTime(row["Fecha de Nacimiento"].ToString());
        //        empleado.Sexo = row["Sexo"].ToString().Equals("Hombre") ? "H" : "M";
        //        empleado.RFC = row["RFC"].ToString().Trim();
        //        empleado.CURP = row["CURP"].ToString().Trim();
        //        empleado.NSS = row["NSS"].ToString();
        //        empleado.Nacionalidad = row["Nacionalidad"].ToString();
        //        empleado.Estado = row["Estado de Origen"].ToString();
        //        empleado.Telefono = row["Teléfono"].ToString();
        //        empleado.Celular = row["Celular"].ToString();
        //        empleado.Email = row["Email"].ToString();
        //        empleado.Direccion = (row["Dirección"] == DBNull.Value) ? "Dirección no proporcionada" : row["Dirección"].ToString();
        //        empleado.IdSucursal = idSucursal;
        //        empleado.EstadoCivil = row["Edo Civil"].ToString();
        //        empleado.Status = true;
        //        empleado.RFCValidadoSAT = 2;

        //        var idEmpleado = ctx.CrearEmpleado(empleado, idUsuario);

        //        if (idEmpleado > 0)
        //        {
        //            //Datos de Contratación
        //            Empleado_Contrato contrato = new Empleado_Contrato();
        //            contrato.IdEmpleado = idEmpleado;
        //            contrato.FechaAlta = Convert.ToDateTime(row["Fecha Alta"].ToString());
        //            contrato.FechaReal = Convert.ToDateTime(row["Fecha Real"].ToString());
        //            if (row["Fecha IMSS"] != DBNull.Value)
        //                contrato.FechaIMSS = Convert.ToDateTime(row["Fecha IMSS"].ToString());
        //            if (row["UMF"] != DBNull.Value)
        //                contrato.UMF = row["UMF"].ToString();
        //            contrato.TipoContrato = row["Tipo Contrato"].ToString().Equals("Temporal") ? 2 : 1;
        //            if (contrato.TipoContrato == 2)
        //            {
        //                contrato.Vigencia = Convert.ToDateTime(row["Vigencia"].ToString());
        //                contrato.DiasContrato = Convert.ToInt32(row["Días Contrato"]);
        //            }
        //            Puestos ctxPuestos = new Puestos();
        //            contrato.IdPuesto = ctxPuestos.ObtenerPuestoPorDescripcion(row["Puesto"].ToString());
        //            contrato.Turno = UtilsEmpleados.SeleccionarTurno(row["Turno"].ToString());
        //            contrato.DiaDescanso = UtilsEmpleados.selectDay(row["Descanso"].ToString());
        //            contrato.IdPeriodicidadPago = UtilsEmpleados.SeleccionarPeriodicidadDePago(row["Periodicidad de pago"].ToString());
        //            contrato.FormaPago = UtilsEmpleados.SeleccionarFormaPago(row["Método Pago"].ToString());
        //            contrato.PagoElectronico = (contrato.FormaPago == 3 || contrato.FormaPago == 4 || contrato.FormaPago == 5 || contrato.FormaPago == 6 || contrato.FormaPago == 7) ? true : false;
        //            contrato.SD = Convert.ToDecimal(row["SD"].ToString());
        //            contrato.SDI = Convert.ToDecimal(row["SDI"].ToString());
        //            contrato.SBC = Convert.ToDecimal(row["SBC"].ToString());
        //            contrato.SalarioReal = Convert.ToDecimal(row["Salario Real"].ToString());
        //            contrato.IdTipoJornada = UtilsEmpleados.SeleccionarTipoNomina(row["Tipo de Jornada"].ToString());
        //            contrato.TipoSalario = UtilsEmpleados.SeleccionarTipoSalario(row["Tipo Salario"].ToString());
        //            contrato.EntidadDeServicio = (row["Entidad de Servicio"].ToString());
        //            contrato.Sindicalizado = (row["Sindicalizado"].ToString().ToUpper().Equals("SI")) ? true : false;
        //            contrato.Status = true;
        //            contrato.IdSucursal = idSucursal;



        //            Empresas ctxRP = new Empresas();
        //            int idEmpresaFiscal = 0;
        //            int idEmpresaAsimilado = 0;

        //            if (row["Empresa Fiscal"] != DBNull.Value)
        //            {
        //                idEmpresaFiscal = ctxRP.GetIdByRazonSocial(row["Empresa Fiscal"].ToString(), idCliente);

        //                contrato.IdEmpresaFiscal = idEmpresaFiscal;
        //            }

        //            if (row["Empresa Complemento"] != DBNull.Value)
        //                contrato.IdEmpresaComplemento = ctxRP.GetIdByRazonSocial(row["Empresa Complemento"].ToString(), idCliente);

        //            if (row["Empresa Sindicato"] != DBNull.Value)
        //                contrato.IdEmpresaSindicato = ctxRP.GetIdByRazonSocial(row["Empresa Sindicato"].ToString(), idCliente);

        //            if (row["Empresa Asimilado"] != DBNull.Value)
        //            {
        //                idEmpresaAsimilado = ctxRP.GetIdByRazonSocial(row["Empresa Asimilado"].ToString(), idCliente);
        //                contrato.IdEmpresaAsimilado = idEmpresaAsimilado;
        //            }

        //            //Tipo Regimen
        //            contrato.IdTipoRegimen = idEmpresaAsimilado > 0 ? 8 : 1;//Asimilado Honorarios sino Sueldo

        //            //Tipo Jornada
        //            contrato.IdTipoJornada = 3;

        //            //Crea el contrato en la base de datos
        //            ctx.CrearContrato(contrato);

        //            DatosBancarios bancarios = new DatosBancarios();
        //            bancarios.IdEmpleado = idEmpleado;
        //            Bancos bllBancos = new Bancos();

        //            if (row["Banco"].ToString().Trim() != "")
        //            {
        //                bancarios.IdBanco = bllBancos.ObtenerIdBancoPorDescripcion(row["Banco"].ToString());
        //            }

        //            int numDatosBancarios = 0;
        //            if (row["No Siga Fiscal"] != DBNull.Value)
        //            {
        //                if (row["No Siga Fiscal"].ToString().Trim() != "")
        //                {
        //                    bancarios.NoSigaF = Convert.ToInt32(row["No Siga Fiscal"]);
        //                    numDatosBancarios++;
        //                }
        //            }
        //            if (row["No Siga Complemento"] != DBNull.Value)
        //            {
        //                if (row["No Siga Complemento"].ToString().Trim() != "")
        //                {
        //                    bancarios.NoSigaC = Convert.ToInt32(row["No Siga Complemento"]);
        //                    numDatosBancarios++;
        //                }
        //            }


        //            if (row["Cuenta Bancaria"] != DBNull.Value)
        //            {
        //                bancarios.CuentaBancaria = row["Cuenta Bancaria"].ToString();
        //                numDatosBancarios++;
        //            }

        //            if (row["# Tarjeta"] != DBNull.Value)
        //            {
        //                bancarios.NumeroTarjeta = row["# Tarjeta"].ToString();
        //                numDatosBancarios++;
        //            }

        //            if (row["Clabe"] != DBNull.Value)
        //            {
        //                bancarios.Clabe = row["Clabe"].ToString();
        //                numDatosBancarios++;
        //            }


        //            #region BENEFICIARIOS

        //            if (row["Nombre Beneficiario"] != DBNull.Value)
        //            {
        //                bancarios.NombreBeneficiario = row["Nombre Beneficiario"].ToString();
        //                numDatosBancarios++;
        //            }

        //            if (row["RFC Beneficiario"] != DBNull.Value)
        //            {
        //                bancarios.RFCBeneficiario = row["RFC Beneficiario"].ToString();
        //                numDatosBancarios++;
        //            }

        //            if (row["CURP Beneficiario"] != DBNull.Value)
        //            {
        //                bancarios.CURPBeneficiario = row["CURP Beneficiario"].ToString();
        //                numDatosBancarios++;
        //            }

        //            if (row["Parentezco Beneficiario"] != DBNull.Value)
        //            {
        //                bancarios.ParentezcoBeneficiario = row["Parentezco Beneficiario"].ToString();
        //                numDatosBancarios++;
        //            }

        //            if (row["Domicilio Beneficiario"] != DBNull.Value)
        //            {
        //                bancarios.DomicilioBeneficiario = row["Domicilio Beneficiario"].ToString();
        //                numDatosBancarios++;
        //            }
        //            #endregion



        //            bancarios.Status = true;

        //            if (numDatosBancarios > 0)
        //                ctx.NewDatosBancarios(bancarios, false);

        //            var noti = new Notificaciones();
        //            noti.Alta(idEmpleado);

        //            //Asignar conceptos Default
        //            ConceptosNomina.AsignarConceptosDefaultByEmpleado(idSucursal, idEmpleado);
        //        }
        //        else
        //        {
        //            return false;
        //        }
        //    }
        //    return true;
        //}

        public bool UploadRecords(DataTable data, int idSucursal, int idCliente, int idUsuario)
        {
            try {
                List <Empleado>          listaEmpleados = new List <Empleado>();
                List <Empleado_Contrato> listaContratos = new List <Empleado_Contrato>();
                List <DatosBancarios>    listaBancarios = new List <DatosBancarios>();
                List <Puesto>            puestos        = new List <Puesto>();
                List <Empresa>           empresas       = new List <Empresa>();
                List <C_Banco_SAT>       bancos         = new List <C_Banco_SAT>();

                using (var context = new RHEntities())
                {
                    puestos  = context.Puesto.ToList();
                    empresas = context.Empresa.ToList();
                    bancos   = context.C_Banco_SAT.ToList();
                }

                Empleados ctx = new Empleados();

                #region Regitro de datos personal de empleados
                foreach (DataRow row in data.Rows)
                {
                    //Datos Empleado
                    Empleado empleado = new Empleado();
                    empleado.Nombres         = row["Nombres"].ToString();
                    empleado.APaterno        = row["Paterno"].ToString();
                    empleado.AMaterno        = row["Materno"].ToString();
                    empleado.FechaNacimiento = Convert.ToDateTime(row["Fecha de Nacimiento"].ToString());
                    empleado.Sexo            = row["Sexo"].ToString().Equals("Hombre") ? "H" : "M";
                    empleado.RFC             = row["RFC"].ToString().Trim();
                    empleado.CURP            = row["CURP"].ToString().Trim();
                    empleado.NSS             = row["NSS"].ToString();
                    empleado.Nacionalidad    = row["Nacionalidad"].ToString();
                    empleado.Estado          = row["Estado de Origen"].ToString();
                    empleado.Telefono        = row["Teléfono"].ToString();
                    empleado.Celular         = row["Celular"].ToString();
                    empleado.Email           = row["Email"].ToString();
                    empleado.Direccion       = (row["Dirección"] == DBNull.Value) ? "Dirección no proporcionada" : row["Dirección"].ToString();
                    empleado.IdSucursal      = idSucursal;
                    empleado.EstadoCivil     = row["Edo Civil"].ToString();
                    empleado.Status          = true;
                    empleado.RFCValidadoSAT  = 2;
                    empleado.FechaReg        = DateTime.Now;
                    empleado.IdUsuarioReg    = idUsuario;

                    listaEmpleados.Add(empleado);
                }
                // se registran todos los datos personales del empleado a ecxepcion de los de contrato y bancarios
                ctx.CrearEmpleados(listaEmpleados);
                #endregion

                #region REGISTRO DE CONTRATOS - DATOS BANCARIOS
                foreach (DataRow row in data.Rows)
                {
                    #region DATOS CONTRATO
                    var rfcComparacion = row["RFC"].ToString().Trim();
                    var idEmpleado     = listaEmpleados.Where(x => x.RFC == rfcComparacion).Select(x => x.IdEmpleado).FirstOrDefault();

                    if (idEmpleado == 0)
                    {
                        continue;
                    }

                    //Datos de Contratación
                    Empleado_Contrato contrato = new Empleado_Contrato();

                    contrato.IdEmpleado = idEmpleado;
                    contrato.FechaAlta  = Convert.ToDateTime(row["Fecha Alta"].ToString());
                    contrato.FechaReal  = Convert.ToDateTime(row["Fecha Real"].ToString());
                    if (row["Fecha IMSS"] != DBNull.Value)
                    {
                        contrato.FechaIMSS = Convert.ToDateTime(row["Fecha IMSS"].ToString());
                    }
                    if (row["UMF"] != DBNull.Value)
                    {
                        contrato.UMF = row["UMF"].ToString();
                    }
                    contrato.TipoContrato = row["Tipo Contrato"].ToString().Equals("Temporal") ? 2 : 1;
                    if (contrato.TipoContrato == 2)
                    {
                        contrato.Vigencia     = Convert.ToDateTime(row["Vigencia"].ToString());
                        contrato.DiasContrato = Convert.ToInt32(row["Días Contrato"]);
                    }

                    var puestoDatatable = row["Puesto"].ToString();
                    contrato.IdPuesto           = puestos.Where(x => x.Descripcion == puestoDatatable).Select(x => x.IdPuesto).FirstOrDefault();
                    contrato.Turno              = UtilsEmpleados.SeleccionarTurno(row["Turno"].ToString());
                    contrato.DiaDescanso        = UtilsEmpleados.selectDay(row["Descanso"].ToString());
                    contrato.IdPeriodicidadPago = UtilsEmpleados.SeleccionarPeriodicidadDePago(row["Periodicidad de pago"].ToString());
                    contrato.FormaPago          = UtilsEmpleados.SeleccionarFormaPago(row["Método Pago"].ToString());
                    contrato.PagoElectronico    = (contrato.FormaPago == 3 || contrato.FormaPago == 4 || contrato.FormaPago == 5 || contrato.FormaPago == 6 || contrato.FormaPago == 7) ? true : false;
                    contrato.SD                = Convert.ToDecimal(row["SD"].ToString());
                    contrato.SDI               = Convert.ToDecimal(row["SDI"].ToString());
                    contrato.SBC               = Convert.ToDecimal(row["SBC"].ToString());
                    contrato.SalarioReal       = Convert.ToDecimal(row["Salario Real"].ToString());
                    contrato.IdTipoJornada     = UtilsEmpleados.SeleccionarTipoNomina(row["Tipo de Jornada"].ToString());
                    contrato.TipoSalario       = UtilsEmpleados.SeleccionarTipoSalario(row["Tipo Salario"].ToString());
                    contrato.EntidadDeServicio = (row["Entidad de Servicio"].ToString());
                    contrato.Sindicalizado     = (row["Sindicalizado"].ToString().ToUpper().Equals("SI")) ? true : false;
                    contrato.Status            = true;
                    contrato.IdSucursal        = idSucursal;

                    int idEmpresaAsimilado = 0;

                    if (row["Empresa Fiscal"] != DBNull.Value)
                    {
                        var empresaFiscalDatatable = row["Empresa Fiscal"].ToString();
                        contrato.IdEmpresaFiscal = empresas.Where(x => x.RazonSocial == empresaFiscalDatatable).Select(x => x.IdEmpresa).FirstOrDefault();
                    }

                    if (row["Empresa Complemento"] != DBNull.Value)
                    {
                        var empresaComplementoDatatable = row["Empresa Complemento"].ToString();
                        contrato.IdEmpresaComplemento = empresas.Where(x => x.RazonSocial == empresaComplementoDatatable).Select(x => x.IdEmpresa).FirstOrDefault();
                    }

                    if (row["Empresa Sindicato"] != DBNull.Value)
                    {
                        var empresaSindicatoDatatable = row["Empresa Sindicato"].ToString();
                        contrato.IdEmpresaSindicato = empresas.Where(x => x.RazonSocial == empresaSindicatoDatatable).Select(x => x.IdEmpresa).FirstOrDefault();
                    }

                    if (row["Empresa Asimilado"] != DBNull.Value)
                    {
                        var empresaAsimiladoDatatable = row["Empresa Asimilado"].ToString();
                        idEmpresaAsimilado          = empresas.Where(x => x.RazonSocial == empresaAsimiladoDatatable).Select(x => x.IdEmpresa).FirstOrDefault();
                        contrato.IdEmpresaAsimilado = idEmpresaAsimilado;
                    }

                    //Tipo Regimen
                    contrato.IdTipoRegimen = idEmpresaAsimilado > 0 ? 8 : 1;//Asimilado Honorarios sino Sueldo

                    //Tipo Jornada
                    contrato.IdTipoJornada = 3;
                    contrato.FechaReg      = DateTime.Now;
                    contrato.IdUsuarioReg  = idUsuario;

                    #endregion
                    #region DATOS BANCARIOS

                    DatosBancarios bancarios = new DatosBancarios();
                    bancarios.IdEmpleado = idEmpleado;

                    if (row["Banco"].ToString().Trim() != "")
                    {
                        var bancoDatatable = row["Banco"].ToString();
                        bancarios.IdBanco = bancos.Where(x => x.Descripcion == bancoDatatable).Select(x => x.IdBanco).FirstOrDefault();
                    }

                    if (row["No Siga Fiscal"] != DBNull.Value)
                    {
                        if (row["No Siga Fiscal"].ToString().Trim() != "")
                        {
                            bancarios.NoSigaF = Convert.ToInt32(row["No Siga Fiscal"]);
                        }
                    }
                    if (row["No Siga Complemento"] != DBNull.Value)
                    {
                        if (row["No Siga Complemento"].ToString().Trim() != "")
                        {
                            bancarios.NoSigaC = Convert.ToInt32(row["No Siga Complemento"]);
                        }
                    }

                    if (row["Cuenta Bancaria"] != DBNull.Value)
                    {
                        bancarios.CuentaBancaria = row["Cuenta Bancaria"].ToString();
                    }

                    if (row["# Tarjeta"] != DBNull.Value)
                    {
                        bancarios.NumeroTarjeta = row["# Tarjeta"].ToString();
                    }

                    if (row["Clabe"] != DBNull.Value)
                    {
                        bancarios.Clabe = row["Clabe"].ToString();
                    }

                    #region BENEFICIARIOS

                    if (row["Nombre Beneficiario"] != DBNull.Value)
                    {
                        bancarios.NombreBeneficiario = row["Nombre Beneficiario"].ToString();
                    }

                    if (row["RFC Beneficiario"] != DBNull.Value)
                    {
                        bancarios.RFCBeneficiario = row["RFC Beneficiario"].ToString();
                    }

                    if (row["CURP Beneficiario"] != DBNull.Value)
                    {
                        bancarios.CURPBeneficiario = row["CURP Beneficiario"].ToString();
                    }

                    if (row["Parentezco Beneficiario"] != DBNull.Value)
                    {
                        bancarios.ParentezcoBeneficiario = row["Parentezco Beneficiario"].ToString();
                    }

                    if (row["Domicilio Beneficiario"] != DBNull.Value)
                    {
                        bancarios.DomicilioBeneficiario = row["Domicilio Beneficiario"].ToString();
                    }
                    #endregion

                    bancarios.Status = true;

                    //se agregan a las listas
                    listaContratos.Add(contrato);
                    listaBancarios.Add(bancarios);

                    #endregion
                }//fin del segundo for

                //se guardan los datos en DB
                ctx.CrearContratosDatosB(listaContratos, listaBancarios);

                #endregion

                var noti             = new Notificaciones();
                var arrayIdsEmpleado = listaEmpleados.Select(x => x.IdEmpleado).ToArray();
                //noti.Alta(idEmpleado);
                noti.Alta(arrayIdsEmpleado, idUsuario);

                KardexEmpleado kardex = new KardexEmpleado();
                kardex.AltaByArray(arrayIdsEmpleado, idUsuario);

                //Asignar conceptos Default
                ConceptosNomina.AsignarConceptosDefaultByEmpleados(idSucursal, arrayIdsEmpleado);
                //ConceptosNomina.AsignarConceptosDefaultByEmpleado(idSucursal, idEmpleado);

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }