getTriageGroupMembers() private method

private getTriageGroupMembers ( Int32 groupId ) : IList
groupId System.Int32
return IList
Ejemplo n.º 1
0
        internal void addRecipientsToMessage(Int32 triageGroupId, Message message)
        {
            UserDao userDao = new UserDao(_cxn);
            IList <domain.sm.Clinician> groupMembers = userDao.getTriageGroupMembers(triageGroupId);

            if (message.Addressees == null)
            {
                message.Addressees = new List <Addressee>();
            }
            // with surrogacy, it appears there's a possibility of users appearing in the addressee list more than one time. so, we're going to check that and remove dupes
            Dictionary <String, Clinician> addresseeDict = new Dictionary <String, Clinician>(); // use to track addressees

            foreach (domain.sm.Clinician user in groupMembers)
            {
                if (!addresseeDict.ContainsKey(user.Id.ToString()))
                {
                    addresseeDict.Add(user.Id.ToString(), user);
                    message.Addressees.Add(
                        new Addressee()
                    {
                        Folder = new Folder()
                        {
                            Id = (Int32)domain.sm.enums.SystemFolderEnum.Inbox, Name = Enum.GetName(typeof(domain.sm.enums.SystemFolderEnum), domain.sm.enums.SystemFolderEnum.Inbox)
                        },
                        FolderId = (Int32)domain.sm.enums.SystemFolderEnum.Inbox,
                        Message  = message,
                        Owner    = user,
                        Role     = domain.sm.enums.AddresseeRoleEnum.RECIPIENT
                    });
                }

                IList <domain.sm.Clinician> surrogates = userDao.getUsersSurrogates(user.Id);
                foreach (Clinician surrogate in surrogates)
                {
                    if (!addresseeDict.ContainsKey(surrogate.Id.ToString()))
                    {
                        addresseeDict.Add(surrogate.Id.ToString(), user);
                        message.Addressees.Add(
                            new Addressee()
                        {
                            Folder = new Folder()
                            {
                                Id = (Int32)domain.sm.enums.SystemFolderEnum.Inbox, Name = Enum.GetName(typeof(domain.sm.enums.SystemFolderEnum), domain.sm.enums.SystemFolderEnum.Inbox)
                            },
                            FolderId = (Int32)domain.sm.enums.SystemFolderEnum.Inbox,
                            Message  = message,
                            Owner    = surrogate,
                            Role     = domain.sm.enums.AddresseeRoleEnum.RECIPIENT
                        });
                    }
                }
            }
        }