Ejemplo n.º 1
0
 public IEnumerable <Flat> GetFlats(FlatViewModel model)
 {
     using (var connection = new MySqlConnection(_connectionString))
     {
         connection.Open();
         var flats = connection.Query <Flat>(@"SELECT id, address_id as addressId, header, type_of_house as " +
                                             "typeOfHouse, number_of_rooms as numberOfRooms, price_for_month as priceForMonth, total_area as totalArea, " +
                                             "additional_information as additionalInformation, balcony, owner_id as ownerId, " +
                                             "flat_picture as flatPicture FROM flat WHERE address_id in (SELECT id from address WHERE city_id in(SELECT " +
                                             "id FROM city WHERE lower(name) like @City)) AND flat.price_for_month >= @FromPrice " +
                                             "AND flat.price_for_month <= @ToPrice;",
                                             new
         {
             City      = model.CitySearch.ToLower() + "%",
             FromPrice = model.FromPrice,
             ToPrice   = model.ToPrice
         });
         foreach (var flat in flats)
         {
             flat.Address = GetAddress(flat.AddressId);
             flat.Owner   = GetUserById(flat.OwnerId);
         }
         return(flats);
     }
 }
Ejemplo n.º 2
0
        public IActionResult Detail(int id)
        {
            Flat flat = _dataRepository.GetFlat(id);

            if (flat == null)
            {
                return(NotFound());
            }
            FlatViewModel model = new FlatViewModel
            {
                Balcony = flat.Balcony,
                AdditionalInformation = flat.AdditionalInformation,
                City            = flat.Address.City.Name,
                Street          = flat.Address.Street.Name,
                FlatNumber      = flat.Address.FlatNumber,
                FlatPicturePath = flat.FlatPicture,
                PriceForMonth   = flat.PriceForMonth,
                HouseNumber     = flat.Address.HouseNumber,
                NumberOfRooms   = flat.NumberOfRooms,
                Header          = flat.Header,
                TotalArea       = flat.TotalArea,
                TypeOfHouse     = flat.TypeOfHouse,
                OwnerId         = flat.OwnerId,
                Owner           = flat.Owner
            };

            return(View(model));
        }
Ejemplo n.º 3
0
 public void InsertFlat(FlatViewModel model)
 {
     InsertAddress(model);
     using (var connection = new MySqlConnection(_connectionString))
     {
         connection.Open();
         connection.Execute(@"INSERT INTO flat(flat_picture,type_of_house, number_of_rooms, price_for_month, total_area,
                             additional_information, balcony, header, owner_id, address_id) SELECT @FlatPicture, @TypeOfHouse, @NumberOfRooms, 
                             @PriceForMonth, @TotalArea, @AdditionalInformation, @Balcony, @Header, @OwnerId, id FROM address 
                             WHERE city_id in (SELECT id FROM city WHERE name = @City) AND street_id in (SELECT id FROM street WHERE
                             name = @Street) AND address.house_number = @HouseNumber AND address.flat_number = @FlatNumber;",
                            new
         {
             FlatPicture = model.FlatPicturePath,
             model.TypeOfHouse,
             model.NumberOfRooms,
             model.PriceForMonth,
             model.TotalArea,
             AdditionalInformation = model.AdditionalInformation.Trim(),
             model.Balcony,
             Header = model.Header.Trim(),
             model.OwnerId,
             City        = model.City.Trim(),
             Street      = model.Street.Trim(),
             HouseNumber = model.HouseNumber.Trim(),
             FlatNumber  = model.FlatNumber.Trim()
         });
     }
 }
Ejemplo n.º 4
0
        public async Task <IHttpActionResult> Update([FromBody] FlatViewModel viewmodel)
        {
            var model = Mapper.Map <Flat>(viewmodel);
            await _flatService.Update(model);

            return(Ok());
        }
Ejemplo n.º 5
0
 public IActionResult Index(FlatViewModel model)
 {
     SetDefaultValues(model);
     model = new FlatViewModel {
         Flats = _dataRepository.GetFlats(model)
     };
     return(View(model));
 }
Ejemplo n.º 6
0
 public IActionResult MyAnnouncements(FlatViewModel model)
 {
     SetDefaultValues(model);
     model = new FlatViewModel {
         Flats = _dataRepository.GetFlats(model).Where(m => m.Owner.Id
                                                       == _dataRepository.GetUserByEmail(User.Identity.Name).Id)
     };
     return(View(model));
 }
Ejemplo n.º 7
0
 public IActionResult Announcement(FlatViewModel model)
 {
     if (ModelState.IsValid)
     {
         string uniqueFileName = UploadedFile(model);
         model.FlatPicturePath = uniqueFileName;
         model.OwnerId         = _dataRepository.GetUserByEmail(User.Identity.Name).Id;
         _dataRepository.InsertFlat(model);
         return(RedirectToAction("Index", "Home"));
     }
     return(View(model));
 }
