public bool agregarEmpleadosAPeriodo(int[] arrayE, int idPeriodo) { var result = false; try { //Validar periodo var itemPeriodo = ctx.NOM_PeriodosPago.FirstOrDefault(x => x.IdPeriodoPago == idPeriodo); //Si el periodo ya esta autorizado, ya no se podrá hacer cambios if (itemPeriodo.Autorizado == true) { return(false); } foreach (var e in arrayE) { var item = new NOM_Empleado_PeriodoPago { IdEmpleado = e, IdPeriodoPago = idPeriodo, DiasDescuentoInfonavit = -1 }; ctx.NOM_Empleado_PeriodoPago.Add(item); var t = ctx.SaveChanges(); } result = true; return(result); } catch (Exception e) { return(result); } }
public bool UpdatePeriodoPagoEmpleados(int IdPeriodo, int[] empleados = null) { using (var context = new RHEntities()) { //Validar periodo var itemPeriodo = context.NOM_PeriodosPago.FirstOrDefault(x => x.IdPeriodoPago == IdPeriodo); //Si el periodo ya esta autorizado, ya no se podrá hacer cambios if (itemPeriodo.Autorizado == true) { return(false); } //Elimina los empleados que tenía configurado anteriormente var old = context.NOM_Empleado_PeriodoPago.Where(x => x.IdPeriodoPago == IdPeriodo).ToList(); if (old.Count > 0) { context.NOM_Empleado_PeriodoPago.RemoveRange(old); } if (empleados != null) { //Agrega empleado por empleado foreach (var item in empleados) { var registro = new NOM_Empleado_PeriodoPago(); registro.IdPeriodoPago = IdPeriodo; registro.IdEmpleado = item; registro.DiasDescuentoInfonavit = -1; context.NOM_Empleado_PeriodoPago.Add(registro); } } return(context.SaveChanges() > 0 ? true : false); } }
public bool agregarEmpleadosAPeriodo(int[] arrayE, int idPeriodo) { var result = false; try { using (var context = new RHEntities()) //mtyc { //Validar periodo var itemPeriodo = context.NOM_PeriodosPago.FirstOrDefault(x => x.IdPeriodoPago == idPeriodo); //Si el periodo ya esta autorizado, ya no se podrá hacer cambios if (itemPeriodo.Autorizado == true) { return(false); } //validamos si es finiquito que solo pueda tener un empleado if (itemPeriodo.IdTipoNomina == 11) //finiquito { var listaAsignados = (from p in context.NOM_Empleado_PeriodoPago where p.IdPeriodoPago == idPeriodo select p.IdEmp_Periodo).ToList(); if (listaAsignados.Any()) { return(false); } } var listaContratos = (from c in context.Empleado_Contrato where arrayE.Contains(c.IdEmpleado) select c).ToList(); foreach (var e in arrayE) { var itemContrato = listaContratos.OrderByDescending(x => x.IdContrato).FirstOrDefault(x => x.IdEmpleado == e); var item = new NOM_Empleado_PeriodoPago { IdEmpleado = e, IdPeriodoPago = idPeriodo, DiasDescuentoInfonavit = -1, IdContrato = itemContrato?.IdContrato ?? 0 }; context.NOM_Empleado_PeriodoPago.Add(item); var t = context.SaveChanges(); } result = true; return(result); } } catch (Exception e) { return(result); } }
public bool guardarPeriodo(int[] arrayE, string[] periodoDatos, int idsucursal, int idCliente, int idUsuario) { try { //validacion if (periodoDatos == null) { return(false); } if (Convert.ToInt32(periodoDatos[1]) == 0) { return(false); } using (var context = new RHEntities()) { var fechaInicio = Convert.ToDateTime(periodoDatos[3]); var anio = fechaInicio.Year.ToString(); int mes = fechaInicio.Month; var fechaActual = DateTime.Now; double calc = (double)mes / (double)2; var bim = (int)Math.Ceiling(calc); var esSindicato = false; int tipoNomina = 0; List <Empleado_Contrato> listaContratos = new List <Empleado_Contrato>(); var ejercicio = context.NOM_Ejercicio_Fiscal.Where(x => x.Anio == anio).Select(x => x.IdEjercicio).FirstOrDefault(); if (arrayE != null)//Para crear un periodo vacio donde no hay empleado seleccionados { listaContratos = (from c in context.Empleado_Contrato where arrayE.Contains(c.IdEmpleado) select c).ToList(); } bool soloComplemento = false; if (periodoDatos.Length == 9) { soloComplemento = Convert.ToBoolean(periodoDatos[8]); } //Get tipo de Nomina del periodo tipoNomina = Convert.ToInt32(periodoDatos[0]); if (tipoNomina == 17) //Sindicato { esSindicato = true; } var item = new NOM_PeriodosPago { IdTipoNomina = tipoNomina, // Convert.ToInt32(periodoDatos[0]), DiasPeriodo = Convert.ToInt32(periodoDatos[1]), Descripcion = periodoDatos[2], Fecha_Inicio = Convert.ToDateTime(periodoDatos[3]), Fecha_Fin = Convert.ToDateTime(periodoDatos[4]), Fecha_Pago = Convert.ToDateTime(periodoDatos[4]), IdEjercicio = ejercicio, Bimestre = bim, IdSucursal = idsucursal, Ultimo = Convert.ToBoolean(periodoDatos[5]), Especial = Convert.ToBoolean(periodoDatos[6]), IdTipoNominaSat = Convert.ToInt32(periodoDatos[7]), SoloComplemento = soloComplemento, Sindicato = esSindicato, FechaReg = DateTime.Now, IdCliente = idCliente, IdUsuario = idUsuario }; if (tipoNomina == 16) //Asimilado { item.IdTipoNominaSat = 2; //E - extraordinaria } if (item.IdTipoNomina <= 0) { return(false); } context.NOM_PeriodosPago.Add(item); var t = context.SaveChanges(); int idperiodo = item.IdPeriodoPago; List <NOM_Empleado_PeriodoPago> listaEmpleadosPerio = new List <NOM_Empleado_PeriodoPago>(); if (arrayE != null) { foreach (var p in arrayE) { var itemContrato = listaContratos.OrderByDescending(x => x.IdContrato) .FirstOrDefault(x => x.IdEmpleado == p); var itemEp = new NOM_Empleado_PeriodoPago { IdEmpleado = p, IdPeriodoPago = idperiodo, DiasDescuentoInfonavit = -1, IdContrato = itemContrato?.IdContrato ?? 0 }; listaEmpleadosPerio.Add(itemEp); } //guardamos la lista context.NOM_Empleado_PeriodoPago.AddRange(listaEmpleadosPerio); context.SaveChanges(); } } return(true); } catch (Exception e) { return(false); } }
public bool guardarPeriodo(int[] arrayE, string[] periodoDatos, int idsucursal, int idCliente, int idUsuario) { try { //validacion if (periodoDatos == null) { return(false); } if (Convert.ToInt32(periodoDatos[1]) == 0) { return(false); } var fechafin = Convert.ToDateTime(periodoDatos[4]); var anio = fechafin.Year.ToString(); int mes = fechafin.Month; var fechaActual = DateTime.Now; double calc = (double)mes / (double)2; var bim = (int)Math.Ceiling(calc); var esSindicato = false; int tipoNomina = 0; var ejercicio = ctx.NOM_Ejercicio_Fiscal.Where(x => x.Anio == anio).Select(x => x.IdEjercicio).FirstOrDefault(); bool soloComplemento = false; if (periodoDatos.Length == 9) { soloComplemento = Convert.ToBoolean(periodoDatos[8]); } //Get tipo de Nomina del periodo tipoNomina = Convert.ToInt32(periodoDatos[0]); if (tipoNomina == 17) //Sindicato { esSindicato = true; } var item = new NOM_PeriodosPago { IdTipoNomina = tipoNomina, // Convert.ToInt32(periodoDatos[0]), DiasPeriodo = Convert.ToInt32(periodoDatos[1]), Descripcion = periodoDatos[2], Fecha_Inicio = Convert.ToDateTime(periodoDatos[3]), Fecha_Fin = Convert.ToDateTime(periodoDatos[4]), Fecha_Pago = Convert.ToDateTime(periodoDatos[4]), IdEjercicio = ejercicio, Bimestre = bim, IdSucursal = idsucursal, Ultimo = Convert.ToBoolean(periodoDatos[5]), Especial = Convert.ToBoolean(periodoDatos[6]), IdTipoNominaSat = Convert.ToInt32(periodoDatos[7]), SoloComplemento = soloComplemento, Sindicato = esSindicato, FechaReg = DateTime.Now, IdCliente = idCliente, IdUsuario = idUsuario }; if (tipoNomina == 16) //Asimilado { item.IdTipoNominaSat = 2; //E - extraordinaria } if (item.IdTipoNomina <= 0) { return(false); } ctx.NOM_PeriodosPago.Add(item); var t = ctx.SaveChanges(); int idperiodo = item.IdPeriodoPago; foreach (var p in arrayE) { var peri = new NOM_Empleado_PeriodoPago { IdEmpleado = p, IdPeriodoPago = idperiodo, DiasDescuentoInfonavit = -1 }; ctx.NOM_Empleado_PeriodoPago.Add(peri); ctx.SaveChanges(); } return(true); } catch (Exception e) { return(false); } }