public void GuardarRelojDefectuoso(DateTime fechareloj, TimeSpan horadesde, TimeSpan horahasta, bool jornadacompleta)
        {
            try
            {
                using (var contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    var reloj = new AccesoDatos.RelojDefectuoso();
                    reloj.Fecha = fechareloj;
                    if (jornadacompleta) reloj.JornadaCompleta = true;
                    else
                    {
                        reloj.HoraDesde = horadesde;
                        reloj.HoraHasta = horahasta;
                    }

                    contexto.RelojDefectuosos.Add(reloj);
                    contexto.SaveChanges();
                }
            }
            catch (Exception)
            {

                throw;
            }
        }
        public IEnumerable<PerfilControlDTO> ObtenerControlesNoAsignados(long perfilId, string cadenaBuscar)
        {
            try
            {
                using (var _context = new AccesoDatos.ModeloBometricoContainer())
                {
                    var resultadoAsignados = _context.Perfiles
                        .Find(perfilId)
                        .Controles
                        .ToList();

                    var resultadoControls = _context.Controles.ToList();

                    var resultado = resultadoControls.Except(resultadoAsignados);

                    return resultado
                        .Where(x => x.Descripcion.Contains(cadenaBuscar)
                        || x.Formulario.Descripcion.Contains(cadenaBuscar))
                        .Select(x => new PerfilControlDTO
                        {
                            ControlId = x.Id,
                            Descripcion = x.Descripcion,
                            Formulario = x.Formulario.Descripcion,
                            Item = false
                        }).ToList();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public void GuardarConfiguracion(TimeSpan entrada, TimeSpan salida, int lactancia, int minutostarde, int minutosausente)
        {
            try
            {
                using (var contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    var _confi = new AccesoDatos.Configuracion();

                    _confi.HoraEntradaPorDefecto = entrada;
                    _confi.HoraSalidaPorDefecto = salida;
                    _confi.MinutosLactancia = lactancia;
                    _confi.MinutosToleranciaLlegadaTarde = minutostarde;
                    _confi.MinutosToleranciaAusente = minutosausente;
                    //_confi.EstaAplicado = false;
                    contexto.Configuraciones.Add(_confi);
                    contexto.SaveChanges();

                }
            }
            catch (Exception)
            {

                throw;
            }
        }
Beispiel #4
0
        public IEnumerable <AgenteSubSectorDTO> ObtenerAgentesNoAsignados(long subSectorId, string cadenaBuscar)
        {
            try
            {
                using (var _context = new AccesoDatos.ModeloBometricoContainer())
                {
                    var resultadoAsignados = _context.SubSectores
                                             .Find(subSectorId)
                                             .Agentes
                                             .ToList();

                    var resultadoAgentes = _context.Agentes.ToList();

                    var resultado = resultadoAgentes.Except(resultadoAsignados);

                    return(resultado
                           .Where(x => x.Apellido.Contains(cadenaBuscar) ||
                                  x.Nombre.Contains(cadenaBuscar) ||
                                  x.Legajo == cadenaBuscar ||
                                  x.DNI == cadenaBuscar)
                           .Select(x => new AgenteSubSectorDTO
                    {
                        AgenteId = x.Id,
                        Legajo = x.Legajo,
                        ApyNom = x.Apellido + " " + x.Nombre,
                        Dni = x.DNI,
                    }).ToList());
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public IEnumerable<PerfilUsuarioDTO> ObtenerUsuariosAsignados(long perfilId, string cadenaBuscar)
        {
            try
            {
                using (var _context = new AccesoDatos.ModeloBometricoContainer())
                {
                    var resultado = _context.Perfiles
                        .Find(perfilId)
                        .Usuarios
                        .Where(x => x.Nombre.Contains(cadenaBuscar)
                        || x.Agente.Legajo == cadenaBuscar
                        || x.Agente.Apellido.Contains(cadenaBuscar)
                        || x.Agente.Nombre.Contains(cadenaBuscar))
                        .Select(x => new PerfilUsuarioDTO
                        {
                            UsuarioId = x.Id,
                            ApyNom = x.Agente.Apellido + " " + x.Agente.Nombre,
                            Dni = x.Agente.DNI,
                            Legajo = x.Agente.Legajo,
                            NombreUsuario = x.Nombre,
                            EstaBloqueado = x.EstaBloqueado ? "SI" : "NO"
                        }).ToList();

                    return resultado;
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #6
0
        public void BloquearUsuario(List <UsuarioDTO> listaUsuarios)
        {
            using (var tran = new TransactionScope())
            {
                try
                {
                    using (var _context = new AccesoDatos.ModeloBometricoContainer())
                    {
                        foreach (var usuario in listaUsuarios
                                 .Where(x => x.Item && x.Id.HasValue))
                        {
                            var usuarioBloquear = _context.Usuarios.Find(usuario.Id.Value);

                            usuarioBloquear.EstaBloqueado = !usuarioBloquear.EstaBloqueado;
                        }

                        _context.SaveChanges();
                    }

                    tran.Complete();
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
Beispiel #7
0
        public IEnumerable <PerfilUsuarioDTO> ObtenerUsuariosAsignados(long perfilId, string cadenaBuscar)
        {
            try
            {
                using (var _context = new AccesoDatos.ModeloBometricoContainer())
                {
                    var resultado = _context.Perfiles
                                    .Find(perfilId)
                                    .Usuarios
                                    .Where(x => x.Nombre.Contains(cadenaBuscar) ||
                                           x.Agente.Legajo == cadenaBuscar ||
                                           x.Agente.Apellido.Contains(cadenaBuscar) ||
                                           x.Agente.Nombre.Contains(cadenaBuscar))
                                    .Select(x => new PerfilUsuarioDTO
                    {
                        UsuarioId     = x.Id,
                        ApyNom        = x.Agente.Apellido + " " + x.Agente.Nombre,
                        Dni           = x.Agente.DNI,
                        Legajo        = x.Agente.Legajo,
                        NombreUsuario = x.Nombre,
                        EstaBloqueado = x.EstaBloqueado ? "SI" : "NO"
                    }).ToList();

                    return(resultado);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #8
0
        public void ResetearPassword(List <UsuarioDTO> listaUsuarios)
        {
            using (var tran = new TransactionScope())
            {
                try
                {
                    using (var _context = new AccesoDatos.ModeloBometricoContainer())
                    {
                        foreach (var usuario in listaUsuarios
                                 .Where(x => x.Item && x.Id.HasValue))
                        {
                            var usuarioBloquear = _context.Usuarios.Find(usuario.Id.Value);

                            usuarioBloquear.Password = ConstantesSeguridad.PasswordPorDefecto();
                        }

                        _context.SaveChanges();
                    }

                    tran.Complete();
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
Beispiel #9
0
        public void BloquearUsuario(string nombreUsuario)
        {
            using (var tran = new TransactionScope())
            {
                try
                {
                    using (var _context = new AccesoDatos.ModeloBometricoContainer())
                    {
                        var usuarioBloquear = _context.Usuarios.FirstOrDefault(x => x.Nombre == nombreUsuario);

                        if (usuarioBloquear == null)
                        {
                            throw new Exception("Ocurrio un error al bloquear el usuarios.");
                        }

                        usuarioBloquear.EstaBloqueado = !usuarioBloquear.EstaBloqueado;

                        _context.SaveChanges();
                    }

                    tran.Complete();
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
Beispiel #10
0
        public void BloquearUsuario(List<UsuarioDTO> listaUsuarios)
        {
            using (var tran = new TransactionScope())
            {
                try
                {
                    using (var _context = new AccesoDatos.ModeloBometricoContainer())
                    {
                        foreach (var usuario in listaUsuarios
                            .Where(x => x.Item && x.Id.HasValue))
                        {
                            var usuarioBloquear = _context.Usuarios.Find(usuario.Id.Value);

                            usuarioBloquear.EstaBloqueado = !usuarioBloquear.EstaBloqueado;

                        }

                        _context.SaveChanges();
                    }

                    tran.Complete();
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
Beispiel #11
0
        public void BloquearUsuario(string nombreUsuario)
        {
            using (var tran = new TransactionScope())
            {
                try
                {
                    using (var _context = new AccesoDatos.ModeloBometricoContainer())
                    {
                        var usuarioBloquear = _context.Usuarios.FirstOrDefault(x => x.Nombre == nombreUsuario);

                        if (usuarioBloquear == null) throw new Exception("Ocurrio un error al bloquear el usuarios.");

                        usuarioBloquear.EstaBloqueado = !usuarioBloquear.EstaBloqueado;

                        _context.SaveChanges();
                    }

                    tran.Complete();
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
        public IEnumerable<AgenteSubSectorDTO> ObtenerAgentesNoAsignados(long subSectorId, string cadenaBuscar)
        {
            try
            {
                using (var _context = new AccesoDatos.ModeloBometricoContainer())
                {
                    var resultadoAsignados = _context.SubSectores
                        .Find(subSectorId)
                        .Agentes
                        .ToList();

                    var resultadoAgentes = _context.Agentes.ToList();

                    var resultado = resultadoAgentes.Except(resultadoAsignados);

                    return resultado
                        .Where(x => x.Apellido.Contains(cadenaBuscar)
                        || x.Nombre.Contains(cadenaBuscar)
                        || x.Legajo == cadenaBuscar
                        || x.DNI == cadenaBuscar)
                        .Select(x => new AgenteSubSectorDTO
                        {
                            AgenteId = x.Id,
                            Legajo = x.Legajo,
                            ApyNom = x.Apellido + " " + x.Nombre,
                            Dni = x.DNI,
                        }).ToList();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public void GuardarRelojDefectuoso(DateTime fechareloj, TimeSpan horadesde, TimeSpan horahasta, bool jornadacompleta)
        {
            try
            {
                using (var contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    var reloj = new AccesoDatos.RelojDefectuoso();
                    reloj.Fecha = fechareloj;
                    if (jornadacompleta)
                    {
                        reloj.JornadaCompleta = true;
                    }
                    else
                    {
                        reloj.HoraDesde = horadesde;
                        reloj.HoraHasta = horahasta;
                    }

                    contexto.RelojDefectuosos.Add(reloj);
                    contexto.SaveChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #14
0
        public IEnumerable <PerfilControlDTO> ObtenerControlesNoAsignados(long perfilId, string cadenaBuscar)
        {
            try
            {
                using (var _context = new AccesoDatos.ModeloBometricoContainer())
                {
                    var resultadoAsignados = _context.Perfiles
                                             .Find(perfilId)
                                             .Controles
                                             .ToList();

                    var resultadoControls = _context.Controles.ToList();

                    var resultado = resultadoControls.Except(resultadoAsignados);

                    return(resultado
                           .Where(x => x.Descripcion.Contains(cadenaBuscar) ||
                                  x.Formulario.Descripcion.Contains(cadenaBuscar))
                           .Select(x => new PerfilControlDTO
                    {
                        ControlId = x.Id,
                        Descripcion = x.Descripcion,
                        Formulario = x.Formulario.Descripcion,
                        Item = false
                    }).ToList());
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public IEnumerable<PerfilFormularioDTO> ObtenerFormulariosNoAsignados(long perfilId, string cadenaBuscar)
        {
            try
            {
                using (var _context = new AccesoDatos.ModeloBometricoContainer())
                {
                    var resultadoAsignados = _context.Perfiles
                        .Find(perfilId)
                        .Formularios
                        .ToList();

                    var resultadoFormularios = _context.Formularios.ToList();

                    var resultado = resultadoFormularios.Except(resultadoAsignados);

                    return resultado
                        .Where(x => x.Descripcion.Contains(cadenaBuscar)
                        || x.Codigo == cadenaBuscar
                        || x.DescripcionCompleta.Contains(cadenaBuscar))
                        .Select(x => new PerfilFormularioDTO
                        {
                            Item = false,
                            FormularioId = x.Id,
                            Descripcion = x.Descripcion,
                            DescripcionCompleta = x.DescripcionCompleta,
                        }).ToList();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public IEnumerable <PerfilFormularioDTO> ObtenerFormulariosNoAsignados(long perfilId, string cadenaBuscar)
        {
            try
            {
                using (var _context = new AccesoDatos.ModeloBometricoContainer())
                {
                    var resultadoAsignados = _context.Perfiles
                                             .Find(perfilId)
                                             .Formularios
                                             .ToList();

                    var resultadoFormularios = _context.Formularios.ToList();

                    var resultado = resultadoFormularios.Except(resultadoAsignados);

                    return(resultado
                           .Where(x => x.Descripcion.Contains(cadenaBuscar) ||
                                  x.Codigo == cadenaBuscar ||
                                  x.DescripcionCompleta.Contains(cadenaBuscar))
                           .Select(x => new PerfilFormularioDTO
                    {
                        Item = false,
                        FormularioId = x.Id,
                        Descripcion = x.Descripcion,
                        DescripcionCompleta = x.DescripcionCompleta,
                    }).ToList());
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #17
0
        public bool VerificarIngreso(string nombreUsuario, string password)
        {
            using (var _context = new AccesoDatos.ModeloBometricoContainer())
            {
                var _password = Usuario.ConstantesSeguridad.EncriptarCadena(password);
                var resultado = _context.Usuarios
                                .Any(x => x.Nombre == nombreUsuario && x.Password == _password);

                return(resultado);
            }
        }
Beispiel #18
0
        public bool VerificarIngreso(string nombreUsuario, string password)
        {
            using (var _context = new AccesoDatos.ModeloBometricoContainer())
            {
                var _password = Usuario.ConstantesSeguridad.EncriptarCadena(password);
                var resultado = _context.Usuarios
                    .Any(x => x.Nombre == nombreUsuario && x.Password == _password);

                return resultado;
            }
        }
Beispiel #19
0
 public bool HayRegistros()
 {
     try
     {
         using (var contexto = new AccesoDatos.ModeloBometricoContainer())
         {
             return(contexto.Configuraciones.Any());
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #20
0
 public AccesoDatos.Configuracion ObtenerUltimaConfiguracion()
 {
     try
     {
         using (var contexto = new AccesoDatos.ModeloBometricoContainer())
         {
             return(contexto.Configuraciones.OrderByDescending(x => x.Id).FirstOrDefault());
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #21
0
        public void CambiarPassword(long usuarioId, string passwordNuevo)
        {
            try
            {
                using (var _contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    var _usuario = _contexto.Usuarios.Find(usuarioId);

                    _usuario.Password = ConstantesSeguridad.EncriptarCadena(passwordNuevo);

                    _contexto.SaveChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #22
0
        public bool CrearUsuarios(List <UsuarioDTO> listaAgentes)
        {
            var esOperacionCompleta = false;

            using (var contexto = new AccesoDatos.ModeloBometricoContainer())
            {
                using (var tran = new TransactionScope())
                {
                    try
                    {
                        foreach (var agente in listaAgentes.Where(x => x.Item &&
                                                                  x.Usuario == "NO ASIGNADO").ToList())
                        {
                            var nombreUsuario = ObtenerNombreUsuario(agente);

                            contexto.Usuarios.Add(new AccesoDatos.Usuario
                            {
                                AgenteId      = agente.AgenteId,
                                EstaBloqueado = false,
                                Nombre        = nombreUsuario,
                                Password      = ConstantesSeguridad.PasswordPorDefecto()
                            });

                            if (!esOperacionCompleta)
                            {
                                esOperacionCompleta = true;
                            }
                        }

                        contexto.SaveChanges();

                        tran.Complete();
                    }
                    catch
                    {
                        esOperacionCompleta = false;
                        throw;
                    }
                }
            }

            return(esOperacionCompleta);
        }
        public static bool TienePermiso(string nombreFormulario, string nombreUsuario)
        {
            try
            {
                if (ConstantesSeguridad.UsuarioAdministrador == nombreUsuario)
                    return true;

                using (var _contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    var _formularios = _contexto.Perfiles.
                        Any((x => x.Formularios.Any(f => f.Descripcion == nombreFormulario)
                        && x.Usuarios.Any(u => u.Nombre == nombreUsuario)));

                    return _formularios;
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        private static bool TieneAccesoAlControl(string nombreUsuario, string nombreControl)
        {
            try
            {
                if (nombreUsuario == ConstantesSeguridad.UsuarioAdministrador)
                {
                    return(true);
                }

                using (var _contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    return(_contexto.Perfiles
                           .Any(x => x.Usuarios.Any(u => u.Nombre == nombreUsuario) &&
                                x.Controles.Any(c => c.Formulario.Descripcion == _formulario.Name &&
                                                c.Descripcion == nombreControl)));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #25
0
        public void AsignarUsuarios(List <long> usuarioIds, long perfilId)
        {
            using (var _contexto = new AccesoDatos.ModeloBometricoContainer())
            {
                try
                {
                    var _perfil = _contexto.Perfiles.Find(perfilId);

                    foreach (var usuarioId in usuarioIds)
                    {
                        var _usuario = _contexto.Usuarios.Find(usuarioId);

                        _perfil.Usuarios.Add(_usuario);
                    }

                    _contexto.SaveChanges();
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
        public void AsignarAgentes(List<long> AgentesIds, long subSectorId)
        {
            using (var _contexto = new AccesoDatos.ModeloBometricoContainer())
            {
                try
                {
                    var _subSector = _contexto.SubSectores.Find(subSectorId);

                    foreach (var agenteId in AgentesIds)
                    {
                        var _agente = _contexto.Agentes.Find(agenteId);

                        _subSector.Agentes.Add(_agente);
                    }

                    _contexto.SaveChanges();
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
Beispiel #27
0
        public void AsignarAgentes(List <long> AgentesIds, long subSectorId)
        {
            using (var _contexto = new AccesoDatos.ModeloBometricoContainer())
            {
                try
                {
                    var _subSector = _contexto.SubSectores.Find(subSectorId);

                    foreach (var agenteId in AgentesIds)
                    {
                        var _agente = _contexto.Agentes.Find(agenteId);

                        _subSector.Agentes.Add(_agente);
                    }

                    _contexto.SaveChanges();
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
Beispiel #28
0
        public void GuardarConfiguracion(TimeSpan entrada, TimeSpan salida, int lactancia, int minutostarde, int minutosausente)
        {
            try
            {
                using (var contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    var _confi = new AccesoDatos.Configuracion();

                    _confi.HoraEntradaPorDefecto         = entrada;
                    _confi.HoraSalidaPorDefecto          = salida;
                    _confi.MinutosLactancia              = lactancia;
                    _confi.MinutosToleranciaLlegadaTarde = minutostarde;
                    _confi.MinutosToleranciaAusente      = minutosausente;
                    //_confi.EstaAplicado = false;
                    contexto.Configuraciones.Add(_confi);
                    contexto.SaveChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public void AsignarFormularios(List<long> FormularioIds, long perfilId)
        {
            using (var _contexto = new AccesoDatos.ModeloBometricoContainer())
            {
                try
                {
                    var _perfil = _contexto.Perfiles.Find(perfilId);

                    foreach (var FormularioId in FormularioIds)
                    {
                        var _Formulario = _contexto.Formularios.Find(FormularioId);

                        _perfil.Formularios.Add(_Formulario);
                    }

                    _contexto.SaveChanges();
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
Beispiel #30
0
        public void QuitarControles(List <long> ControlIds, long perfilId)
        {
            try
            {
                using (var _contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    var _perfil = _contexto.Perfiles.Find(perfilId);

                    foreach (var ControlId in ControlIds)
                    {
                        var _Control = _contexto.Controles.Find(ControlId);

                        _perfil.Controles.Remove(_Control);
                    }

                    _contexto.SaveChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public void AsignarControles(List<long> ControlIds, long perfilId)
        {
            using (var _contexto = new AccesoDatos.ModeloBometricoContainer())
            {
                try
                {
                    var _perfil = _contexto.Perfiles.Find(perfilId);

                    foreach (var ControlId in ControlIds)
                    {
                        var _Control = _contexto.Controles.Find(ControlId);

                        _perfil.Controles.Add(_Control);
                    }

                    _contexto.SaveChanges();
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
        public void QuitarFormularios(List <long> FormularioIds, long perfilId)
        {
            try
            {
                using (var _contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    var _perfil = _contexto.Perfiles.Find(perfilId);

                    foreach (var FormularioId in FormularioIds)
                    {
                        var _Formulario = _contexto.Formularios.Find(FormularioId);

                        _perfil.Formularios.Remove(_Formulario);
                    }

                    _contexto.SaveChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #33
0
        private string ObtenerNombreUsuario(UsuarioDTO agente)
        {
            int _cantidadCaracteres = 1;
            int _contador           = 1;

            var _nombreUsuario = string.Format("{0}{1}",
                                               agente.Nombre.Trim().Substring(0, _cantidadCaracteres),
                                               agente.Apellido.Trim()).ToUpper();

            using (var contexto = new AccesoDatos.ModeloBometricoContainer())
            {
                while (contexto.Usuarios
                       .Any(x => x.Nombre == _nombreUsuario))
                {
                    _cantidadCaracteres++;

                    if (_cantidadCaracteres <=
                        (agente.Nombre.Trim() + agente.Apellido.Trim()).Length)
                    {
                        _nombreUsuario = string.Format("{0}{1}",
                                                       agente.Nombre.Trim().Substring(0, _cantidadCaracteres),
                                                       agente.Apellido.Trim()).ToUpper();
                    }
                    else
                    {
                        _nombreUsuario = (agente.Nombre.Trim()
                                          + agente.Apellido.Trim()
                                          + _contador.ToString()).ToUpper();

                        _contador++;
                    }
                }
            }

            return(_nombreUsuario);
        }
Beispiel #34
0
        public void ResetearPassword(List<UsuarioDTO> listaUsuarios)
        {
            using (var tran = new TransactionScope())
            {
                try
                {
                    using (var _context = new AccesoDatos.ModeloBometricoContainer())
                    {
                        foreach (var usuario in listaUsuarios
                            .Where(x => x.Item && x.Id.HasValue))
                        {
                            var usuarioBloquear = _context.Usuarios.Find(usuario.Id.Value);

                            usuarioBloquear.Password = ConstantesSeguridad.PasswordPorDefecto();
                        }

                        _context.SaveChanges();
                    }

                    tran.Complete();
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
Beispiel #35
0
 public ServicioUsuario()
 {
     this.contexto = new AccesoDatos.ModeloBometricoContainer();
 }
        public IEnumerable <RelojDefectuosoDTO> ObtenerListadodeRelojDefectuoso(DateTime fechareloj, bool jornadacompleta, TimeSpan horadesde, TimeSpan horahasta)
        {
            try
            {
                using (var contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    List <RelojDefectuosoDTO> listafinal = new List <RelojDefectuosoDTO>();
                    var diaDefectuoso = fechareloj.ToString("dddd").ToUpper();

                    foreach (var agente in contexto.Agentes)
                    {
                        var listahorarios = agente.Horarios.Where(x => fechareloj.Date >= x.FechaDesde.Date && (fechareloj.Date <= x.FechaHasta || x.FechaHasta == null)).OrderByDescending(x => x.FechaActualizacion);



                        var ultimohorario = listahorarios.FirstOrDefault();


                        if (ultimohorario != null)
                        {
                            var listaultimohorario = listahorarios.Where(x => x.FechaActualizacion == ultimohorario.FechaActualizacion);


                            if (diaDefectuoso == "LUNES")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Lunes);

                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);
                            }
                            else if (diaDefectuoso == "MARTES")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Martes);
                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);
                            }
                            else if (diaDefectuoso == "MIÉRCOLES")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Miercoles);
                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);
                            }
                            else if (diaDefectuoso == "JUEVES")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Jueves);
                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);
                            }
                            else if (diaDefectuoso == "VIERNES")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Viernes);
                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);
                            }
                            else if (diaDefectuoso == "SÁBADO")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Sabado);
                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);
                            }
                            else if (diaDefectuoso == "DOMINGO")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Domingo);
                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);
                            }
                        }
                    }
                    return(listafinal.ToList());
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public void QuitarUsuarios(List<long> usuarioIds, long perfilId)
        {
            try
            {
                using (var _contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    var _perfil = _contexto.Perfiles.Find(perfilId);

                    foreach (var usuarioId in usuarioIds)
                    {
                        var _usuario = _contexto.Usuarios.Find(usuarioId);

                        _perfil.Usuarios.Remove(_usuario);
                    }

                    _contexto.SaveChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #38
0
 public ServicioUsuario()
 {
     this.contexto = new AccesoDatos.ModeloBometricoContainer();
 }
        public bool HayRegistros()
        {
            try
            {
                using (var contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    return contexto.Configuraciones.Any();
                }
            }
            catch (Exception)
            {

                throw;
            }
        }
Beispiel #40
0
        public void CambiarPassword(long usuarioId, string passwordNuevo)
        {
            try
            {
                using (var _contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    var _usuario = _contexto.Usuarios.Find(usuarioId);

                    _usuario.Password = ConstantesSeguridad.EncriptarCadena(passwordNuevo);

                    _contexto.SaveChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #41
0
        private string ObtenerNombreUsuario(UsuarioDTO agente)
        {
            int _cantidadCaracteres = 1;
            int _contador = 1;

            var _nombreUsuario = string.Format("{0}{1}",
                    agente.Nombre.Trim().Substring(0, _cantidadCaracteres),
                    agente.Apellido.Trim()).ToUpper();

            using (var contexto = new AccesoDatos.ModeloBometricoContainer())
            {
                while (contexto.Usuarios
                    .Any(x=>x.Nombre == _nombreUsuario))
                {
                    _cantidadCaracteres++;

                    if (_cantidadCaracteres <=
                        (agente.Nombre.Trim() + agente.Apellido.Trim()).Length)
                    {
                        _nombreUsuario = string.Format("{0}{1}",
                            agente.Nombre.Trim().Substring(0, _cantidadCaracteres),
                            agente.Apellido.Trim()).ToUpper();
                    }
                    else
                    {
                        _nombreUsuario = (agente.Nombre.Trim()
                            + agente.Apellido.Trim()
                            + _contador.ToString()).ToUpper();

                        _contador++;
                    }
                }
            }

            return _nombreUsuario;
        }
Beispiel #42
0
        public bool CrearUsuarios(List<UsuarioDTO> listaAgentes)
        {
            var esOperacionCompleta = false;

            using (var contexto = new AccesoDatos.ModeloBometricoContainer())
            {
                using (var tran = new TransactionScope())
                {
                    try
                    {
                        foreach (var agente in listaAgentes.Where(x => x.Item
                            && x.Usuario == "NO ASIGNADO").ToList())
                        {
                            var nombreUsuario = ObtenerNombreUsuario(agente);

                            contexto.Usuarios.Add(new AccesoDatos.Usuario
                            {
                                AgenteId = agente.AgenteId,
                                EstaBloqueado = false,
                                Nombre = nombreUsuario,
                                Password = ConstantesSeguridad.PasswordPorDefecto()
                            });

                            if (!esOperacionCompleta)
                                esOperacionCompleta = true;
                        }

                        contexto.SaveChanges();

                        tran.Complete();
                    }
                    catch
                    {
                        esOperacionCompleta = false;
                        throw;
                    }
                }
            }

            return esOperacionCompleta;
        }
        public IEnumerable<RelojDefectuosoDTO> ObtenerListadodeRelojDefectuoso(DateTime fechareloj, bool jornadacompleta, TimeSpan horadesde, TimeSpan horahasta)
        {
            try
            {
                using (var contexto = new AccesoDatos.ModeloBometricoContainer())
                {
                    List<RelojDefectuosoDTO> listafinal = new List<RelojDefectuosoDTO>();
                    var diaDefectuoso = fechareloj.ToString("dddd").ToUpper();

                    foreach (var agente in contexto.Agentes)
                    {
                        var listahorarios = agente.Horarios.Where(x => fechareloj.Date >= x.FechaDesde.Date && (fechareloj.Date <= x.FechaHasta || x.FechaHasta == null)).OrderByDescending(x => x.FechaActualizacion);

                        var ultimohorario = listahorarios.FirstOrDefault();

                        if (ultimohorario != null)
                        {
                            var listaultimohorario = listahorarios.Where(x => x.FechaActualizacion == ultimohorario.FechaActualizacion);

                            if (diaDefectuoso == "LUNES")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Lunes);

                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);

                            }
                            else if (diaDefectuoso == "MARTES")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Martes);
                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);

                            }
                            else if (diaDefectuoso == "MIÉRCOLES")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Miercoles);
                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);

                            }
                            else if (diaDefectuoso == "JUEVES")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Jueves);
                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);

                            }
                            else if (diaDefectuoso == "VIERNES")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Viernes);
                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);

                            }
                            else if (diaDefectuoso == "SÁBADO")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Sabado);
                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);

                            }
                            else if (diaDefectuoso == "DOMINGO")
                            {
                                var horarioaplicado = listaultimohorario.FirstOrDefault(x => x.Domingo);
                                ValidarReloj(horarioaplicado, horadesde, horahasta, jornadacompleta, agente, listafinal);

                            }

                        }
                    }
                    return listafinal.ToList();
                }
            }
            catch (Exception)
            {

                throw;
            }
        }
        public AccesoDatos.Configuracion ObtenerUltimaConfiguracion()
        {
            try
            {
                using (var contexto = new AccesoDatos.ModeloBometricoContainer())
                {

                    return contexto.Configuraciones.OrderByDescending(x => x.Id).FirstOrDefault();

                }
            }
            catch (Exception)
            {

                throw;
            }
        }