//[RequireHttps]
        public ActionResult Upload(ImageView image, HttpPostedFileBase ImageFile)
        {
            CheckAda();
            ApplicationUser user = GetLoggedInUser();

            if (user == null)
            {
                return(RedirectToAction("Login", "Account"));
            }
            String userid      = user.Id;
            Image  imageEntity = new Image();

            imageEntity.Caption     = image.Caption;
            imageEntity.Description = image.Description;
            imageEntity.DateTaken   = image.DateTaken;
            imageEntity.User        = user;
            imageEntity.UserId      = userid;
            imageEntity.TagId       = image.TagId;
            imageEntity.Approved    = false;
            imageEntity.Validated   = false;
            if (ImageFile != null && ImageFile.ContentLength > 0)
            {
                System.Drawing.Image img = System.Drawing.Image.FromStream(ImageFile.InputStream);
                //if (img.RawFormat.Guid == System.Drawing.Imaging.ImageFormat.Jpeg.Guid)
                //{
                ApplicationDBContext.Images.Add(imageEntity);
                ApplicationDBContext.SaveChanges();
                ImageStorage.SaveFile(Server, ImageFile, imageEntity.Id);
                ValidationRequest validationReq = new ValidationRequest();
                validationReq.imageId = imageEntity.Id;
                validationReq.UserId  = user.Id;
                validationQ.Initialize();
                validationQ.Send(validationReq);
                validationQ.Finalize();
                azureStorageQueue.addMessage(user.UserName.ToString() + " " + image.Caption + " ");
                return(RedirectToAction("Details", new { Id = imageEntity.Id }));

                //}
                //else
                //{
                //    ViewBag.Message = "Invalid JPEG image!";
                //    return RedirectToAction("Error", "Home", new { errid = "NoImageToUpload" });
                //}
            }
            else
            {
                ViewBag.Message = "Invalid JPEG image!";
                return(RedirectToAction("Error", "Home", new { errid = "NoImageToUpload" }));
            }
        }
Exemple #2
0
        public ActionResult Upload(ImageView image, HttpPostedFileBase ImageFile)
        {
            // Checking ADA
            CheckAda();

            TryUpdateModel(image);
            ViewBag.Tags = new SelectList(ApplicationDbContext.Tags, "Id", "Name", image.TagId);
            if (ModelState.IsValid)
            {
                ApplicationUser AppUser = GetLoggedInUser();
                if (AppUser != null)
                {
                    if (!ImageFile.FileName.Split('.')[1].ToUpper().Equals("JPG"))
                    {
                        ViewBag.ImageValidation = "File type must be JPG";
                        return(View());
                    }

                    double fileSize = 4;
                    if (((double)ImageFile.ContentLength / (1024 * 1024)) > fileSize)
                    {
                        ViewBag.ImageValidation = "File size is greater";
                        return(View());
                    }
                    // Assigning Image Details
                    Image imageEntity = new Image();
                    imageEntity.Caption     = image.Caption;
                    imageEntity.User        = AppUser;
                    imageEntity.Description = image.Description;
                    imageEntity.Approved    = false;
                    imageEntity.TagId       = image.TagId;
                    imageEntity.Validated   = false;
                    imageEntity.DateTaken   = image.DateTaken;

                    ImageView imageView = new ImageView();
                    imageView.Uri         = ImageStorage.ImageURI(Url, imageEntity.Id);
                    imageView.Caption     = imageEntity.Caption;
                    imageView.Description = imageEntity.Description;
                    imageView.DateTaken   = imageEntity.DateTaken;
                    imageView.UserId      = imageEntity.User.UserName;

                    if (ImageFile != null && ImageFile.ContentLength > 0)
                    {
                        ApplicationDbContext.Images.Add(imageEntity);
                        ApplicationDbContext.SaveChanges();

                        ImageStorage.SaveFile(Server, ImageFile, imageEntity.Id);
                        imageView.Id = imageEntity.Id;
                        LogContext.addLogEntry(User.Identity.Name, imageView);

                        // Logic for Validation Request.
                        ValidationRequest ValidationRequest = new ValidationRequest();
                        ValidationRequest.ImageId = imageEntity.Id;
                        ValidationRequest.UserId  = imageView.UserId;

                        //Send message in the queue
                        ValidationQueue.Send(ValidationRequest);

                        TempData["UploadSuccessMessage"] = "Image uploaded successfully.";
                        return(RedirectToAction("Upload"));
                    }
                    else
                    {
                        ViewBag.Message = "No image file specified";
                        return(View());
                    }
                }
                else
                {
                    ViewBag.Message = "No such user registered";
                    return(View());
                }
            }
            else
            {
                ViewBag.Message = "Please reenter the details!";
                return(View());
            }
        }
