Beispiel #1
0
        public async Task <IActionResult> Create([Bind("ParkId,Name,Description,City,State,WebsiteLink,ParkMapLink")] Park park, List <IFormFile> files)
        {
            if (ModelState.IsValid)
            {
                // 1. Save the park model first, creates a unique id for the inserted park.
                _context.Add(park);
                await _context.SaveChangesAsync();

                // 2. Save the ImageFiles in Images folder and get new Filenames.
                var newFileNames = ImageProcessor.SaveImageFilesToDrive(files);

                // 3. Save FileName and path in db.
                foreach (var newfileName in newFileNames)
                {
                    var imageFileName = new ImageFileName()
                    {
                        FileName = newfileName,
                        ParkId   = park.ParkId
                    };
                    _context.ImageFileNames.Add(imageFileName);
                    await _context.SaveChangesAsync();
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(park));
        }
Beispiel #2
0
        public ImageViewer(string imageFileName, Area a, Control owner)
            : base(owner)
        {
            this.Area          = a;
            this.ImageFileName = imageFileName;

            this.InitializeComponent();

            // Descriptive window title
            this.Text = @"Imagen: " + a.Name;
            if (this.Area is Estate)
            {
                this.Text += @" - "
                             + EstateExplorer.EtqFinca
                             + ((this.Area as Estate).IsUrban ?
                                (@" " + EstateExplorer.EtqUrbana)
                                                        : @"")
                ;

                if (ImageFileName.Contains(Database.EtqZona))
                {
                    this.Text += ' ' + ('('
                                        + Database.EtqZona.ToLower()
                                        + ')' + ' ');
                }
            }
            else
            if (this.Area is Place)
            {
                this.Text += @" - " + Area.FormatForPresentation(Database.EtqLugar);
            }

            this.MaximumSize = new Size(this.Owner.Width, this.Owner.Height);
            pictureBox.LoadAsync(imageFileName);
        }
Beispiel #3
0
        public async Task LoadImage()
        {
            if (ImageFileName.Contains("ms-appx:Assets"))
            {
                BitmapImage bitmapImage = new BitmapImage(new Uri(ImageFileName, UriKind.RelativeOrAbsolute));
                ImageBrush  brush       = new ImageBrush();
                brush.AlignmentX      = AlignmentX.Left;
                brush.AlignmentY      = AlignmentY.Top;
                brush.Stretch         = Stretch.UniformToFill;
                _picBrush.ImageSource = bitmapImage;
                return;
            }

            var folder = await StaticHelpers.GetSaveFolder();

            var file = await folder.GetFileAsync(ImageFileName);

            using (Windows.Storage.Streams.IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read))
            {
                // Set the image source to the selected bitmap.
                Windows.UI.Xaml.Media.Imaging.BitmapImage bitmapImage =
                    new Windows.UI.Xaml.Media.Imaging.BitmapImage();

                bitmapImage.SetSource(fileStream);
                _picBrush.ImageSource = bitmapImage;
            }
        }
Beispiel #4
0
        public async Task <IActionResult> Create([Bind("RideId,Name,Description,Height,Length,TopSpeed,GForce,RideType,ThrillType,MaterialType,WebsiteLink,BuildDate,Manufacturer,ParkId")] Ride ride, List <IFormFile> files)
        {
            if (ModelState.IsValid)
            {
                // 1. Save the ride model first, creates a unique id for the inserted park.
                _context.Add(ride);
                await _context.SaveChangesAsync();

                // 2. Save the ImageFiles in Images folder and get new Filenames.
                var newFileNames = ImageProcessor.SaveImageFilesToDrive(files);

                // 3. Save FileName and path in db.
                foreach (var newfileName in newFileNames)
                {
                    var imageFileName = new ImageFileName()
                    {
                        FileName = newfileName,
                        RideId   = ride.RideId
                    };
                    _context.ImageFileNames.Add(imageFileName);
                    await _context.SaveChangesAsync();
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ParkId"] = new SelectList(_context.Parks, "ParkId", "ParkId", ride.ParkId);
            return(View(ride));
        }
 private async Task UploadImageBytesSized(ResizeImagesAndStore request, ImageSize size, CancellationToken cancellationToken)
 {
     await using MemoryStream stream = new MemoryStream(request.ImageContent.ResizeImage((int)size));
     await _mediator.Send(new SendToAzureStorage
     {
         Content  = stream,
         FileName = ImageFileName.GetGameImageFile(request.ImageId, request.GameId, size)
     }, cancellationToken);
 }
Beispiel #6
0
        private async Task SaveParkImageFiles(Park park, List <IFormFile> files)
        {
            if (files != null)
            {
                foreach (var file in files)
                {
                    if (file.Length > 0)
                    {
                        //Getting FileName
                        var fileName = Path.GetFileName(file.FileName);

                        //Assigning Unique Filename (Guid)
                        var myUniqueFileName = Convert.ToString(Guid.NewGuid());

                        //Getting file Extension
                        var fileExtension = Path.GetExtension(fileName);

                        // concatenating  FileName + FileExtension
                        var newFileName = String.Concat(myUniqueFileName, fileExtension);

                        // Combines two strings into a path.
                        var filepath =
                            new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Images")).Root + $@"\{newFileName}";

                        using (FileStream fs = System.IO.File.Create(filepath))
                        {
                            file.CopyTo(fs);
                            fs.Flush();
                        }

                        var imageFileName = new ImageFileName()
                        {
                            FileName = newFileName,
                            ParkId   = park.ParkId
                        };
                        _context.ImageFileNames.Add(imageFileName);
                        await _context.SaveChangesAsync();
                    }
                }
            }
        } // end SaveImageFiles
Beispiel #7
0
        public async Task <Unit> Handle(RemoveImagesFromAzureStorage request, CancellationToken cancellationToken)
        {
            var container = _client.GetBlobContainerClient(_settings.Container);

            var filesToDelete = new[]
            {
                $"{request.GameId}_{request.ImageId}.jpg",
                ImageFileName.GetGameImageFile(request.ImageId, request.GameId, ImageSize.Small),
                ImageFileName.GetGameImageFile(request.ImageId, request.GameId, ImageSize.Medium)
            };

            foreach (var file in filesToDelete)
            {
                var blobClient = container.GetBlobClient(file);

                await blobClient.DeleteIfExistsAsync(DeleteSnapshotsOption.IncludeSnapshots,
                                                     new BlobRequestConditions(),
                                                     cancellationToken);
            }

            return(Unit.Value);
        }
        public async Task <byte[]> Handle(GetAzureFileContents request, CancellationToken cancellationToken)
        {
            string filename = ImageFileName.GetGameImageFile(request.ImageId, request.GameId, request.Size);

            return(await _client.DownloadFileAsync(_settings.Container, filename, cancellationToken));
        }