private static string IdseRegistroCambioSalario(Empresa emp, Empleado e, Empleado_Contrato con, Kardex kardex) { var registro = " "; //logitud de la cadena 169 registro = registro.Insert(0, emp.RegistroPatronal); registro = registro.Insert(11, e.NSS); registro = registro.Insert(22, e.APaterno.ToUpper()); registro = registro.Insert(49, e.AMaterno.ToUpper()); registro = registro.Insert(76, e.Nombres.ToUpper()); registro = registro.Insert(103, con.SDI.ToIdseFormat()); registro = registro.Insert(109, " "); registro = registro.Insert(115, " "); registro = registro.Insert(116, "2"); //tipo salario segun rh registro = registro.Insert(117, "0"); //semna jornada - cristian dijo que por default sera 0 registro = registro.Insert(118, kardex.Fecha.ToString("ddMMyyyy")); //Cambiar a la fecha de cambios de salario registro = registro.Insert(126, " "); registro = registro.Insert(131, "07"); //cambio de salario registro = registro.Insert(133, emp.Guia); registro = registro.Insert(138, e.IdEmpleado.ToString()); registro = registro.Insert(148, " "); registro = registro.Insert(149, e.CURP); registro = registro.Insert(167, "9"); registro = registro.TrimEnd(); return(registro); }
public static NOM_Nomina_Detalle PensionAlimenticiaMonto(decimal monto, Empleado_Contrato contratoActual) { decimal porcentajePension = contratoActual.PensionAlimenticiaPorcentaje != null ? (decimal)contratoActual.PensionAlimenticiaPorcentaje.Value : 0; var tipoSueldo = contratoActual.PensionAlimenticiaSueldo ?? 0;//Tipo de sueldo SD o SDI decimal sueldo = 0; decimal pagoPensionAlimenticia = 0; if (monto <= 0) { return(null); } pagoPensionAlimenticia = ((monto) * (porcentajePension / 100)); NOM_Nomina_Detalle item = new NOM_Nomina_Detalle() { Id = 0, IdNomina = 0, IdConcepto = 48, Total = Utils.TruncateDecimales(pagoPensionAlimenticia), GravadoISR = Utils.TruncateDecimales(pagoPensionAlimenticia), ExentoISR = 0, IntegraIMSS = 0, ImpuestoSobreNomina = 0, Complemento = false }; return(item); }
private static string IdseRegistroAltaReingreso(Empresa emp, Empleado e, Empleado_Contrato con) { var registro = " "; //logitud de la cadena 169 registro = registro.Insert(0, emp.RegistroPatronal); registro = registro.Insert(11, e.NSS ?? "NoTieneNSS"); registro = registro.Insert(22, e.APaterno); registro = registro.Insert(49, e.AMaterno); registro = registro.Insert(76, e.Nombres); registro = registro.Insert(103, con.SBC.ToIdseFormat()); registro = registro.Insert(109, " "); registro = registro.Insert(115, "1"); //El que le asigna RH tipo de contrato registro = registro.Insert(116, "2"); //El que le asigna RH registro = registro.Insert(117, "0"); //Semana o jornada reducida registro = registro.Insert(118, con.FechaIMSS.ToStringOrEmptyDate <DateTime>("ddMMyyyy")); // cambiar al formato DDMMAAAA registro = registro.Insert(126, con.UMF ?? ""); //si no tiene ? registro = registro.Insert(129, " "); registro = registro.Insert(131, "08"); registro = registro.Insert(133, emp.Guia);//Guia es por Lugar MTY 34400 CUN 07400 registro = registro.Insert(138, e.IdEmpleado.ToString()); registro = registro.Insert(148, " "); registro = registro.Insert(149, e.CURP); registro = registro.Insert(167, "9"); registro = registro.TrimEnd(); return(registro); }
public ActionResult Recontratar(Empleado_Contrato model) { var idUsuario = SessionHelpers.GetIdUsuario(); var response = ctx.Recontratacion(model, idUsuario); return(Json(response, JsonRequestBehavior.AllowGet)); }
public JsonResult UpdateContrato(Empleado_Contrato model) { var idUsuario = SessionHelpers.GetIdUsuario(); var response = ctx.UpdateContrato2(model, idUsuario); return(Json(response, JsonRequestBehavior.AllowGet)); }
public void IMSS(Empleado_Contrato contrato) { var cd = GetDatosPersonales(contrato.IdEmpleado); cd.Fecha_IMSS = contrato.FechaIMSS.Value.ToString("dd-MM-yyyy"); var titulo = GetTitulo(cd); NotificacionesCommon.CreateNotification(titulo, DateTime.Now, SessionHelpers.GetIdUsuario(), TiposNotificacion.Cambio_Fecha_IMSS, cd.IdCliente, cd, cd.IdSucursal, contrato.IdContrato, contrato.FechaAlta.ToString("dd-MM-yyyy")); }
/// <summary> /// Pension ALimenticia = 48 /// </summary> /// <param name="nomina"></param> /// <param name="contratoActual"></param> /// <param name="isImpuestoSobreNomina"></param> /// <param name="porcentaje"></param> /// <returns></returns> public static NOM_Nomina_Detalle PensionAlimenticia(NOM_Nomina nomina, Empleado_Contrato contratoActual, bool isImpuestoSobreNomina = false, decimal porcentaje = 0) { decimal porcentajePension = contratoActual.PensionAlimenticiaPorcentaje != null ? (decimal)contratoActual.PensionAlimenticiaPorcentaje.Value : 0; var tipoSueldo = contratoActual.PensionAlimenticiaSueldo ?? 0;//Tipo de sueldo SD o SDI decimal sueldo = 0; decimal pagoPensionAlimenticia = 0; switch (tipoSueldo) { case 1: sueldo = nomina.SD; break; case 2: sueldo = nomina.SDI; break; } if (sueldo > 0 && porcentajePension > 0) { pagoPensionAlimenticia = ((sueldo * nomina.Dias_Laborados) * (porcentajePension / 100)); // GuardarConcepto(nomina.IdNomina, 48, pagoPensionAlimenticia, pagoPensionAlimenticia, impuestoNomina: 0); NOM_Nomina_Detalle item = new NOM_Nomina_Detalle() { Id = 0, IdNomina = nomina.IdNomina, IdConcepto = 48, Total = Utils.TruncateDecimales(pagoPensionAlimenticia), GravadoISR = Utils.TruncateDecimales(pagoPensionAlimenticia), ExentoISR = 0, IntegraIMSS = 0, ImpuestoSobreNomina = 0, Complemento = false }; return(item); } return(null); }
private static string IdseRegistroBaja(Empresa emp, Empleado e, Empleado_Contrato con) { var registro = " "; //logitud de la cadena 169 registro = registro.Insert(0, emp.RegistroPatronal); registro = registro.Insert(11, e.NSS); registro = registro.Insert(22, e.APaterno); registro = registro.Insert(49, e.AMaterno); registro = registro.Insert(76, e.Nombres); registro = registro.Insert(103, "000000000000000"); registro = registro.Insert(118, con.BajaIMSS.ToStringOrEmptyDate <DateTime>("ddMMyyyy")); registro = registro.Insert(131, "02");//02 es baja registro = registro.Insert(133, emp.Guia); registro = registro.Insert(138, e.IdEmpleado.ToString()); registro = registro.Insert(148, "1");//Causa Baja segun lo capturado por RH registro = registro.Insert(149, " "); registro = registro.Insert(167, "9"); registro = registro.TrimEnd(); return(registro); }
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); } } } }
public void CreateContrato(Empleado_Contrato contrato) { TempData["contrato"] = contrato; }
private void PlantillaVacaciones(string file, string newPath, int[] vacaciones) { var empresadoc = ""; VacacionesClase vacas = new VacacionesClase(); foreach (var item in vacaciones) { using (var documento = DocX.Load(file)) { Empleado_Contrato empresa = new Empleado_Contrato(); var _vacas = vacas.WordDoc(item); empresa = vacas.EmpresaEmpleado(_vacas.IdEmpleado); if (empresa.IdEmpresaFiscal == null || empresa.IdEmpresaFiscal == 0) { if (empresa.IdEmpresaAsimilado == null || empresa.IdEmpresaAsimilado == 0) { if (empresa.IdEmpresaComplemento == null || empresa.IdEmpresaComplemento == 0) { empresadoc = _ctx.Empresa.Where(x => x.IdEmpresa == empresa.IdEmpresaSindicato).Select(x => x.RazonSocial).FirstOrDefault(); } else { empresadoc = _ctx.Empresa.Where(x => x.IdEmpresa == empresa.IdEmpresaComplemento).Select(x => x.RazonSocial).FirstOrDefault(); } } else { empresadoc = _ctx.Empresa.Where(x => x.IdEmpresa == empresa.IdEmpresaAsimilado).Select(x => x.RazonSocial).FirstOrDefault(); } } else { empresadoc = _ctx.Empresa.Where(x => x.IdEmpresa == empresa.IdEmpresaFiscal).Select(x => x.RazonSocial).FirstOrDefault(); } var nombre = "Constancia_Vacaciones_" + _vacas.Paterno + "_" + _vacas.Materno + "_" + _vacas.Nombres; var newDoc = newPath + nombre + ".docx"; int sumatoria = vacas.sumatoria(_vacas.idvacaciones, _vacas.IdPeriodo); var dias = Convert.ToString(_vacas.Dias); var anio = Convert.ToString(_vacas.Inicio.Year); var tomados = Convert.ToString(sumatoria); var pendientes = _vacas.DiasTotales - (_vacas.Dias + sumatoria); var DiasPendientes = Convert.ToString(pendientes); documento.ReplaceText("<<Empleado_Empresa>>", empresadoc); documento.ReplaceText("<<Nombres>>", _vacas.Nombres); documento.ReplaceText("<<Paterno>>", _vacas.Paterno); documento.ReplaceText("<<Materno>>", _vacas.Materno); documento.ReplaceText("<<FechaDeAlta>>", _vacas.Alta.ToString("dd/MM/yyyy")); documento.ReplaceText("<<Departamento>>", _vacas.Depa); documento.ReplaceText("<<Puesto>>", _vacas._Puesto); documento.ReplaceText("<<FechaActual>>", DateTime.Today.ToString("dd/MM/yyyy")); documento.ReplaceText("<<Periodo>>", _vacas.PerioVaca); documento.ReplaceText("<<Vacaciones_Anio>>", anio); documento.ReplaceText("<<FechaInicio>>", _vacas.Inicio.ToString("dd/MM/yyyy")); documento.ReplaceText("<<FechaFin>>", _vacas.Fin.ToString("dd/MM/yyyy")); documento.ReplaceText("<<Presentarse>>", _vacas.Presentarse.ToString("dd/MM/yyyy")); documento.ReplaceText("<<Dias>>", dias); documento.ReplaceText("<<DiasTomados>>", tomados); documento.ReplaceText("<<DiasPendientes>>", DiasPendientes); documento.SaveAs(newDoc); } } }
public CalculoInfonavit calcularInfonavit(Empleado_Infonavit infonavit) { //Obtener el contrato relacionado al credito Empleado_Contrato itemContrato = new Empleado_Contrato(); using (var context = new RHEntities()) { itemContrato = context.Empleado_Contrato.FirstOrDefault(x => x.IdContrato == infonavit.IdEmpleadoContrato); } CalculoInfonavit calculo = new CalculoInfonavit(); calculo.FechaInicio = infonavit.FechaInicio; calculo.IdEmpleadoContrato = infonavit.IdEmpleadoContrato; calculo.IdInfonavit = infonavit.Id; calculo.NumCredito = infonavit.NumCredito; calculo.Salario = infonavit.Salario; if (itemContrato != null) {//si el contrato tiene nuevo sdi, tomará el valor de ese nuevo sdi calculo.Salario = itemContrato.SDI; } calculo.FactorDescuento = infonavit.FactorDescuento; calculo.FechaSuspension = infonavit.FechaSuspension; calculo.Status = infonavit.Status; calculo.TipoCredito = infonavit.TipoCredito; if (calculo.FechaInicio < DateTime.Today) { calculo.FechaAplicada = DateTime.Today; } else { calculo.FechaAplicada = calculo.FechaInicio; } var numBimestre = Utils.GetBimestre(calculo.FechaAplicada.Value.Month); calculo.DiasBimestre = Utils.GetDiasDelBimestre(calculo.FechaAplicada.Value.Year, numBimestre); decimal salarioCalculo = 0; var zonaSalario = GetZonaSalario(); switch (infonavit.TipoCredito) { case 1: //Cuota Fijam calculo.DescuentoBimestral = calcularCuotaFija(calculo.FactorDescuento); calculo.DescuentoDiario = calculo.DescuentoBimestral / calculo.DiasBimestre; calculo.TipoCredito = infonavit.TipoCredito; break; case 2: // Porcentaje//tomar el sdi del contrato calculo.DescuentoDiario = calcularPorcentaje(calculo.FactorDescuento, calculo.Salario.Value); calculo.DescuentoBimestral = (calculo.DescuentoDiario * calculo.DiasBimestre) + 15; calculo.TipoCredito = infonavit.TipoCredito; break; case 3: //VSM if (infonavit.UsarUMA) { salarioCalculo = zonaSalario.UMA; } else { salarioCalculo = zonaSalario.SMG; } //calculo.Salario = sm != calculo.Salario ? sm : calculo.Salario; calculo.Salario = salarioCalculo != calculo.Salario ? salarioCalculo : calculo.Salario; calculo.DescuentoBimestral = calcularVSM(calculo.FactorDescuento, calculo.Salario.Value); calculo.DescuentoDiario = calculo.DescuentoBimestral / calculo.DiasBimestre; calculo.TipoCredito = infonavit.TipoCredito; break; case 4: //VSM if (infonavit.UsarUMA) { salarioCalculo = zonaSalario.UMA; } else { salarioCalculo = zonaSalario.SMG; } //calculo.Salario = sm != calculo.Salario ? sm : calculo.Salario; calculo.Salario = salarioCalculo != calculo.Salario ? salarioCalculo : calculo.Salario; calculo.DescuentoBimestral = calcularVSM(calculo.FactorDescuento, calculo.Salario.Value); calculo.DescuentoDiario = calculo.DescuentoBimestral / calculo.DiasBimestre; calculo.TipoCredito = infonavit.TipoCredito; break; default: break; } var iniBim = new DateTime(calculo.FechaAplicada.Value.Year, (numBimestre * 2) - 1, 1); var finBim = new DateTime(calculo.FechaAplicada.Value.Year, (numBimestre * 2), 1); calculo.BimestreAplicado = iniBim.ToString("MMMM") + " - " + finBim.ToString("MMMM"); calculo.DescuentoBimestral = calculo.DescuentoBimestral; //Math.Round(calculo.DescuentoBimestral, 2); calculo.DescuentoDiario = calculo.DescuentoDiario; //Math.Round(calculo.DescuentoDiario, 2); return(calculo); }
//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); } }
public static NOM_Nomina_Detalle PensionAlimenticiaComplemento(NOM_Nomina nomina, Empleado_Contrato contratoActual, bool isImpuestoSobreNomina = false, decimal porcentaje = 0) { decimal porcentajePension = contratoActual.PensionAlimenticiaPorcentaje != null ? (decimal)contratoActual.PensionAlimenticiaPorcentaje.Value : 0; var tipoSueldo = contratoActual.PensionAlimenticiaSueldo ?? 0; decimal sueldo = nomina.SDReal; decimal pagoPensionAlimenticia = 0; //switch (tipoSueldo) //{ // case 1: // sueldo = nomina.SD; // break; // case 2: // sueldo = nomina.SDI; // break; //} if (sueldo > 0 && porcentajePension > 0) { pagoPensionAlimenticia = (porcentajePension * sueldo) * (porcentajePension / 100); // GuardarConcepto(nomina.IdNomina, 48, pagoPensionAlimenticia, pagoPensionAlimenticia, impuestoNomina: 0, isComplemento: true); NOM_Nomina_Detalle item = new NOM_Nomina_Detalle() { Id = 0, IdNomina = nomina.IdNomina, IdConcepto = 48, Total = pagoPensionAlimenticia, GravadoISR = pagoPensionAlimenticia, ExentoISR = 0, IntegraIMSS = 0, ImpuestoSobreNomina = 0, Complemento = false }; return(item); } return(null); }
private static byte[] GetDatosEmpleadosPdf(int idEmpleado) { byte[] byteInfo; MemoryStream ms = new MemoryStream(); Document doc = new Document(PageSize.LETTER, 50, 50, 25, 25); PdfWriter writer = PdfWriter.GetInstance(doc, ms); writer.CloseStream = false; doc.Open(); try { Empleado itemEmpleado = new Empleado(); Empleado_Contrato itemContrato = new Empleado_Contrato(); Cliente itemCliente = new Cliente(); Sucursal itemSucursal = new Sucursal(); List <Empresa> listaEmpresas = new List <Empresa>(); DatosBancarios itemBancarios = new DatosBancarios(); Puesto itemPuesto = new Puesto(); C_Banco_SAT itemBancoSat = new C_Banco_SAT(); string empFiscal = ""; string empComplemento = ""; SYA_Usuarios usuario = new SYA_Usuarios(); using (var context = new RHEntities()) { itemEmpleado = context.Empleado.FirstOrDefault(x => x.IdEmpleado == idEmpleado); itemContrato = context.Empleado_Contrato.Where(x => x.IdEmpleado == idEmpleado) .OrderByDescending(x => x.IdContrato) .FirstOrDefault(); if (itemContrato == null) { return(null); } itemSucursal = context.Sucursal.FirstOrDefault(x => x.IdSucursal == itemEmpleado.IdSucursal); itemCliente = context.Cliente.FirstOrDefault(x => x.IdCliente == itemSucursal.IdCliente); listaEmpresas = context.Empresa.ToList(); itemPuesto = context.Puesto.FirstOrDefault(x => x.IdPuesto == itemContrato.IdPuesto); itemBancarios = context.DatosBancarios.FirstOrDefault(x => x.IdEmpleado == idEmpleado); itemBancoSat = context.C_Banco_SAT.FirstOrDefault(x => x.IdBanco == itemBancarios.IdBanco); usuario = context.SYA_Usuarios.FirstOrDefault(x => x.IdUsuario == itemContrato.IdUsuarioReg); } if (itemContrato.IdEmpresaFiscal != null) { Empresa itemEmpF = listaEmpresas.FirstOrDefault(x => x.IdEmpresa == itemContrato.IdEmpresaFiscal.Value); empFiscal = itemEmpF != null ? itemEmpF.RazonSocial : "na"; } if (itemContrato.IdEmpresaComplemento != null) { Empresa itemEmpC = listaEmpresas.FirstOrDefault(x => x.IdEmpresa == itemContrato.IdEmpresaComplemento.Value); empComplemento = itemEmpC != null ? itemEmpC.RazonSocial : "na"; } doc.NewPage(); //// Paragraph to draw line. //Paragraph p = new Paragraph(new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(0.0F, 100.0F, BaseColor.BLACK, Element.ALIGN_LEFT, 1))); //// call the below to add the line when required. //doc.Add(p); //doc.Add(Chunk.NEWLINE); string strNombre = ""; strNombre = itemContrato.Status == true ? $" {itemEmpleado.Nombres} {itemEmpleado.APaterno} {itemEmpleado.AMaterno}" : $" {itemEmpleado.Nombres} {itemEmpleado.APaterno} {itemEmpleado.AMaterno} - Baja"; doc.Add(new Phrase(strNombre, Font14B)); doc.Add(Chunk.NEWLINE); if (usuario != null) { string strUsuario = $" Registrado por: {usuario.Nombres} {usuario.ApPaterno} {usuario.ApMaterno} Fecha Reg: {itemContrato.FechaReg}"; doc.Add(new Phrase(strUsuario, Font9)); } //doc.Add(Chunk.NEWLINE); // Paragraph to draw line. Paragraph p = new Paragraph( new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(0.0F, 100.0F, BaseColor.BLACK, Element.ALIGN_LEFT, 1))); // call the below to add the line when required. doc.Add(p); // LineSeparator line = new LineSeparator(1f, 100f, BaseColor.BLACK, Element.ALIGN_LEFT, 1); //doc.Add(line); doc.Add(Chunk.NEWLINE); SetDataDoc(ref doc, "IdEmpleado : ", itemEmpleado.IdEmpleado.ToString()); SetDataDoc(ref doc, "Nombre(s) : ", itemEmpleado.Nombres); SetDataDoc(ref doc, "Paterno : ", itemEmpleado.APaterno); SetDataDoc(ref doc, "Materno : ", itemEmpleado.AMaterno); SetDataDoc(ref doc, "NSS : ", itemEmpleado.NSS); SetDataDoc(ref doc, "RFC : ", itemEmpleado.RFC); SetDataDoc(ref doc, "CURP : ", itemEmpleado.CURP); doc.Add(Chunk.NEWLINE); SetDataDoc(ref doc, "Cliente : ", itemCliente.Nombre); SetDataDoc(ref doc, "Sucursal : ", itemSucursal.Ciudad); SetDataDoc(ref doc, "Puesto : ", itemPuesto.Descripcion); doc.Add(Chunk.NEWLINE); SetDataDoc(ref doc, "Empresa Fiscal : ", empFiscal); SetDataDoc(ref doc, "Empresa Comp : ", empComplemento); SetDataDoc(ref doc, "SD : ", itemContrato.SD.ToString()); SetDataDoc(ref doc, "SDI : ", itemContrato.SDI.ToString()); SetDataDoc(ref doc, "SDR : ", itemContrato.SalarioReal.ToString()); SetDataDoc(ref doc, itemContrato.IsReingreso ? "Fecha Reingreso : " : "Fecha Alta : ", itemContrato.FechaAlta.ToString("dd MMM yyyy")); SetDataDoc(ref doc, "Fecha Imss : ", itemContrato.FechaIMSS != null ? itemContrato.FechaIMSS.Value.ToString("dd MMM yyyy") : "--"); SetDataDoc(ref doc, "Fecha Real : ", itemContrato.FechaReal.ToString("dd MMM yyyy")); SetDataDoc(ref doc, "Tipo Contrato : ", itemContrato.IsReingreso ? "Reingreso" : "Nuevo"); SetDataDoc(ref doc, "Estatus contrato : ", itemContrato.Status ? "Vigente" : "Baja"); if (itemContrato.Status == false) { SetDataDoc(ref doc, "Fecha Baja : ", itemContrato.FechaBaja != null ? itemContrato.FechaBaja.Value.ToString("dd MMM yyyy") : "--"); SetDataDoc(ref doc, "Baja Imss : ", itemContrato.BajaIMSS != null ? itemContrato.BajaIMSS.Value.ToString("dd MMM yyyy") : "--"); SetDataDoc(ref doc, "Motivo Baja : ", itemContrato.MotivoBaja != null ? itemContrato.MotivoBaja : "--"); SetDataDoc(ref doc, "Comentario Baja : ", itemContrato.ComentarioBaja != null ? itemContrato.ComentarioBaja : "--"); } doc.Add(Chunk.NEWLINE); SetDataDoc(ref doc, "Banco : ", itemBancoSat.Descripcion); SetDataDoc(ref doc, "Siga F : ", itemBancarios.NoSigaF.ToString()); SetDataDoc(ref doc, "Siga C : ", itemBancarios.NoSigaC.ToString()); SetDataDoc(ref doc, "Cuenta Bancaria : ", itemBancarios.CuentaBancaria); SetDataDoc(ref doc, "Num. de Tarjeta : ", itemBancarios.NumeroTarjeta); SetDataDoc(ref doc, "Clabe Interbancaria : ", itemBancarios.Clabe); doc.Add(Chunk.NEWLINE); SetDataDoc(ref doc, "Beneficiario : ", itemBancarios.NombreBeneficiario); SetDataDoc(ref doc, "RFC Beneficiario : ", itemBancarios.RFCBeneficiario); SetDataDoc(ref doc, "CURP Beneficiario : ", itemBancarios.CURPBeneficiario); SetDataDoc(ref doc, "Parentezco : ", itemBancarios.ParentezcoBeneficiario); SetDataDoc(ref doc, "Domicilio Beneficiario : ", itemBancarios.DomicilioBeneficiario); } catch (Exception e) { doc.Add(new Phrase($"Error ? {e.Message}", Font14B)); } finally { doc.Close(); byteInfo = ms.ToArray(); ms.Write(byteInfo, 0, byteInfo.Length); ms.Position = 0; ms.Flush(); ms.Dispose(); } return(byteInfo); }