Exemple #3
0
        public ActionResult Upload(ImagesView image,
                                   HttpPostedFileBase ImageFile)
        {
            CheckAda();

            String  message = "";
            Boolean flag    = false;

            //System.Drawing.Image img;

            TryUpdateModel(image);

            if (ModelState.IsValid)
            {
                //HttpCookie cookie = Request.Cookies.Get("ImageSharing");
                ApplicationUser userid = GetLoggedInUser();
                ApplicationUser user   = db.Users.SingleOrDefault(u => u.Id.Equals(userid.Id));

                //if (cookie != null)
                //{
                //    image.Userid = cookie["Userid"];
                //    User user = db.Users.SingleOrDefault(u => u.Userid.Equals(image.Userid));

                if (user != null)
                {
                    /*
                     * Save image information in the database
                     */

                    //JavaScriptSerializer serializer = new JavaScriptSerializer();
                    //String jsonData = serializer.Serialize(image);

                    Image imageEntity = new Image();
                    imageEntity.Caption     = image.Caption;
                    imageEntity.Description = image.Description;
                    imageEntity.DateTaken   = image.DateTaken;
                    imageEntity.Userid      = user.Id;     //navigation property
                    imageEntity.TagId       = image.TagId; //navigation property
                    imageEntity.Approved    = false;
                    imageEntity.Validated   = false;

                    if (ImageFile != null && ImageFile.ContentLength > 0)
                    {
                        if (ImageFile.ContentLength > Limit)
                        {
                            flag    = true;
                            message = "Image size exceed permissible values";
                        }
                        //else if (ImageFile.ContentType != "image/jpeg")
                        //{
                        //    flag = true;
                        //    message = "File type " + ImageFile.ContentType +
                        //        " is not valid.  Only supports 'jpeg'.";
                        //}
                        else
                        {
                            //try
                            //{
                            //    img = System.Drawing.Image.FromStream(ImageFile.InputStream);

                            //}
                            //catch (SystemException ex)
                            //{
                            //    return View("Error");
                            //}

                            //if (img.RawFormat.Guid != System.Drawing.Imaging.ImageFormat.Jpeg.Guid)
                            //{
                            //    flag = true;
                            //    message = "File is invalid!";
                            //}
                            //else
                            //{
                            db.Images.Add(imageEntity);
                            db.SaveChanges();  //Save the changes to db so we get ID chosen by db
                            //Save the image
                            //String imgFileName = Server.MapPath("~/Content/Images/img-" + imageEntity.Id + ".jpg");
                            //ImageFile.SaveAs(imgFileName);
                            //ImageFile.SaveAs(getFilePath(imageEntity.Id));
                            ImageStorage.SaveFile(Server, ImageFile, imageEntity.Id);
                            //Push the image to the service bus queue for validation
                            QueueManager qm = new QueueManager(imageEntity.User.Id);
                            qm.addMessage(imageEntity, "Uploaded but it requires admin approvals.");
                            ValidationQueue.Send(new ValidationRequest(imageEntity.Id, imageEntity.User.Id));
                            //}
                        }
                    }
                    else
                    {
                        flag    = true;
                        message = "No file given or 0 sized file.";
                    }

                    if (flag)
                    {
                        ViewBag.Message = message;
                        ViewBag.Tags    = new SelectList(db.Tags, "Id", "Name", 1);
                        return(View());
                    }
                    else
                    {
                        ViewBag.Title = "Image uploaded.";
                        return(RedirectToAction("Details", new { Id = imageEntity.Id }));
                    }
                }
                else
                {
                    ViewBag.Message = "No such user found.";
                    return(View());
                }
                //}
                //else
                //{
                //    ViewBag.Message = "You need to register first before uploading.";
                //    return View();
                //}
            }
            else
            {
                ViewBag.Message = "Errors in the form fields";
                return(View());
            }
        }