Ejemplo n.º 1
0
        public void RegistrarIngresoVisitante(Permiso permiso, string observaciones)
        {
            var visitante = _personaDal.ObtenerVisitantes().FirstOrDefault(v => v.IdPersona == permiso.IdVisitante);

            if (visitante == null)
            {
                return;
            }
            using (var transaccion = new TransactionScope())
            {
                var permisoAModificar = ObtenerPermisoPorId(permiso.IdPermiso);
                permisoAModificar.Estado = "A";
                permisoAModificar.Accesos.Add(new Acceso {
                    FechaAcceso = DateTime.Now.ToUniversalTime().AddHours(-5), IdPermiso = permiso.IdPermiso, Observaciones = observaciones
                });
                _dal.ActualizarPermiso(permisoAModificar);
                _notificacionDal.CrearNotificacion(new Notificacion
                {
                    Fecha       = DateTime.Now.ToUniversalTime().AddHours(-5),
                    IdResidente = permisoAModificar.IdResidente,
                    Tipo        = "I",
                    Mensaje     = string.Format("Acaba de ingresar {0} a las {1}", visitante.NombreCompleto, DateTime.Now.ToUniversalTime().AddHours(-5).ToString("T"))
                });
                transaccion.Complete();
            }
            var dispositivos = _drvDal.ObtenerDrvsConDispositivos().Where(drv => drv.IdResidente == permiso.IdResidente && drv.Estado == "A").Select(drv => drv.Dispositivo).Distinct();

            foreach (var dispositivo in dispositivos)
            {
                EnviarNotificacion(dispositivo.Token, string.Format("Acaba de ingresar {0} a las {1}", visitante.NombreCompleto, DateTime.Now.ToUniversalTime().AddHours(-5).ToString("T")), "Visitante Ingresó");
            }
        }
Ejemplo n.º 2
0
        public Stream ObtenerVisitantesPorResidente(string idResidente)
        {
            var residente  = Convert.ToInt32(idResidente);
            var visitantes = _dal.ObtenerVisitantes().Where(v => v.IdResidente == residente);
            var resultado  = visitantes.Select(visitante => new VisitanteJson
            {
                id                 = visitante.IdPersona.ToString(CultureInfo.InvariantCulture),
                identificacion     = visitante.Identificacion,
                tipoIdentificacion = visitante.TipoIdentificacion,
                nombres            = visitante.Nombres,
                apellidos          = visitante.Apellidos,
                telefono           = visitante.Telefono,
                email              = visitante.Email,
                estaEliminado      = visitante.EstaEliminado ? "1" : "0"
            }).OrderBy(r => r.apellidos).ThenBy(r => r.nombres).ToList();

            return(resultado.Count == 0 ? ObtenerSalida("801", null, "No existen visitantes registrados.") : ObtenerSalidaVisitante(resultado, ""));
        }