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); }
// 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); }