public int Create(Empleado_Infonavit model, int idUser) { if (model.TipoCredito == 4) { model.UsarUMA = true; model.TipoCredito = 4; } else { model.UsarUMA = false; } model.Status = true; model.FechaReg = DateTime.Now; model.IdUsuarioReg = idUser; using (var context = new RHEntities()) { context.Empleado_Infonavit.Add(model); var status = context.SaveChanges(); if (status > 0) { Notificaciones.INFONAVIT(model, "Nuevo Crédito"); return(model.Id); } return(0); } }
public bool CrearPermiso(Permisos bn) { var noti = new Notificaciones(); var result = false; var DatosEmpleado = ctx.Empleado.FirstOrDefault(x => x.IdEmpleado == bn.IdEmpleado); var DatosContrato = (from empl_contr in ctx.Empleado_Contrato where empl_contr.IdEmpleado == DatosEmpleado.IdEmpleado orderby empl_contr.IdContrato descending select empl_contr).Take(1).FirstOrDefault(); var DatosPuesto = ctx.Puesto.FirstOrDefault(x => x.IdPuesto == DatosContrato.IdPuesto); var DatosDepartamento = ctx.Departamento.FirstOrDefault(x => x.IdDepartamento == DatosPuesto.IdDepartamento); bn.FechaReg = DateTime.Now; ctx.Permisos.Add(bn); _Inasistencias ina = new _Inasistencias(); var duplicado = ina.RevisarDuplicados(bn.IdEmpleado, bn.FechaInicio, bn.FechaFin); if (duplicado == null) { ctx.SaveChanges(); noti.Permisos(bn, DatosEmpleado, DatosPuesto, DatosDepartamento); return(false); } else { return(true); } }
/// <summary> /// Crear Incapacidad /// </summary> /// <param name="id"></param> /// <returns></returns> public bool CrearIncapacidad(Incapacidades inc, int idUser) { var noti = new Notificaciones(); var result = false; if (inc.Tipo == "Riesgo de trabajo") { inc.IdIncapacidadesSat = 1; } else if (inc.Tipo == "Enfermedad General") { inc.IdIncapacidadesSat = 2; } else if (inc.Tipo == "Prematernal" || inc.Tipo == "Maternal de enlace" || inc.Tipo == "Postmaternal") { inc.IdIncapacidadesSat = 3; } using (var context = new RHEntities()) { //buscamos el contrato actual var itemContrato = context.Empleado_Contrato.Where(x => x.Status == true) .FirstOrDefault(x => x.IdEmpleado == inc.IdEmpleado); if (itemContrato != null) { inc.IdContrato = itemContrato.IdContrato; inc.IdSucursal = itemContrato.IdSucursal; inc.IdEmpresaFiscal = itemContrato.IdEmpresaFiscal ?? 0; inc.FechaReg = DateTime.Now; inc.IdUsuarioReg = idUser; inc.Sdi = itemContrato.SDI; context.Incapacidades.Add(inc); var r = context.SaveChanges(); if (r > 0) { result = true; noti.Incapacidad(inc); } } } return(result); }
public bool CrearVacaciones(Vacaciones collection) { var periodo = ctx.PeriodoVacaciones.FirstOrDefault(x => x.IdPeridoVacaciones == collection.IdPeridoVacaciones); var datos = from empleado in ctx.Empleado join emp_contr in ctx.Empleado_Contrato on empleado.IdEmpleado equals emp_contr.IdEmpleado join contrato in ctx.Empleado_Contrato on emp_contr.IdContrato equals contrato.IdContrato where emp_contr.IdContrato == periodo.IdEmpleado_Contrato select new DatosEmpleadoVacaciones { IdEmpleado = empleado.IdEmpleado, Nombres = empleado.Nombres, Paterno = empleado.APaterno, Materno = empleado.AMaterno, IdSucursal = empleado.IdSucursal }; var DatosEmpleado = datos.FirstOrDefault(); collection.Status = true; ctx.Vacaciones.Add(collection); _Inasistencias ina = new _Inasistencias(); var duplicado = ina.RevisarDuplicados(collection.Id, collection.FechaInicio, collection.FechaFin); if (duplicado == null) { try { var noti = new Notificaciones(); ctx.SaveChanges(); noti.Vacaciones(collection, DatosEmpleado, periodo); } catch (SqlException e) { string r = e.Message; } return(false); } else { return(true); } }
public int Create(Empleado_Infonavit model) { if (model.TipoCredito == 4) { model.UsarUMA = true; model.TipoCredito = 4; } else { model.UsarUMA = false; } model.Status = true; ctx.Empleado_Infonavit.Add(model); var status = ctx.SaveChanges(); if (status > 0) { Notificaciones.INFONAVIT(model, "Nuevo Crédito"); return(model.Id); } return(0); }
public int Update(Empleado_Infonavit newModel, int idUser) { using (var context = new RHEntities()) { var title = "Actualización de Crédito"; if (newModel.FechaSuspension != null) { newModel.Status = false; title = "Suspensión de Crédito"; } var old = context.Empleado_Infonavit.FirstOrDefault(x => x.Id == newModel.Id); if (old == null) { return(0); } old.NumCredito = newModel.NumCredito; old.TipoCredito = newModel.TipoCredito; old.FactorDescuento = newModel.FactorDescuento; //old.Salario = newModel.Salario; old.FechaInicio = newModel.FechaInicio; old.FechaSuspension = newModel.FechaSuspension; old.UsarUMA = newModel.TipoCredito == 4;//VSM UMA old.Status = newModel.Status; old.FechaMod = DateTime.Now; old.IdUsuarioMod = idUser; var status = context.SaveChanges(); if (status > 0) { Notificaciones.INFONAVIT(newModel, title); return(newModel.Id); } return(0); } }
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 List <respuesta> registrarCumpleIMSS(List <CumpleIMSS> cumple, int iduser) { var result = false; List <respuesta> res = new List <respuesta>(); foreach (var c in cumple) { respuesta itemr = new respuesta(); Empleado emp = new Empleado(); emp = (from ec in ctx.Empleado_Contrato join e in ctx.Empleado on ec.IdEmpleado equals e.IdEmpleado where ec.IdContrato == c.IdContrato select e).FirstOrDefault(); var busqueda = ctx.CumpleIMSS.Where(x => x.IdContrato == c.IdContrato && x.FechaIMSS == c.FechaIMSS && x.Anio == c.Anio).FirstOrDefault(); if (busqueda == null) { c.Usuario = iduser; c.FechaRegistro = DateTime.Now; ctx.CumpleIMSS.Add(c); var r = ctx.SaveChanges(); if (r > 0) { result = true; } if (result == true) { //Guarda los cambios al contrato var item = ctx.Empleado_Contrato.FirstOrDefault(x => x.IdContrato == c.IdContrato); if (item != null) { var sdiAnterior = item.SDI; item.SDI = c.SDINuevo; item.SBC = c.SDINuevo; ctx.SaveChanges(); //Agregar un registro al Kardex KardexEmpleado kardex = new KardexEmpleado(); kardex.Salarios(item.IdEmpleado, sdiAnterior, c.SDINuevo, (int)TipoKardex.Cumple_Imss, iduser); } } var noti = new Notificaciones(); Notificaciones.CumpleIMSS(c.IdContrato, c); noti.SalarioDiarioIntegrado(emp.IdEmpleado, c.SDINuevo, c.SDIViejo); itemr.Nombre = emp.Nombres; itemr.Paterno = emp.APaterno; itemr.Materno = emp.AMaterno; itemr.Estatus = true; res.Add(itemr); } else { itemr.Nombre = emp.Nombres; itemr.Paterno = emp.APaterno; itemr.Materno = emp.AMaterno; itemr.Estatus = false; res.Add(itemr); } } return(res); }
//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); } }