public ObservableCollection<NotificacionModel> GetNotifications(UsuarioModel user, int runRefresh) { ObservableCollection<NotificacionModel> notifications = new ObservableCollection<NotificacionModel>(); ObservableCollection<NotificacionModel> notificationsRecurrencia = new ObservableCollection<NotificacionModel>(); //cuando arranca la aplicacion if (runRefresh ==0) { //se Recetean la tabla de NOTIFICACION_ACTIVA this.ResetNotificationActiva(); notifications = this.LoadNotifications(user); //actualiza o inserta en la tabla NOTIFICACION_ACTIVA la bandera IsActiva en true if (notifications.Count != 0) this.UpdateNotificationActiva(notifications); //Si la recurrencia es > 0 actualiza la fecha ultima muestra notifications.ToList().Where(r => r.Recurrencia > 0).ToList().ForEach(n => { n.FechaUltimaMuestra = new UNID().getNewUNID(); notificationsRecurrencia.Add(n); }); //inserta los registros con recurrencia if (notificationsRecurrencia.Count != 0) this.UpdateNotificationRecurrencia(notificationsRecurrencia); } else { notifications = this.LoadNotifications(user); } return notifications; }
/// <summary> /// En base al nombre del usuario obtener su informacion /// </summary> /// <param name="userMail"></param> /// <returns></returns> public UsuarioModel GetUsuario(string userMail) { UsuarioModel um = null; using (var entity = new Nosc.DAL.NoscDBEntities()) { try { var res = (from o in entity.APP_USUARIO where o.UsuarioCorreo == userMail select o).First<APP_USUARIO>(); um = new UsuarioModel() { IdUsuario = res.IdUsuario, NombreUsuario = res.Nombre, Area = res.Area, Apellido =res.Apellido, Puesto = res.Puesto, UsuarioCorreo =res.UsuarioCorreo, UsuarioPwd =res.UsuarioPwd, IsActive = res.IsActive }; } catch (Exception ex) { ; } } return um; }
public void GetNotificationsTest() { NotificationRepository target = new NotificationRepository(); // TODO: Inicializar en un valor adecuado UsuarioModel user = new UsuarioModel() { IdUsuario = 20130101120059002, NombreUsuario="*****@*****.**" }; // TODO: Inicializar en un valor adecuado ObservableCollection<NotificacionModel> expected = null; // TODO: Inicializar en un valor adecuado ObservableCollection<NotificacionModel> actual; actual = target.GetNotifications(user,1); Assert.AreEqual(expected, actual); Assert.Inconclusive("Compruebe la exactitud de este método de prueba."); }
public void GetTreeData(UsuarioModel user, int runRefresh) { ObservableCollection<NotificacionModel> notifications = this.NotificationRepository.GetNotifications(user,runRefresh); if (notifications.Count > 0) { (from o in notifications select new AppModel() { IdApp=o.App.IdApp,AppName=o.App.AppName,AppIconPath=o.App.AppIconPath } ).Distinct().ToList<AppModel>().ForEach(o => { this.Childrens.Add(new NotificationAppViewModel() { App = o, Notifications = this.GetNotification(notifications, o) } ); }); } }
/// <summary> /// Constructor /// </summary> public NotificationTreeViewModel(UsuarioModel user, int runRefresh) { this.NotificationRepository = new NotificationRepository(); this.Childrens = new ObservableCollection<NotificationAppViewModel>(); this.GetTreeData(user,runRefresh); }
public ObservableCollection<NotificacionModel> LoadNotifications(UsuarioModel user) { ObservableCollection<NotificacionModel> notifications = new ObservableCollection<NotificacionModel>(); long fechaActual = new UNID().getNewUNID(); using (var entity = new Nosc.DAL.NoscDBEntities()) { try { //obtine las notificaciones con validaciones (from o in entity.Notificacions.Include("CAT_APP") where o.APP_USUARIO.IdUsuario == user.IdUsuario && o.IsNotificacionActiva && o.FechaNotificacion <= fechaActual select new { o, NotificacionActive = o.NOTIFICACION_ACTIVA.Select (s => new Model.NotificacionActivaModel() { IdNotificacion = s.IdNotificacion , IdNotificacionActiva = s.IdNotificacionActiva , IsActive = s.IsActive } ) }).ToList().ForEach(p => { notifications.Add(new NotificacionModel() { App = new AppModel() { AppName = p.o.CAT_APP.AppName, AppIconPath = p.o.CAT_APP.AppIcon, IdApp = p.o.CAT_APP.IdApp }, FechaCreacion = p.o.FechaCreacion, IdNotificacion = p.o.IdNotificacion, Mensaje = p.o.Mensaje, Parametro = p.o.Parametro, Titulo = p.o.Titulo, FechaNotificacion = p.o.FechaNotificacion, Recurrencia = p.o.Recurrencia, FechaUltimaMuestra = p.o.FechaUltimaMuestra, NotificacionActiva = p.NotificacionActive, IdUsuario = p.o.APP_USUARIO.IdUsuario, Usuario = new UsuarioModel() { IdUsuario = p.o.APP_USUARIO.IdUsuario } }); }); } catch (Exception ex) { } } return notifications; }