Ejemplo n.º 8
0
 public void InsertAddress(FlatViewModel model)
 {
     InsertCity(model.City.Trim());
     InsertStreet(model.Street.Trim());
     using (var connection = new MySqlConnection(_connectionString))
     {
         connection.Open();
         connection.Execute(@"INSERT IGNORE INTO Address(city_id, street_id, house_number, flat_number)
         SELECT (SELECT id from city WHERE name = @City), (SELECT id from street WHERE name = @Street), 
         @HouseNumber, @FlatNumber;",
                            new { model.City, model.Street, model.HouseNumber, model.FlatNumber });
     }
 }
Ejemplo n.º 9
0
 public void SetDefaultValues(FlatViewModel model)
 {
     if (model.CitySearch is null)
     {
         model.CitySearch = string.Empty;
     }
     if (model.FromPrice is null)
     {
         model.FromPrice = 0;
     }
     if (model.ToPrice is null)
     {
         model.ToPrice = double.MaxValue;
     }
 }
Ejemplo n.º 10
0
        private string UploadedFile(FlatViewModel model)
        {
            string uniqueFileName = null;

            if (model.FlatPicture != null)
            {
                string uploadsFolder = Path.Combine(webHostEnvironment.WebRootPath, "images");
                uniqueFileName = Guid.NewGuid().ToString() + "_" + model.FlatPicture.FileName;
                string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    model.FlatPicture.CopyTo(fileStream);
                }
            }
            return(uniqueFileName);
        }
        private void OnDataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            if (e.NewValue != null)
            {
                SamplesCollection collection = (SamplesCollection)e.NewValue;

                var query = from r in collection.Releases
                            from d in r.Demonstrations
                            select new DemonstrationViewModel {
                    Demonstration = d, Version = r.Version
                };
                FlatViewModel viewModel = new FlatViewModel(query.ToList());

                itemsControl.DataContext = viewModel.Demonstrations;
            }
        }
        public ExampleFourResponse Get()
        {
            var flatViewModel = new FlatViewModel
            {
                Id = 52,
                InnerDomainObjectName = "Ben Hall",
                InnerDomainObjectId   = 365
            };

            var complexDomainObject = _mapper.Map <ComplexDomainObject>(flatViewModel);

            return(new ExampleFourResponse
            {
                FlatViewModel = flatViewModel,
                ComplexDomainObject = complexDomainObject
            });
        }
Ejemplo n.º 13
0
        public FlatViewModel FindFlatByNumber(int flatNumber)
        {
            FlatViewModel flat = FurnitureFloorsProvider.FindFlatByNumber(flatNumber);

            if (flat != null)
            {
                return(flat);
            }

            flat = HospitalFloorsProvider.FindFlatByNumber(flatNumber);

            if (flat == null)
            {
                throw new InvalidOperationException($"Квартиры с номером '{ flatNumber }' не существует");
            }

            return(flat);
        }
Ejemplo n.º 14
0
        private void FillFloorsForSection(int flatsPerFloor, int startFlatNumber)
        {
            const int startFloorNumber = 2;

            int sectionStartFlatNumber        = startFlatNumber;
            Dictionary <int, float> areasDict = sectionType == SectionType.Furniture ? mebelFlatAreas : hospitalFlatAreas;

            for (int floorNumber = startFloorNumber; floorNumber <= StaticsProvider.TotalFloorsCount; floorNumber++)
            {
                var floorModel = new FloorModel
                {
                    FloorNumber   = floorNumber, Section = sectionType,
                    MinFlatNumber = sectionStartFlatNumber + (floorNumber - startFloorNumber) * flatsPerFloor,
                };
                floorModel.MaxFlatNumber = floorModel.MinFlatNumber + flatsPerFloor - 1;

                var floorViewModel = new FloorViewModel(floorModel);

                var flats = new List <FlatViewModel>();
                for (int flatIndex = 1; flatIndex < flatsPerFloor + 1; flatIndex++)
                {
                    var flatModel = new FlatModel
                    {
                        Area        = areasDict[flatIndex],
                        FloorNumber = floorViewModel.FloorNumber,
                        Number      = startFlatNumber,
                        Section     = sectionType
                    };
                    var flat = new FlatViewModel(flatModel);
                    flats.Add(flat);

                    startFlatNumber++;
                }

                floorViewModel.PopulateFlats(flats);
                var decorator = new FloorDecoratorViewModel(floorViewModel);
                allFloors.Add(decorator);
            }

            allFloors.Reverse();
            predicatedFloors.AddRange(allFloors);
        }
Ejemplo n.º 15
0
        public static FlatViewModel FindFlatOfAborigen(string aborigenId)
        {
            lock (Locker)
            {
                if (aborigenFlats.TryGetValue(aborigenId, out FlatViewModel cachedFlat))
                {
                    return(cachedFlat);
                }

                int flatNumber = RelationsProvider.GetOwnedFlatNumber(aborigenId);

                if (flatNumber == RelationsProvider.InvalidFlatNumber)
                {
                    return(null);
                }

                FlatViewModel flat = AllFloorsProvider.Instance.FindFlatByNumber(flatNumber);

                aborigenFlats.Add(aborigenId, flat);

                return(flat);
            }
        }