internal static Addressee getAddresseeFromReader(System.Data.IDataReader rdr, Dictionary <string, bool> columnTable) { Addressee addr = new Addressee(); if (columnTable["ADDRESSEE_ID"]) { int idIndex = rdr.GetOrdinal("ADDRESSEE_ID"); if (!rdr.IsDBNull(idIndex)) { addr.Id = Convert.ToInt32(rdr.GetDecimal(idIndex)); } } if (columnTable["ADDRESSEE_ROLE"]) { int roleIndex = rdr.GetOrdinal("ADDRESSEE_ROLE"); if (!rdr.IsDBNull(roleIndex)) { addr.Role = (AddresseeRoleEnum)Convert.ToInt32(rdr.GetDecimal(roleIndex)); } } if (columnTable["SECURE_MESSAGE_ID"]) { int smIdIndex = rdr.GetOrdinal("SECURE_MESSAGE_ID"); if (!rdr.IsDBNull(smIdIndex)) { addr.Message = new Message() { Id = Convert.ToInt32(rdr.GetDecimal(smIdIndex)) }; } } if (columnTable["USER_ID"]) { int userIdIndex = rdr.GetOrdinal("USER_ID"); if (!rdr.IsDBNull(userIdIndex)) { addr.Owner = new User() { Id = Convert.ToInt32(rdr.GetDecimal(userIdIndex)) }; } } if (columnTable["ADDROPLOCK"]) { int oplockIndex = rdr.GetOrdinal("ADDROPLOCK"); if (!rdr.IsDBNull(oplockIndex)) { addr.Oplock = Convert.ToInt32(rdr.GetDecimal(oplockIndex)); } } if (columnTable["FOLDER_ID"]) { int folderIdIndex = rdr.GetOrdinal("FOLDER_ID"); if (!rdr.IsDBNull(folderIdIndex)) { addr.FolderId = Convert.ToInt32(rdr.GetDecimal(folderIdIndex)); } addr.Folder = Folder.getFolderFromReader(rdr); } if (columnTable["READ_DATE"]) { int readDateIndex = rdr.GetOrdinal("READ_DATE"); if (!rdr.IsDBNull(readDateIndex)) { addr.ReadDate = rdr.GetDateTime(readDateIndex); } } if (columnTable["REMINDER_DATE"]) { int reminderDateIndex = rdr.GetOrdinal("REMINDER_DATE"); if (!rdr.IsDBNull(reminderDateIndex)) { addr.ReminderDate = rdr.GetDateTime(reminderDateIndex); } } return(addr); }