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