public List <cumpleañosIMSS> cumpleActuaal(int idSucursal) { List <cumpleañosIMSS> cumple = new List <cumpleañosIMSS>(); return(cumple); var empleados = (from emp in ctx.Empleado join empc in ctx.Empleado_Contrato on emp.IdEmpleado equals empc.IdEmpleado where empc.IdSucursal == idSucursal && empc.Status == true && (empc.FechaIMSS.Value.Day >= DateTime.Now.Day && empc.FechaIMSS.Value.Day <= DateTime.Now.Day) && (empc.FechaIMSS.Value.Month >= DateTime.Now.Month && empc.FechaIMSS.Value.Month <= DateTime.Now.Month) select new cumpleañosIMSS { IdContrato = empc.IdContrato, IdSucursal = empc.IdSucursal, Nombre = emp.Nombres, Paterno = emp.APaterno, Materno = emp.AMaterno, IdEmpresaFiscal = empc.IdEmpresaFiscal, fechaImss = empc.FechaIMSS, SdiViejo = empc.SDI, SD = empc.SD }).ToList(); foreach (var e in empleados) { if (e.fechaImss != null) { DateTime oldDate = (DateTime)e.fechaImss; DateTime newDate = DateTime.Now; int anio = newDate.Year - oldDate.Year; int valorFactor = anio == 0 ? 0 : anio + 1; var factor = ctx.C_FactoresIntegracion.FirstOrDefault(x => x.Antiguedad == valorFactor); if (factor == null) { continue; } var empresa = ctx.Empresa.FirstOrDefault(x => x.IdEmpresa == e.IdEmpresaFiscal); decimal sdnew = e.SD * (factor == null ? 0 : factor.Factor); cumpleañosIMSS item = new cumpleañosIMSS(); item.Nombre = e.Nombre; item.Paterno = e.Paterno; item.Materno = e.Materno; item.IdContrato = e.IdContrato; item.IdEmpresaFiscal = e.IdEmpresaFiscal; item.NombreEmpresa = empresa.RazonSocial; item.fechaImss = e.fechaImss; item.AniosCumplidos = anio; item.FactorInt = factor.Factor; item.SdiViejo = e.SdiViejo; item.SdiNuevo = Utils.TruncateDecimales(sdnew); cumple.Add(item); } } return(cumple); }
public List <cumpleañosIMSS> cumpleBySucursal(int IdSucursal, DateTime FechaInicio, DateTime FechaFin) { List <cumpleañosIMSS> cumple = new List <cumpleañosIMSS>(); List <cumpleañosIMSS> cumpleVerificado = new List <cumpleañosIMSS>(); var empleados = (from emp in ctx.Empleado join empc in ctx.Empleado_Contrato on emp.IdEmpleado equals empc.IdEmpleado where empc.IdSucursal == IdSucursal && (empc.FechaIMSS.Value.Day >= FechaInicio.Day && empc.FechaIMSS.Value.Day <= FechaFin.Day) && (empc.FechaIMSS.Value.Month >= FechaInicio.Month && empc.FechaIMSS.Value.Month <= FechaFin.Month) && empc.FechaIMSS.Value != null && empc.Status == true select new cumpleañosIMSS { IdContrato = empc.IdContrato, IdSucursal = empc.IdSucursal, Nombre = emp.Nombres, Paterno = emp.APaterno, Materno = emp.AMaterno, IdEmpresaFiscal = empc.IdEmpresaFiscal, fechaImss = empc.FechaIMSS, SdiViejo = empc.SDI, SD = empc.SD }).ToList(); foreach (var e in empleados) { if (e.fechaImss != null && e.IdEmpresaFiscal != null) { cumpleañosIMSS item = new cumpleañosIMSS(); DateTime oldDate = (DateTime)e.fechaImss; DateTime newDate = DateTime.Now; int anio = newDate.Year - oldDate.Year; int valorFactor = anio == 0 ? 0 : anio + 1; var factor = ctx.C_FactoresIntegracion.Where(x => x.Antiguedad == valorFactor).FirstOrDefault(); var empresa = ctx.Empresa.Where(x => x.IdEmpresa == e.IdEmpresaFiscal).FirstOrDefault(); string nombreEmpresa = empresa == null ? "No se encontró Empresa" : empresa.RazonSocial; decimal sdnew = e.SD * (factor == null ? 0 : factor.Factor); item.Nombre = e.Nombre; item.Paterno = e.Paterno; item.Materno = e.Materno; item.IdContrato = e.IdContrato; item.IdEmpresaFiscal = e.IdEmpresaFiscal; item.NombreEmpresa = nombreEmpresa; item.fechaImss = e.fechaImss; item.AniosCumplidos = anio; item.FactorInt = factor == null ? 0 : factor.Factor; item.SdiViejo = e.SdiViejo; item.SdiNuevo = Utils.TruncateDecimales(sdnew); cumple.Add(item); } } foreach (var c in cumple) { cumpleañosIMSS item = new cumpleañosIMSS(); var busqueda = ctx.CumpleIMSS.Where(x => x.IdContrato == c.IdContrato && x.FechaIMSS == c.fechaImss && x.Anio == c.AniosCumplidos).FirstOrDefault(); if (busqueda != null) { item.Nombre = c.Nombre; item.Paterno = c.Paterno; item.Materno = c.Materno; item.IdContrato = c.IdContrato; item.IdEmpresaFiscal = c.IdEmpresaFiscal; item.NombreEmpresa = c.NombreEmpresa; item.fechaImss = c.fechaImss; item.AniosCumplidos = c.AniosCumplidos; item.FactorInt = c.FactorInt; item.SdiViejo = c.SdiViejo; item.SdiNuevo = c.SdiNuevo; item.Status = true; cumpleVerificado.Add(item); } else { cumpleVerificado.Add(c); } } return(cumpleVerificado); }