コード例 #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ó");
            }
        }
コード例 #2
0
ファイル: PermisoManualBl.cs プロジェクト: sas1981ec/.NET
 public void RegistrarIngresoVisitanteManual(PermisoManual permisoManual)
 {
     using (var transaccion = new TransactionScope())
     {
         permisoManual.FechaIngreso = DateTime.Now.ToUniversalTime().AddHours(-5);
         _dal.CrearPermisoManual(permisoManual);
         _notificacionDal.CrearNotificacion(new Notificacion
         {
             Fecha = DateTime.Now.ToUniversalTime().AddHours(-5),
             IdResidente = permisoManual.IdResidente,
             Tipo = "I",
             Mensaje = string.Format("Acaba de ingresar {0} a las {1}", permisoManual.NombreVisitante, permisoManual.FechaIngreso.ToString("T"))
         });
         transaccion.Complete();
     }
     var dispositivos = _drvDal.ObtenerDrvsConDispositivos().Where(drv => drv.IdResidente == permisoManual.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}",permisoManual.NombreVisitante,permisoManual.FechaIngreso.ToString("T")),"Visitante Ingresó");
 }
コード例 #3
0
ファイル: DrvBl.cs プロジェクト: sas1981ec/.NET
        public void EnviarNotificacionesMasivas(string texto, int idCiudadela)
        {
            var drvs = _dal.ObtenerDrvsConDispositivosYViviendas().Where(drv => drv.Vivienda.IdCiudadela == idCiudadela);
            var idResidentesEnviados = new List <int>();

            foreach (var drv in drvs)
            {
                if (!idResidentesEnviados.Contains(drv.IdResidente))
                {
                    _notificacionDal.CrearNotificacion(new Notificacion
                    {
                        Fecha       = DateTime.Now.ToUniversalTime().AddHours(-5),
                        IdResidente = drv.IdResidente,
                        Tipo        = "M",
                        Mensaje     = string.Format("{0}", texto)
                    });
                    idResidentesEnviados.Add(drv.IdResidente);
                }
                EnviarNotificacion(drv.Dispositivo.Token, string.Format("{0}", texto), "Aviso Masivo");
            }
        }