/// <summary>
        /// Получение списка квартир в базе
        /// </summary>
        public static List <Apartment> GetAll()
        {
            // Преобразование квартир в базе в объекты Apartment
            List <Apartment> apartments = new List <Apartment>();

            using (var entities = BaseApartments.ConnectEntities())
            {
                entities.F_R_Flats.Load();

                using (var progress = new ProgressMeter())
                {
                    progress.SetLimit(entities.F_R_Flats.Local.Count);
                    progress.Start("Считывание квартир из базы...");

                    var flatsLastRev = entities.F_R_Flats.Local.GroupBy(g => g.WORKNAME).Select(f => f.MaxBy(r => r.REVISION)).ToList();
                    foreach (var flatEnt in flatsLastRev)
                    {
                        progress.MeterProgress();

                        Apartment apart = new Apartment(flatEnt);
                        apartments.Add(apart);

                        //Все модули в квартире
                        var fmsLastModRev = flatEnt.F_nn_FlatModules.GroupBy(fm => fm.F_R_Modules.NAME_MODULE)
                                            .Select(m => m.MaxBy(r => r.F_R_Modules.REVISION)).ToList();

                        foreach (var fmEnt in fmsLastModRev)
                        {
                            Module module = new Module(fmEnt, apart);

                            // Елементы в модуле
                            var emsEnt = fmEnt.F_R_Modules.F_nn_Elements_Modules.ToList();
                            foreach (var emEnt in emsEnt)
                            {
                                // Создание элемента из элемента базы базы
                                Element elem = ElementFactory.CreateElementDB(module, emEnt);
                            }
                            // Для дверей определение элемента стены
                            var doors = module.Elements.OfType <DoorElement>();
                            foreach (var door in doors)
                            {
                                door.SearchHostWallDB(fmEnt.F_R_Modules);
                            }
                        }
                    }
                    progress.Stop();
                }
            }
            return(apartments);
        }