示例#1
0
 public List <Empleado_Infonavit> GetListaInfonavit(int IdEmpleadoContrato)
 {
     using (var context = new RHEntities())
     {
         return(context.Empleado_Infonavit.Where(x => x.IdEmpleadoContrato == IdEmpleadoContrato).ToList());
     }
 }
示例#2
0
 private NOM_PeriodosPago GetPeriodoPagoById(int idPeriodo)
 {
     using (var context = new RHEntities())
     {
         return(context.NOM_PeriodosPago.FirstOrDefault(p => p.IdPeriodoPago == idPeriodo));
     }
 }
示例#3
0
 public List <NOM_PeriodosPago> GetNomPeriodosPagosBySucursal(int idSucursal, int idEjercicio)
 {
     using (var context = new RHEntities())
     {
         return(context.NOM_PeriodosPago.Where(x => x.IdSucursal == idSucursal && x.IdEjercicio == idEjercicio).ToList());
     }
 }
示例#4
0
        public bool cambiarNombre(int idPeriodo, string descripcion)
        {
            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);
                }

                var result = false;
                var item   = context.NOM_PeriodosPago.FirstOrDefault(x => x.IdPeriodoPago == idPeriodo);
                if (item == null)
                {
                    return(false);
                }
                item.Descripcion = descripcion;
                var r = context.SaveChanges();

                if (r > 0)
                {
                    result = true;
                }

                return(result);
            }
        }
示例#5
0
        public List <ModeloSindicato> GetDatosSindicato(int idPeriodo)
        {
            if (idPeriodo <= 0)
            {
                return(null);
            }

            using (var context = new RHEntities())
            {
                var lista = (from ec in context.NOM_Empleado_Sindicato
                             join emp in context.Empleado on ec.IdEmpleado equals emp.IdEmpleado
                             where ec.IdPeriodo == idPeriodo
                             select new ModeloSindicato
                {
                    IdEmpleadoSindicato = ec.IdEmpleadoSindicato,
                    IdEmpleado = ec.IdEmpleado,
                    Paterno = emp.APaterno,
                    Materno = emp.AMaterno,
                    Nombres = emp.Nombres,
                    IdConcepto = ec.IdConcepto,
                    Gravado = ec.Gravado,
                    Exento = ec.Exento,
                    Total = ec.Total
                }).ToList();

                if (lista.Count > 0)
                {
                    return(lista.OrderBy(x => x.Paterno).ToList());
                }
            }

            return(null);
        }
示例#6
0
 public NOM_PeriodosPago GetPeriodoPagoById(int id)
 {
     using (var context = new RHEntities())
     {
         return(context.NOM_PeriodosPago.FirstOrDefault(x => x.IdPeriodoPago == id));
     }
 }
示例#7
0
        public List <EmpleadoNomina> GetEmpleadoByTipoNomina(int IdPeriodicidadPago, int idSucursal, int rfc)
        {
            using (var context = new RHEntities())
            {
                var listaPeriodiciadad = context.C_PeriodicidadPago_SAT.ToList();

                var datos = (from emp in context.Empleado
                             //join con in ctx.Empleado_Contrato
                             //on emp.IdEmpleado equals con.IdEmpleado
                             where emp.IdSucursal == idSucursal /*&& con.IdPeriodicidadPago == IdPeriodicidadPago*/ && emp.RFCValidadoSAT == rfc && emp.Status == true
                             //&& con.Status == true
                             select new EmpleadoNomina
                {
                    idempleado = emp.IdEmpleado,
                    Nombres = emp.Nombres,
                    Paterno = emp.APaterno,
                    Materno = emp.AMaterno,
                    RFC = emp.RFC,
                    Status = emp.Status
                }).ToList();

                var arrayIdEmpleados = datos.Select(x => x.idempleado).ToArray();

                var contratos = (from c in context.Empleado_Contrato
                                 where arrayIdEmpleados.Contains(c.IdEmpleado)
                                 select c).ToList();


                foreach (var itemEmpleado in datos)
                {
                    var itemContrato =
                        contratos.Where(x => x.IdEmpleado == itemEmpleado.idempleado)
                        .OrderByDescending(x => x.IdContrato)
                        .FirstOrDefault();

                    if (itemContrato == null)
                    {
                        continue;
                    }

                    var itemPeriodicidad =
                        listaPeriodiciadad.FirstOrDefault(x => x.IdPeriodicidadPago == itemContrato.IdPeriodicidadPago);

                    itemEmpleado.IdPeriodicidadPago = itemContrato.IdPeriodicidadPago;
                    itemEmpleado.PeriodicidadPago   = itemPeriodicidad.Descripcion;
                    itemEmpleado.FechaAlta          = itemContrato.FechaAlta;

                    if (itemContrato.FechaIMSS != null)
                    {
                        itemEmpleado.FechaAltaImss = itemContrato.FechaIMSS ?? itemContrato.FechaIMSS.Value;
                    }

                    itemEmpleado.FechaAltaReal = itemContrato.FechaReal;
                }



                return(datos);
            }
        }
