/// <summary> /// returns a list of key-value pairs /// the key is the name of the property /// the value is a list of users who share the property/skill /// the threshold is currently 50% /// so if 50% of the users of an issue share the same property /// this method will return these properties with the users /// only 'Owners' and 'Contributors' are considered, not owners /// minimum 2 users must have accessright to the issue /// </summary> /// <param name="issueId"></param> /// <returns></returns> public List <KeyValuePair <string, List <String> > > GetGropshiftProperties(int issueId) { return(NotificationOp.GetGroupshiftProperties(issueId)); }
/// <summary> /// adds a new groupthink notification /// </summary> /// <param name="notification"></param> public int SendNotification(NotificationModel notification) { return(NotificationOp.AddNotification(notification.ToEntity(notification))); }
/// <summary> /// marks an notification as read /// </summary> /// <param name="notificationId"></param> public void MarkNotificationAsRead(int notificationId) { NotificationOp.MarkNotificationAsRead(notificationId); }
/// <summary> /// gets grouphtink notifications /// </summary> /// <param name="issueId"></param> /// <param name="userId"></param> /// <returns></returns> public List <NotificationModel> GetGroupthinkNotifications(int issueId, int userId) { NotificationModel nm = new NotificationModel(); return(nm.ToModelList(NotificationOp.GetGroupthinkNotifications(issueId, userId), nm)); }