示例#1
0
        public Room AddRoom(RoomAddViewModel roomAddModel)
        {
            var findHouse = _adressProvider.GetHouses(roomAddModel.SelectStreetId)
                            .Where(x => x.Number == roomAddModel.NumberHouse)
                            .FirstOrDefault();

            if (findHouse == null)
            {
                NumberHouse numberHouse = new NumberHouse
                {
                    Number   = roomAddModel.NumberHouse,
                    StreetId = roomAddModel.SelectStreetId
                };

                _numberHomeRepository.Add(numberHouse);
                _numberHomeRepository.SaveChanges();

                findHouse = numberHouse;
            }

            roomAddModel.NumberHouseID = findHouse.Id;
            Room room;

            using (TransactionScope scope = new TransactionScope())
            {
                room = new Room
                {
                    HouseId    = roomAddModel.NumberHouseID,
                    Floor      = roomAddModel.Floor,
                    CountRooms = roomAddModel.CountRoom,
                    NumberRoom = roomAddModel.NumberRoom,
                    Price      = Convert.ToDecimal(roomAddModel.price),
                    Square     = Convert.ToDecimal(roomAddModel.Square),
                    Reserved   = roomAddModel.Reserved,
                    Sales      = roomAddModel.Sales
                };
                _roomsRepository.Add(room);
                _roomsRepository.SaveChanges();

                foreach (var item in roomAddModel.Images)
                {
                    var p = ImageToDataBase.ToBinaryArray(item);

                    RoomImage roomImages = new RoomImage
                    {
                        Name   = Guid.NewGuid().ToString() + ".jpg",
                        RoomId = room.Id,
                        Photo  = p
                    };

                    _roomImagesRepository.Add(roomImages);
                }
                _roomImagesRepository.SaveChanges();

                scope.Complete();
            }


            return(room);
        }
        public WindowImagesRoom(List <byte[]> arr)
        {
            InitializeComponent();
            Photos = (BLL.Model.PhotoCollection)(this.Resources["Photos"] as ObjectDataProvider).Data;
            if (arr.Count == 0)
            {
                string path = Environment.CurrentDirectory + ConfigurationManager.AppSettings["ImageStore"].ToString() + "no_image.png";

                var noimg = ImageToDataBase.ToBinaryArray(path);

                this.Photos.AddImage(noimg);
            }
            //BitmapImage image = new BitmapImage(new Uri(path));
            //ImageBrush brush = new ImageBrush();
            //brush.ImageSource = image;

            //PhotosListBox.Foreground = brush;

            foreach (var item in arr) // мульти добавление изображений
            {
                this.Photos.AddImage(item);
            }
        }