public override DataSet GetDataSetSchema()
        {
            DataSet   result = new DataSet();
            DataTable table  = result.Tables.Add(TableName);

            table.Columns.Add("ID", typeof(int));
            table.Columns.Add("PersonID", typeof(int));
            table.Columns.Add("FileNumber", typeof(String));
            table.Columns.Add("HasAvailability", typeof(bool));
            table.Columns.Add("AdmitNotification", typeof(bool));
            table.Columns.Add("IncludingEmail", typeof(bool));
            table.Columns.Add("DBTimeStamp", typeof(Int64));

            ResourceDeviceAdapter resourceDeviceAdapter = new ResourceDeviceAdapter();

            this.AddTableSchema(resourceDeviceAdapter.GetDataSetSchema(), result);

            HHRRProfileRelAdapter hhrrProfileRelAdapter = new HHRRProfileRelAdapter();

            this.AddTableSchema(hhrrProfileRelAdapter.GetDataSetSchema(), result);

            PersonAvailPatternAdapter hhrrAvailPatternAdapter = new PersonAvailPatternAdapter();

            this.AddTableSchema(hhrrAvailPatternAdapter.GetDataSetSchema(), result);

            PersonCareCenterAccessAdapter personCareCenterAccessAdapter = new PersonCareCenterAccessAdapter();

            this.AddTableSchema(personCareCenterAccessAdapter.GetDataSetSchema(), result);

            return(result);
        }
        protected override HumanResourceEntity GetRecord(DataRow row, DataSet dataset)
        {
            ResourceDeviceAdapter resourceDeviceAdapter = new ResourceDeviceAdapter();

            ResourceDeviceEntity[] allocatedDevices = null;
            if (dataset.Tables.Contains(SII.HCD.BackOffice.Entities.TableNames.ResourceDeviceRelTable))
            {
                if (dataset.Tables[SII.HCD.BackOffice.Entities.TableNames.ResourceDeviceRelTable].Rows.Count > 0)
                {
                    allocatedDevices = resourceDeviceAdapter.GetData(dataset);
                }
            }

            HHRRProfileRelAdapter hhrrProfileRelAdapter = new HHRRProfileRelAdapter();

            HHRRProfileRelEntity[] profiles = null;
            if (dataset.Tables.Contains(SII.HCD.BackOffice.Entities.TableNames.HHRRProfileRelTable))
            {
                if (dataset.Tables[SII.HCD.BackOffice.Entities.TableNames.HHRRProfileRelTable].Rows.Count > 0)
                {
                    profiles = hhrrProfileRelAdapter.GetData(dataset);
                }
            }

            PersonAvailPatternAdapter hhrrAvailPatternAdapter = new PersonAvailPatternAdapter();

            PersonAvailPatternEntity[] availPatterns = null;
            if (dataset.Tables.Contains(SII.HCD.BackOffice.Entities.TableNames.PersonAvailPatternTable))
            {
                if (dataset.Tables[SII.HCD.BackOffice.Entities.TableNames.PersonAvailPatternTable].Rows.Count > 0)
                {
                    availPatterns = hhrrAvailPatternAdapter.GetData(dataset);
                }
            }

            PersonCareCenterAccessAdapter personCareCenterAccessAdapter = new PersonCareCenterAccessAdapter();

            PersonCareCenterAccessEntity[] careCentersAccess = null;
            if (dataset.Tables.Contains(SII.HCD.BackOffice.Entities.TableNames.PersonCareCenterAccessTable))
            {
                if (dataset.Tables[SII.HCD.BackOffice.Entities.TableNames.PersonCareCenterAccessTable].Rows.Count > 0)
                {
                    careCentersAccess = personCareCenterAccessAdapter.GetData(dataset);
                }
            }

            return(new HumanResourceEntity(SIIConvert.ToInteger(row["ID"].ToString(), 0),
                                           null,
                                           SIIConvert.ToBoolean(row["AdmitNotification"].ToString(), false),
                                           SIIConvert.ToBoolean(row["IncludingEmail"].ToString(), false),
                                           row["FileNumber"].ToString(),
                                           SIIConvert.ToBoolean(row["HasAvailability"].ToString(), false),
                                           profiles,
                                           availPatterns,
                                           allocatedDevices,
                                           careCentersAccess,
                                           SIIConvert.ToDateTime(row["LastUpdated"].ToString(), DateTime.MinValue),
                                           row["ModifiedBy"].ToString(),
                                           false,
                                           SIIConvert.ToInteger64(row["DBTimeStamp"].ToString(), 0)));
        }