public async Task <IHttpActionResult> CropImage([FromUri] SelectionImageBindingModel selectionImage)
        {
            var source = new Bitmap(HostingEnvironment.MapPath(selectionImage.UrlImage.ToRelativePath()));

            Rectangle section   = new Rectangle(new Point(selectionImage.X, selectionImage.Y), new Size(selectionImage.Width, selectionImage.Height));
            var       cropImage = _imageService.CropImage(source, section);

            var imageReference = _imageService.SaveImage(cropImage);

            return(Ok(imageReference));
        }
        public override Task ExecutePostProcessingAsync()
        {
            foreach (var file in Contents)
            {
                var parameters = file.Headers.ContentDisposition.Parameters;
                var data       = new SelectionImageBindingModel
                {
                    X      = int.Parse(GetNameHeaderValue(parameters, "X")),
                    Y      = int.Parse(GetNameHeaderValue(parameters, "Y")),
                    Width  = int.Parse(GetNameHeaderValue(parameters, "Width")),
                    Height = int.Parse(GetNameHeaderValue(parameters, "Heigh")),
                };

                CustomData = data;
            }

            return(base.ExecutePostProcessingAsync());
        }
 public CustomMultipartFileStreamProvider()
 {
     CustomData = new SelectionImageBindingModel();
 }