示例#8
0
        public List <Sucursal> GetSucusalesByIdUsuario(int idUsuario)
        {
            List <Sucursal> lista = new List <Sucursal>();

            using (var context = new RHEntities())
            {
                var itemUsuario = context.SYA_Usuarios.FirstOrDefault(x => x.IdUsuario == idUsuario);

                if (itemUsuario == null)
                {
                    return(null);
                }

                if (itemUsuario.Sucursales == "*")
                {
                    lista = context.Sucursal.ToList();
                }
                else
                {
                    var sucursalesAcceso = itemUsuario.Sucursales.Split(',');
                    var arraySucursales  = sucursalesAcceso.Select(int.Parse).ToArray();
                    lista = (from s in context.Sucursal
                             where arraySucursales.Contains(s.IdSucursal)
                             select s).ToList();
                }
            }

            return(lista);
        }
示例#9
0
        public JsonResult ListaDeRayaByEmpresa(int idEmpresa, int idPeriodo)
        {
            var inci     = new Reportes.Datos.ListaDeRaya();
            var reportes = new Reporte_ListaRaya();


            var ctx     = new RHEntities();
            var periodo = ctx.NOM_PeriodosPago.Where(x => x.IdPeriodoPago == idPeriodo).FirstOrDefault();

            _Incidencias inc             = new _Incidencias();
            var          incidencias2    = inc.GetIncidenciasByPeriodo2(periodo);
            var          listaInicencias = inci.ContadoresIncidencias(incidencias2);

            var      nombreperiodo = periodo.Descripcion;
            DateTime fechaIni      = periodo.Fecha_Inicio;
            DateTime fechaFin      = periodo.Fecha_Fin;
            int      TipoDeNomina  = periodo.IdTipoNomina;
            string   NominaTIpo    = Cat_Sat.GetPeriodicidadPagoById(TipoDeNomina).Descripcion;

            var ruta      = Server.MapPath("~/Files/Autorizacion/");
            var idusuario = SessionHelpers.GetIdUsuario();



            var resultado = reportes.ListaDeRayaPorEmpresa(periodo, false, ruta, idusuario, listaInicencias, idEmpresa);
            var file      = System.IO.File.ReadAllBytes(resultado);

            //return File(file, System.Net.Mime.MediaTypeNames.Application.Octet, "Autorizacion.pdf");
            return(Json(resultado, JsonRequestBehavior.AllowGet));
        }
示例#10
0
        public List <EmpleadosHoras> GetHorasEmpleados(int[] idEmpleados)
        {
            List <HorasExtrasEmpleado> lista;

            using (var context = new RHEntities())
            {
                lista = (from t in context.HorasExtrasEmpleado
                         where idEmpleados.Contains(t.IdEmpleado)
                         select t).ToList();
            }

            List <EmpleadosHoras> listafinal = new List <EmpleadosHoras>();

            foreach (var id in idEmpleados)
            {
                var            cont = lista.Where(x => x.IdEmpleado == id).Sum(x => x.Horas);
                EmpleadosHoras item = new EmpleadosHoras();
                item.IdEmpleado   = id;
                item.HorasTotales = cont;

                listafinal.Add(item);
            }

            return(listafinal);
        }
示例#11
0
 public static List <int> GetTiposNotificacionDepartamento(SYA_Usuarios user)
 {
     using (var context = new RHEntities())
     {
         return(user.IdPerfil == 1 ? context.C_NotificacionTipo.Select(x => x.IdTipo).ToList() : context.Notificacion_Departamento.Where(x => x.IdDepartamento == user.IdDepartamento).Select(x => x.IdTipo).ToList());
     }
 }
示例#12
0
 public decimal GetValorUMA()
 {
     using (var context = new RHEntities())
     {
         return(context.ZonaSalario.Where(x => x.Status == true).Select(x => x.UMA).FirstOrDefault());
     }
 }
示例#13
0
 public ZonaSalario GetZonaSalario()
 {
     using (var context = new RHEntities())
     {
         return(context.ZonaSalario.Where(x => x.Status == true).FirstOrDefault());
     }
 }
