/// <summary> /// Creates new <see cref="Workplace"/> instance, using information from <paramref name="dataReader"/>. /// </summary> /// <param name="dataReader"><see cref="IDataReader"/> implementation instance.</param> /// <returns><see cref="Workplace"/> instance.</returns> private Workplace CreateWorkplaceInstance(IDataReader dataReader) { Guid workplaceId = dataReader.GetColumnValue <Guid>("Id"); string name = dataReader.GetColumnValue <String>("Name"); int position = dataReader.GetColumnValue <int>("Position"); var type = dataReader.GetColumnValue <int>("Type") == 0 ? WorkplaceType.General : WorkplaceType.SSP; var workplace = new Workplace(workplaceId, name, type) { Position = position, IsPersonal = dataReader.GetColumnValue <bool>("IsPersonal"), LoaderId = dataReader.GetColumnValue <Guid>("LoaderId"), LoaderName = dataReader.GetColumnValue <string>("LoaderName"), ClientApplicationTypeId = dataReader.GetColumnValue <Guid>("SysApplicationClientTypeId") }; var workplaceSections = GetWorkplaceSectionIds(workplaceId); workplace.AddSectionsRange(workplaceSections); var usersInWorkplace = GetWorkplaceUsers(workplaceId); workplace.AddUsersRange(usersInWorkplace); return(workplace); }