public List <ComplexWithHouses> SelectAllComplexWithHouses()
        {
            var tempComplexList = new List <ComplexWithHouses>();

            using (var sqlConnection = new SqlConnection(ConnectionStringValue()))
            {
                try
                {
                    const string sqlQuery =
                        @"SELECT [IdComplex], [Name_Housing_Complex], [City],
                        [Status_Construction_Housing_Complex], 
                        [Added_Value], [Building_Costs]
                        FROM [dbo].[Complex]
                        WHERE [Complex].IsDeleted = 0";

                    SqlDataReader reader;
                    using (var sqlCommand = new SqlCommand(sqlQuery,
                                                           sqlConnection))
                    {
                        sqlConnection.Open();
                        reader = sqlCommand.ExecuteReader();
                    }

                    if (reader.HasRows)
                    {
                        var items = new List <ComplexWithHouses>();
                        while (reader.Read())
                        {
                            var u = new ComplexWithHouses
                            {
                                IdComplex          = reader.GetInt32(0),
                                NameHousingComplex = reader.GetString(1),
                                City = reader.GetString(2),
                                StatusConstructionHousingComplex = reader.GetString(3),
                                AddedValue   = reader.GetInt64(4),
                                BuildingCost = reader.GetInt64(5)
                            };

                            items.Add(u);
                        }

                        tempComplexList = items;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message,
                                    "Ошибка",
                                    MessageBoxButton.OK,
                                    MessageBoxImage.Error);
                }
                finally
                {
                    sqlConnection.Close();
                }
            }

            return(tempComplexList);
        }
        public ComplexWithHouses GetComplexWithHouses(Complex selectComplex)
        {
            if (ComplexAccess != null)
            {
                Complex temp = ComplexAccess.SelectComplex(selectComplex);
                var     downCastedComplex = new ComplexWithHouses
                {
                    AddedValue   = temp.AddedValue,
                    BuildingCost = temp.BuildingCost,
                    City         = temp.City,
                    IdComplex    = temp.IdComplex,
                    IsDeleted    = temp.IsDeleted,
                    StatusConstructionHousingComplex = temp.StatusConstructionHousingComplex,
                    NameHousingComplex = temp.NameHousingComplex
                };

                return(downCastedComplex);
            }

            return(new ComplexWithHouses());
        }
        public ComplexVM()
        {
            _complexAdapter = new ComplexAdapter();

            Validator = new Validator();

            SaveCommand = new RelayCommand(Save);
            AddCommand  = new RelayCommand(Add);


            CurrentComplex = new ComplexWithHouses();
            StatusList     = new List <string> {
                "План", "Строительство", "Реализация"
            };


            CurrentComplex.IdComplex = App.CurrentItemId;
            CurrentComplex           = _complexAdapter.GetComplexWithHouses(CurrentComplex);

            CurrentStatus =
                StatusList.FirstOrDefault(
                    item => item == CurrentComplex.StatusConstructionHousingComplexName);
        }