/// <summary>Extracts the Administrator instance from the current record of the specified data reader.</summary> internal override IEntity Parse(IDataReader reader, UserFields fields) { var result = new Domain.Administrator(); FillData(reader, result, fields); EntityManager.SetSaved(result, reader.GetGuid(0)); return(result); }
internal virtual IEntity Parse(IDataReader reader, UserFields fields) { if (reader[fields.Administrators_Id] != DBNull.Value) { return(new AdministratorDataProvider().Parse(reader, fields)); } throw new DataException($"The record with ID of '{reader["Users_Id"]}' exists only in the abstract database table of 'Users' and no concrete table. The data needs cleaning-up."); }
/// <summary>Loads the data from the specified data reader on the specified User instance.</summary> internal static void FillData(IDataReader reader, Domain.User entity, UserFields fields) { var values = new object[reader.FieldCount]; reader.GetValues(values); entity.FirstName = values[fields.Users_FirstName] as string; entity.LastName = values[fields.Users_LastName] as string; entity.Email = values[fields.Users_Email] as string; if (values[fields.Users_Password] != DBNull.Value) { entity.Password = values[fields.Users_Password] as string; } if (values[fields.Users_Salt] != DBNull.Value) { entity.Salt = values[fields.Users_Salt] as string; } entity.IsDeactivated = (bool)values[fields.Users_IsDeactivated]; }
/// <summary>Loads the data from the specified data reader on the specified Administrator instance.</summary> internal static void FillData(IDataReader reader, Domain.Administrator entity, UserFields fields) { var values = new object[reader.FieldCount]; reader.GetValues(values); UserDataProvider.FillData(reader, entity, fields); if (values[fields.Administrators_ImpersonationToken] != DBNull.Value) { entity.ImpersonationToken = values[fields.Administrators_ImpersonationToken] as string; } }