public ActionResult StepTwo(UploadImageStepOne model)
        {
            UploadImageStepTwo stepTwoModel = new UploadImageStepTwo();
            Image image;

            try
            {
                ImageManager mngr   = new ImageManager();
                var          images = mngr.RetrieveAllImages();

                mapSavedPicturesToImageBanners(images, stepTwoModel.Images);
                image = Image.FromStream(model.Image.InputStream, true, true);

                if (image.Width > 1000 || image.Height > 1000)
                {
                    throw new Exception("Too large image!");
                }
            }
            catch (Exception ex)
            {
                return(View("Error", ex));
            }

            stepTwoModel.Width       = image.Width;
            stepTwoModel.Height      = image.Height;
            stepTwoModel.ContentType = model.Image.ContentType;

            ImageConverter converter = new ImageConverter();

            stepTwoModel.BinaryContent = (byte[])converter.ConvertTo(image, typeof(byte[]));

            return(View("StepTwo", stepTwoModel));
        }
 void mapUploadedImageToPicture(UploadImageStepTwo model, Picture picture)
 {
     picture.X           = model.XCoordinates.Value;
     picture.Y           = model.YCoordinates.Value;
     picture.Link        = model.Link;
     picture.Width       = model.Width;
     picture.Height      = model.Height;
     picture.User        = User.Identity.Name;
     picture.Data        = model.BinaryContent;
     picture.ContentType = model.ContentType;
 }
        public ActionResult Upload(UploadImageStepTwo model)
        {
            ImageManager mngr = new ImageManager();
            Picture      pic  = new Picture();

            try
            {
                mapUploadedImageToPicture(model, pic);

                mngr.SaveNewImage(pic);
            }
            catch (Exception ex)
            {
                return(View("Error", ex));
            }

            UploadImageSuccess success = new UploadImageSuccess();

            success.Price = model.Width * model.Height;

            return(View(success));
        }