Exemplo n.º 1
0
        internal IList <domain.sm.Clinician> toTriageGroupMembers(IDataReader rdr)
        {
            IList <domain.sm.Clinician> users = new List <domain.sm.Clinician>();

            while (rdr.Read())
            {
                domain.sm.Clinician user = new domain.sm.Clinician();
                user.Id = Convert.ToInt32(rdr.GetDecimal(rdr.GetOrdinal("USER_ID")));

                if (!rdr.IsDBNull(rdr.GetOrdinal("EMAIL_ADDRESS")))
                {
                    user.Email = rdr.GetString(rdr.GetOrdinal("EMAIL_ADDRESS"));
                }

                user.Oplock = Convert.ToInt32(rdr.GetDecimal(rdr.GetOrdinal("OPLOCK")));

                int emailNoticeCode = Convert.ToInt32(rdr.GetDecimal(rdr.GetOrdinal("EMAIL_NOTIFICATION")));
                if (Enum.IsDefined(typeof(domain.sm.enums.EmailNotificationEnum), emailNoticeCode))
                {
                    user.EmailNotification = (domain.sm.enums.EmailNotificationEnum)emailNoticeCode;
                }
                if (!rdr.IsDBNull(rdr.GetOrdinal("LAST_EMAIL_NOTIFICATION")))
                {
                    user.LastNotification = rdr.GetDateTime(rdr.GetOrdinal("LAST_EMAIL_NOTIFICATION"));
                }

                if (!rdr.IsDBNull(rdr.GetOrdinal("DUZ")))
                {
                    user.Duz = rdr.GetString(rdr.GetOrdinal("DUZ"));
                }

                if (!rdr.IsDBNull(rdr.GetOrdinal("STATION_NO")))
                {
                    user.StationNo = rdr.GetString(rdr.GetOrdinal("STATION_NO"));
                }

                // have to map user type to participant type
                int userType = Convert.ToInt32(rdr.GetString(rdr.GetOrdinal("USER_TYPE")));
                if (Enum.IsDefined(typeof(domain.sm.enums.UserTypeEnum), userType))
                {
                    if ((domain.sm.enums.UserTypeEnum)(userType) == domain.sm.enums.UserTypeEnum.PATIENT)
                    {
                        user.ParticipantType = domain.sm.enums.ParticipantTypeEnum.PATIENT;
                    }
                    else if ((domain.sm.enums.UserTypeEnum)(userType) == domain.sm.enums.UserTypeEnum.CLINICIAN)
                    {
                        user.ParticipantType = domain.sm.enums.ParticipantTypeEnum.CLINICIAN;
                    }
                }


                users.Add(user);
            }

            if (users.Count <= 0)
            {
                throw new MdoException("That triage group does not appear to have any members!");
            }

            return(users);
        }
Exemplo n.º 2
0
        // TODO - make sure we're setting the correct defaults for the User object
        internal domain.sm.Clinician toUserFromDataReader(IDataReader rdr)
        {
            domain.sm.Clinician user = new domain.sm.Clinician();

            if (!rdr.Read())
            {
                throw new MdoException(MdoExceptionCode.DATA_NO_RECORD_FOR_ID);
            }

            user.Id        = Convert.ToInt32(rdr.GetDecimal(rdr.GetOrdinal("USER_ID")));
            user.FirstName = rdr.GetString(rdr.GetOrdinal("FIRST_NAME"));
            user.LastName  = rdr.GetString(rdr.GetOrdinal("LAST_NAME"));
            // have to map user type to participant type
            int userType = Convert.ToInt32(rdr.GetString(rdr.GetOrdinal("USER_TYPE")));

            if (Enum.IsDefined(typeof(domain.sm.enums.UserTypeEnum), userType))
            {
                if ((domain.sm.enums.UserTypeEnum)(userType) == domain.sm.enums.UserTypeEnum.PATIENT)
                {
                    user.ParticipantType = domain.sm.enums.ParticipantTypeEnum.PATIENT;
                }
                else if ((domain.sm.enums.UserTypeEnum)(userType) == domain.sm.enums.UserTypeEnum.CLINICIAN)
                {
                    user.ParticipantType = domain.sm.enums.ParticipantTypeEnum.CLINICIAN;
                }
            }
            int statusCode = Convert.ToInt32(rdr.GetDecimal(rdr.GetOrdinal("STATUS")));

            if (Enum.IsDefined(typeof(domain.sm.enums.UserStatusEnum), statusCode))
            {
                user.Status = (domain.sm.enums.UserStatusEnum)statusCode;
            }

            if (!rdr.IsDBNull(rdr.GetOrdinal("EMAIL_ADDRESS")))
            {
                user.Email = rdr.GetString(rdr.GetOrdinal("EMAIL_ADDRESS"));
            }

            user.Oplock = Convert.ToInt32(rdr.GetDecimal(rdr.GetOrdinal("OPLOCK")));
            user.Active = true; // (rdr.GetDecimal(rdr.GetOrdinal("ACTIVE")) == 1);

            if (!rdr.IsDBNull(rdr.GetOrdinal("SSN")))
            {
                user.Ssn = rdr.GetString(rdr.GetOrdinal("SSN"));
            }
            if (!rdr.IsDBNull(rdr.GetOrdinal("STATION_NO")))
            {
                // TBD - should we map this?
                user.StationNo = rdr.GetString(rdr.GetOrdinal("STATION_NO"));
            }
            if (!rdr.IsDBNull(rdr.GetOrdinal("DUZ")))
            {
                // TBD - should we map this
                user.Duz = rdr.GetString(rdr.GetOrdinal("DUZ"));
            }

            int emailNoticeCode = Convert.ToInt32(rdr.GetDecimal(rdr.GetOrdinal("EMAIL_NOTIFICATION")));

            if (Enum.IsDefined(typeof(domain.sm.enums.EmailNotificationEnum), emailNoticeCode))
            {
                user.EmailNotification = (domain.sm.enums.EmailNotificationEnum)emailNoticeCode;
            }
            int messageFilterCode = Convert.ToInt32(rdr.GetDecimal(rdr.GetOrdinal("DEFAULT_MESSAGE_FILTER")));

            if (Enum.IsDefined(typeof(domain.sm.enums.MessageFilterEnum), emailNoticeCode))
            {
                user.MessageFilter = (domain.sm.enums.MessageFilterEnum)messageFilterCode;
            }

            if (!rdr.IsDBNull(rdr.GetOrdinal("LAST_EMAIL_NOTIFICATION")))
            {
                user.LastNotification = rdr.GetDateTime(rdr.GetOrdinal("LAST_EMAIL_NOTIFICATION"));
            }

            if (!rdr.IsDBNull(rdr.GetOrdinal("EXTERNAL_USER_NAME")))
            {
                user.Username = rdr.GetString(rdr.GetOrdinal("EXTERNAL_USER_NAME"));
            }
            return(user);
        }