示例#14
0
        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);
            }
        }
示例#15
0
        public List <SucursalDatos> GetListaClienteSucursalByIdEmpresa(int idEmpresa)
        {
            using (var context = new RHEntities())
            {
                //Buscar las sucusales que tiene asignada la empresa
                //var listaSucursales =
                //    context.Sucursal_Empresa.Where(x => x.IdEmpresa == idEmpresa)
                //        .Select(x => x.IdSucursal)
                //        .Distinct()
                //        .ToArray();

                var listaSucursales = (from t in context.NOM_CFDI_Timbrado
                                       where t.IdEmisor == idEmpresa
                                       select t.IdSucursal).ToList();

                var listaClientes = (from s in context.Sucursal
                                     join c in context.Cliente on s.IdCliente equals c.IdCliente
                                     where listaSucursales.Contains(s.IdSucursal)
                                     select new SucursalDatos {
                    IdSucursal = s.IdSucursal, Nombre = c.Nombre, Ciudad = s.Ciudad, IdCliente = c.IdCliente
                }).ToList();


                listaClientes = listaClientes.OrderBy(x => x.Nombre).ToList();

                return(listaClientes);
            }
        }
示例#16
0
        public void EliminarComplemento(int[] arrayAjuste, int idPeriodo)
        {
            if (arrayAjuste == null)
            {
                return;
            }

            if (arrayAjuste.Length <= 0)
            {
                return;
            }

            var ids = string.Join(",", arrayAjuste);

            using (var context = new RHEntities())
            {
                var periodo = context.NOM_PeriodosPago.FirstOrDefault(x => x.IdPeriodoPago == idPeriodo);


                if (periodo == null)
                {
                    return;
                }

                if (periodo.Autorizado == true)
                {
                    return;
                }


                var sqlQuery = "DELETE [NOM_Empleado_Complemento] WHERE [IdEmpleadoComplemento] in  (" + ids + ")";
                context.Database.ExecuteSqlCommand(sqlQuery);
            }
        }
示例#17
0
 public List <NOM_PeriodosPago> GetPeriodosPagoBySucursal(int id)
 {
     using (var context = new RHEntities())
     {
         return(context.NOM_PeriodosPago.Where(x => x.IdSucursal == id).ToList());
     }
 }
示例#18
0
        public bool Puesto(int idEmpleado, int?puesto, int?puestoNuevo, int idUser)
        {
            bool result = false;

            try
            {
                using (var context = new RHEntities())
                {
                    Kardex kardex = new Kardex();
                    kardex.IdEmpleado = idEmpleado;
                    kardex.Fecha      = DateTime.Now;
                    kardex.IdUsuario  = idUser;
                    var PuestoAnterior = context.Puesto.FirstOrDefault(x => x.IdPuesto == puesto);
                    var PuestoNuevo    = context.Puesto.FirstOrDefault(x => x.IdPuesto == puestoNuevo);
                    kardex.ValorAnterior = PuestoAnterior.Descripcion;
                    kardex.ValorNuevo    = PuestoNuevo.Descripcion;
                    kardex.Tipo          = (int)TipoKardex.Puesto;
                    context.Kardex.Add(kardex);
                    context.SaveChanges();
                    result = true;
                }
            }
            catch (Exception e)
            {
                result = false;
            }
            return(result);
        }
示例#19
0
        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);
            }
        }
示例#20
0
        public List <MovimientosViewModel> MovimientosRecientes(DateTime fecha)
        {
            ControlUsuario cu = new ControlUsuario();

            int[] sucursales = cu.GetSucursalesUsuario(ControlAcceso.GetUsuarioEnSession());
            using (var context = new RHEntities())
            {
                return((from k in context.Kardex
                        join emp in context.Empleado on k.IdEmpleado equals emp.IdEmpleado
                        join con in context.Empleado_Contrato on emp.IdEmpleado equals con.IdEmpleado
                        join s in context.Sucursal on emp.IdSucursal equals s.IdSucursal
                        join c in context.Cliente on s.IdCliente equals c.IdCliente
                        join e in context.Empresa on con.IdEmpresaFiscal equals e.IdEmpresa
                        where k.Fecha >= fecha && k.Tipo != 5 && k.Tipo != 6 && k.Tipo != 4 && sucursales.Contains(s.IdSucursal)
                        select new MovimientosViewModel
                {
                    IdEmpleado = emp.IdEmpleado,
                    Nombres = emp.Nombres,
                    Paterno = emp.APaterno,
                    Materno = emp.AMaterno,
                    Fecha = k.Fecha,
                    Cliente = c.Nombre,
                    Empresa = e.RazonSocial,
                    IdTipoMovimiento = k.Tipo,
                }
                        ).ToList());
            }
        }
