private Response Existe(DatosBancarios DatosBancarios) { var numerocuenta = DatosBancarios.NumeroCuenta; var ahorros = DatosBancarios.Ahorros; var institucionfinanciera = DatosBancarios.IdInstitucionFinanciera; var DatosBancariosrespuesta = db.DatosBancarios.Where(p => p.NumeroCuenta.ToUpper().TrimStart().TrimEnd() == numerocuenta && p.IdEmpleado == DatosBancarios.IdEmpleado && p.IdInstitucionFinanciera == institucionfinanciera && p.Ahorros == ahorros).FirstOrDefault(); if (DatosBancariosrespuesta != null) { return(new Response { IsSuccess = true, Message = Mensaje.ExisteRegistro, Resultado = DatosBancariosrespuesta, }); } return(new Response { IsSuccess = false, Resultado = DatosBancariosrespuesta, }); }
public async Task <Response> PutDatosBancarios([FromRoute] int id, [FromBody] DatosBancarios datosBancarios) { try { if (!ModelState.IsValid) { return(new Response { IsSuccess = false, Message = Mensaje.ModeloInvalido }); } var existe = Existe(datosBancarios); var DatosBancariosActualizar = (DatosBancarios)existe.Resultado; if (existe.IsSuccess) { return(new Response { IsSuccess = false, Message = Mensaje.ExisteRegistro, }); } var datosBancariosActualizar = await db.DatosBancarios.Where(x => x.IdDatosBancarios == datosBancarios.IdDatosBancarios).FirstOrDefaultAsync(); datosBancariosActualizar.IdInstitucionFinanciera = datosBancarios.IdInstitucionFinanciera; datosBancariosActualizar.NumeroCuenta = datosBancarios.NumeroCuenta; datosBancariosActualizar.Ahorros = datosBancarios.Ahorros; await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio, }); } catch (Exception ex) { await GuardarLogService.SaveLogEntry(new LogEntryTranfer { ApplicationName = Convert.ToString(Aplicacion.SwTH), ExceptionTrace = ex.Message, Message = Mensaje.Excepcion, LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical), LogLevelShortName = Convert.ToString(LogLevelParameter.ERR), UserName = "", }); return(new Response { IsSuccess = true, Message = Mensaje.Excepcion, }); } }
public JsonResult NuevaCuentaBancaria(DatosBancarios model) { if (model.IdEmpleado > 0) { int IdEmpleado = ctx.NewDatosBancarios(model); return(Json(IdEmpleado, JsonRequestBehavior.AllowGet)); } else { TempData["dbancarios"] = model; return(Json(true, JsonRequestBehavior.AllowGet)); } }
public async Task <Response> EliminarEmpleadoDatosBancarios([FromBody] DatosBancarios datosBancarios) { try { if (!ModelState.IsValid) { return(new Response { IsSuccess = false, Message = Mensaje.ModeloInvalido, }); } var respuesta = await db.DatosBancarios.SingleOrDefaultAsync(m => m.IdDatosBancarios == datosBancarios.IdDatosBancarios && m.IdEmpleado == datosBancarios.IdEmpleado); if (respuesta == null) { return(new Response { IsSuccess = false, Message = Mensaje.RegistroNoEncontrado, }); } db.DatosBancarios.Remove(respuesta); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio, }); } catch (Exception ex) { await GuardarLogService.SaveLogEntry(new LogEntryTranfer { ApplicationName = Convert.ToString(Aplicacion.SwTH), ExceptionTrace = ex, Message = Mensaje.Excepcion, LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical), LogLevelShortName = Convert.ToString(LogLevelParameter.ERR), UserName = "", }); return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } }
public JsonResult NuevaCuentaBancaria(DatosBancarios model) { if (model.IdEmpleado > 0) { var idUsuario = SessionHelpers.GetIdUsuario(); int IdEmpleado = ctx.NewDatosBancarios(model, idUsuario); return(Json(IdEmpleado, JsonRequestBehavior.AllowGet)); } else { TempData["dbancarios"] = model; return(Json(true, JsonRequestBehavior.AllowGet)); } }
public JsonResult UpdateDatosBancarios(DatosBancarios updated) { try { var status = ctx.UpdateDatosBancarios(updated); if (status) { return(Json(updated.IdEmpleado, JsonRequestBehavior.AllowGet)); } else { return(Json(0, JsonRequestBehavior.AllowGet)); } } catch (Exception) { return(Json(-1, JsonRequestBehavior.AllowGet)); } }
public JsonResult UpdateDatosBancarios(DatosBancarios updated) { try { var idUsuario = SessionHelpers.GetIdUsuario(); var status = ctx.UpdateDatosBancarios(updated, idUsuario); if (status) { return(Json(updated.IdEmpleado, JsonRequestBehavior.AllowGet)); } else { return(Json(0, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json(-1, JsonRequestBehavior.AllowGet)); } }
public async Task <Response> PostDatosBancarios([FromBody] DatosBancarios DatosBancarios) { try { if (!ModelState.IsValid) { return(new Response { IsSuccess = false, Message = "" }); } var respuesta = Existe(DatosBancarios); if (!respuesta.IsSuccess) { db.DatosBancarios.Add(DatosBancarios); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio }); } return(new Response { IsSuccess = false, Message = Mensaje.ExisteRegistro, }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } }
public async Task <Response> InsertarEmpleadoDatosBancarios([FromBody] DatosBancarios datosBancarios) { try { if (!ModelState.IsValid) { return(new Response { IsSuccess = false, Message = Mensaje.ModeloInvalido, }); } db.DatosBancarios.Add(datosBancarios); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio }); } catch (Exception ex) { await GuardarLogService.SaveLogEntry(new LogEntryTranfer { ApplicationName = Convert.ToString(Aplicacion.SwTH), ExceptionTrace = ex, Message = Mensaje.Excepcion, LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical), LogLevelShortName = Convert.ToString(LogLevelParameter.ERR), UserName = "", }); return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } }
public bool guardarDatosBancarios(EmpleadoBank datos) { var resultado = false; try { const string sqlQuery = "DELETE DatosBancarios WHERE IdEmpleado = @p0"; ctx.Database.ExecuteSqlCommand(sqlQuery, datos.IdEmpleado); var item = new DatosBancarios { IdBanco = datos.IdBanco, IdEmpleado = datos.IdEmpleado, NoSigaF = datos.NoSiga, NoSigaC = datos.NoSIga2, CuentaBancaria = datos.cuenta, NumeroTarjeta = datos.Tarjeta, Clabe = datos.Clabe, Status = true }; ctx.DatosBancarios.Add(item); var r = ctx.SaveChanges(); var contrato = ctx.Empleado_Contrato.Where(x => x.IdEmpleado == datos.IdEmpleado).OrderByDescending(x => x.IdContrato).FirstOrDefault(); contrato.FormaPago = datos.IdMetodoPago; ctx.SaveChanges(); if (r > 0) { resultado = true; } return(resultado); } catch (Exception e) { return(resultado); } }
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 bool guardarRegistro(DataTable data) { var resultado = true; try { var bancos = ctx.C_Banco_SAT.ToList(); var metodos = ctx.C_Metodos_Pago.ToList(); int columnas = data.Columns.Count; List<DataColumn> drlist = new List<DataColumn>(); foreach (DataColumn column in data.Columns) { drlist.Add((DataColumn)column); } List<EmpleadoBanco> listEmpleado = new List<EmpleadoBanco>(); foreach (DataRow row in data.Rows) { EmpleadoBanco emp = new EmpleadoBanco(); emp.IdEmpleado = Convert.ToInt32(row[0]); emp.NoSiga = row[2] == DBNull.Value ? 0: Convert.ToInt32(row[2]); emp.NoSIga2 = row[3] == DBNull.Value ? 0 : Convert.ToInt32(row[3]); emp.cuenta = row[4].ToString(); emp.Tarjeta = row[5].ToString(); emp.Clabe = row[6].ToString(); emp.Banco =row[7].ToString().ToUpper(); emp.MetodoPago = row[8].ToString(); listEmpleado.Add(emp); } foreach(var list in listEmpleado) { var auxmetodos = metodos.Where(x => x.Descripcion.ToUpper() == list.MetodoPago.ToUpper()).FirstOrDefault(); var aux = bancos.Where(x => x.Descripcion == list.Banco).FirstOrDefault(); const string sqlQuery = "DELETE DatosBancarios WHERE IdEmpleado = @p0"; ctx.Database.ExecuteSqlCommand(sqlQuery, list.IdEmpleado); var item = new DatosBancarios { IdBanco = aux == null? 2: aux.IdBanco, IdEmpleado = list.IdEmpleado, NoSigaF = list.NoSiga, NoSigaC = list.NoSIga2, CuentaBancaria = list.cuenta, NumeroTarjeta = list.Tarjeta, Clabe = list.Clabe, Status = true }; ctx.DatosBancarios.Add(item); var r = ctx.SaveChanges(); if (r > 0) resultado = true; var contrato = ctx.Empleado_Contrato.Where(x => x.IdEmpleado == list.IdEmpleado).OrderByDescending(x => x.IdContrato).FirstOrDefault(); contrato.FormaPago = auxmetodos == null ? 3: auxmetodos.IdMetodo; ctx.SaveChanges(); } return resultado; } catch(Exception e) { return resultado; } }
//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); } }
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); }