示例#21
0
        public bool UpdatePeriodoPago(NOM_PeriodosPago updatedModel)
        {
            using (var context = new RHEntities())
            {
                //Validar periodo
                var itemPeriodo = context.NOM_PeriodosPago.FirstOrDefault(x => x.IdPeriodoPago == updatedModel.IdPeriodoPago);

                //Si el periodo ya esta autorizado, ya no se podrá hacer cambios
                if (itemPeriodo.Autorizado == true)
                {
                    return(false);
                }

                var old = GetPeriodoPagoById(updatedModel.IdPeriodoPago);
                if (old == null)
                {
                    return(false);
                }
                updatedModel.Fecha_Pago = updatedModel.Fecha_Fin;
                updatedModel.FechaMod   = DateTime.Now;

                context.Entry(old).CurrentValues.SetValues(updatedModel);
                var result = context.SaveChanges();
                return(result > 0 ? true : false);
            }
        }
示例#22
0
 public List <DatosEmpleado> BuscarMovimientos(DateTime fechaini, DateTime fechafin, int tipo, int Empresa)
 {
     using (var context = new RHEntities())
     {
         return((from k in context.Kardex
                 join emp in context.Empleado on k.IdEmpleado equals emp.IdEmpleado
                 join con in context.Empleado_Contrato on emp.IdEmpleado equals con.IdEmpleado
                 join s in context.Sucursal on emp.IdSucursal equals s.IdSucursal
                 join c in context.Cliente on s.IdCliente equals c.IdCliente
                 where
                 k.Tipo == tipo && (k.Fecha >= fechaini && k.Fecha <= fechafin) && con.IdEmpresaFiscal == Empresa &&
                 con.Status == true
                 select new DatosEmpleado
         {
             IdEmpleado = emp.IdEmpleado,
             NSS = emp.NSS,
             CURP = emp.CURP,
             Nombres = emp.Nombres,
             Paterno = emp.APaterno,
             Materno = emp.AMaterno,
             FechaMovimiento = k.Fecha,
             Cliente = c.Nombre
         }
                 ).ToList());
     }
 }
示例#23
0
文件: Empresas.cs 项目: IsraelBV/SUN
 public List <Empresa> GetAllEmpresas()
 {
     using (var context = new RHEntities())
     {
         return(context.Empresa.ToList());
     }
 }
示例#24
0
        public string GenerarPlantillaContrato(int idPlantilla, int[] empleados)
        {
            Plantillas p    = new Plantillas();
            RHEntities ctx  = new RHEntities();
            var        tipo = ctx.Plantilla.Where(x => x.Id == idPlantilla).Select(x => x.Tipo).FirstOrDefault();

            if (tipo == 1)
            {
                return(p.FormarPlantilla(idPlantilla, (int)TipoPlantilla.Contrato, empleados));
            }
            else if (tipo == 7)
            {
                return(p.FormarPlantilla(idPlantilla, (int)TipoPlantilla.MovimientoPersonal, empleados));
            }
            else if (tipo == 8)
            {
                return(p.FormarPlantilla(idPlantilla, (int)TipoPlantilla.CartaAntiguedad, empleados));
            }
            else if (tipo == 9)
            {
                return(p.FormarPlantilla(idPlantilla, (int)TipoPlantilla.GastosMedicosMenores, empleados));
            }
            else if (tipo == 10)
            {
                return(p.FormarPlantilla(idPlantilla, (int)TipoPlantilla.Sindicato, empleados));
            }

            else
            {
                return("false");
            }
        }
示例#25
0
        private int[] ValidarRecibosCancelados(int[] arrayIdTimbrados)
        {
            using (var context = new RHEntities())
            {
                //Buscamos en la Tabla los id timbrados contenidas en el array
                //pero que hayan sido timbrados y que ya haya sido cancelados
                int[] listaTimbradosCancelados = { };


                listaTimbradosCancelados = (from t in context.NOM_CFDI_Timbrado
                                            where arrayIdTimbrados.Contains(t.IdNomina) &&
                                            t.Cancelado == true
                                            select t.IdNomina).ToArray();



                //Si la lista timbrados no contiene elementos, entonces
                //retornamos el array inicial para que se timbren nuevamente
                if (listaTimbradosCancelados.Length <= 0)
                {
                    return(arrayIdTimbrados);
                }

                //Filtra ambas lista para que solo se retorne los id de timbres que no esten cancelados
                var nuevoArray = arrayIdTimbrados.Where(x => !listaTimbradosCancelados.Contains(x)).ToArray();

                return(nuevoArray); //retorna un nuevo array de idTimbrados filtradas
            }
        }
示例#26
0
        public bool InsertarSucursalReciente(int IdSucursal)
        {
            bool result = false;

            var usuario = SessionHelpers.GetIdUsuario();

            SYA_Recientes sucursalReciente = new SYA_Recientes();

            sucursalReciente.IdSucursal = IdSucursal;

            sucursalReciente.IdUsuario = usuario;

            var date = DateTime.Now;

            sucursalReciente.FechaIngreso = date;

            using (var context = new RHEntities())
            {
                context.SYA_Recientes.Add(sucursalReciente);

                int response = context.SaveChanges();

                if (response > 0)
                {
                    result = true;
                }
            }

            return(result);
        }
示例#27
0
 public List <NOM_Ejercicio_Fiscal> GetEjercicioFiscales()
 {
     using (var context = new RHEntities())
     {
         return(context.NOM_Ejercicio_Fiscal.ToList());
     }
 }
示例#28
0
        public List <SucursalesEmpresa> ListSucEmp(int idsucursal)
        {
            using (var context = new RHEntities())
            {
                var datos = (from empresa in context.Empresa.AsEnumerable()
                             join sucursal in context.Sucursal_Empresa.AsEnumerable()
                             on empresa.IdEmpresa equals sucursal.IdEmpresa
                             where sucursal.IdSucursal == idsucursal

                             select new SucursalesEmpresa
                {
                    IdTabla = empresa.IdEmpresa,
                    Nombre = empresa.RazonSocial,
                    ClaveContable = sucursal.Clave_Contable,
                    CP = empresa.CP,
                    Estado =
                        Convert.ToString(
                            context.C_Estado.Where(x => x.IdEstado == empresa.IdEstado)
                            .Select(x => x.Descripcion)
                            .FirstOrDefault()),
                    Municipio = empresa.Municipio,
                    Colonia = empresa.Colonia,
                    Calle = empresa.Calle,
                    NoExt = empresa.NoExt,
                    RFC = empresa.RFC,
                    RP = empresa.RegistroPatronal,
                    PrimaRiesgo = empresa.PrimaRiesgo == null ? 0 : empresa.PrimaRiesgo.Value
                }).ToList();
                return(datos.DistinctBy(x => x.Nombre).ToList());
            }
        }
示例#29
0
        public List <DatosTimbradoCancelacion> GetTimbradosByIdPeriodo(int idPeriodo)
        {
            using (var context = new RHEntities())
            {
                var lista = (from tc in context.NOM_CFDI_Timbrado
                             join e in context.Empleado on tc.IdReceptor equals e.IdEmpleado
                             where tc.IdPeriodo == idPeriodo &&
                             tc.ErrorTimbrado == false &&
                             tc.Cancelado == false &&
                             tc.FolioFiscalUUID != null
                             select new DatosTimbradoCancelacion()
                {
                    IdTimbrado = tc.IdTimbrado,
                    IdEmisor = tc.IdEmisor,
                    Paterno = e.APaterno,
                    Materno = e.AMaterno,
                    Nombres = e.Nombres,
                    IdNomina = tc.IdNomina,
                    IdFiniquito = tc.IdFiniquito,
                    Total = tc.TotalRecibo,
                    FolioFiscal = tc.FolioFiscalUUID,
                    FechaTimbrado = tc.FechaCertificacion.Value,
                    RfcEmisor = tc.RFCEmisor,
                    RfcReceptor = tc.RFCReceptor,
                    IdUsuarioTimbro = tc.UsuarioTimbro ?? 0
                }).ToList();

                if (lista.Count > 0)
                {
                    lista = lista.OrderBy(x => x.Paterno).ToList();
                }

                return(lista);
            }
        }
示例#30
0
        //SAVE Primas
        //solo si el periodo no esta autorizado
        public int SavePrimaVacacional(NOM_Nomina_PrimaVacacional itemNuevo, int idPeriodo)
        {
            using (var context = new RHEntities())
            {
                var item = context.NOM_PeriodosPago.FirstOrDefault(x => x.IdPeriodoPago == idPeriodo);

                if (item == null)
                {
                    return(0);
                }

                if (item.Autorizado == true)
                {
                    return(0);
                }

                context.NOM_Nomina_PrimaVacacional.Add(itemNuevo);
                var r = context.SaveChanges();

                if (r > 0)
                {
                    return(itemNuevo.Id);
                }

                return(0);
            }
        }