Example #1
0
        public ActionResult UploadPhoto(HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                var    userid       = User.UserID;
                var    user         = repository.GetUserById(userid);
                byte[] resizedImage = new byte[0];
                var    jpeg         = new byte[] { 255, 216, 255, 224 }; // jpeg
                if (file.ContentLength > 0)
                {
                    var filename = Path.GetFileName(file.FileName);
                    //using (var reader = new System.IO.BinaryReader(file.InputStream))
                    //{
                    //    if (!jpeg.SequenceEqual(reader.ReadBytes(file.ContentLength).Take(jpeg.Length)))
                    //    {
                    //        //file is not jpeg
                    //        return RedirectToAction("Index", "User");
                    //    }
                    //}
                    try
                    {
                        System.Drawing.Image sourceimage = System.Drawing.Image.FromStream(file.InputStream);
                        var BitmapResizedImage           = ProjectTools.ResizeImage(sourceimage, 50, 50);
                        resizedImage = ProjectTools.imageToByteArray(BitmapResizedImage);
                    }
                    catch (Exception ex)
                    {
                        ViewBag.ErrorMessage = ex.Message;
                        return(this.View());
                    }
                }

                repository.DeleteAllAvatarsFromUser(userid);

                if (file != null && file.ContentLength > 0)
                {
                    var avatar = new Picture
                    {
                        User        = user,
                        PictureName = System.IO.Path.GetFileName(file.FileName),
                        Type        = FileType.Avatar,
                        ContentType = file.ContentType
                    };
                    avatar.Content = resizedImage;
                    repository.SavePicture(avatar, userid);
                }
                return(RedirectToAction("Index", "User"));
            }

            return(RedirectToAction("Index", "User"));
        }
Example #2
0
        public async Task <ActionResult> EditUser(UserEditUserViewModel model, HttpPostedFileBase file)
        {
            // ModelState.AddModelError(string.Empty, "An image file must be chosen.");

            if (ModelState.IsValid)
            {
                if (file != null)
                {
                    string fileName = Path.GetFileName(file.FileName);
                    // Upload the file to Azure Blob Storage
                    bool savedComplete = await Task.Run(
                        () =>
                    {
                        var userid          = User.UserID;
                        var user            = repository.GetUserById(userid);
                        byte[] resizedImage = new byte[0];
                        var jpeg            = new byte[] { 255, 216, 255, 224 }; // jpeg
                        if (file.ContentLength > 0)
                        {
                            var filename = Path.GetFileName(file.FileName);
                            try
                            {
                                System.Drawing.Image sourceimage =
                                    System.Drawing.Image.FromStream(file.InputStream);
                                var BitmapResizedImage = ProjectTools.ResizeImage(sourceimage, 256, 256);
                                resizedImage           = ProjectTools.imageToByteArray(BitmapResizedImage);
                            }
                            catch (Exception ex)
                            {
                                ViewBag.ErrorMessage = ex.Message;
                                ModelState.AddModelError(string.Empty, "An image file must be chosen.");
                                return(false);
                            }
                        }

                        repository.DeleteAllAvatarsFromUser(userid);

                        if (file != null && file.ContentLength > 0)
                        {
                            var avatar = new Picture
                            {
                                User        = user,
                                PictureName = System.IO.Path.GetFileName(file.FileName),
                                Type        = FileType.Avatar,
                                ContentType = file.ContentType
                            };
                            avatar.Content = resizedImage;
                            repository.SavePicture(avatar, userid);
                        }
                        return(true);
                    });
                }
                if (User == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                repository.UserEditUser(model);
                User.FirstName = model.FirstName;
                User.LastName  = model.LastName;
                return(RedirectToAction("Index"));
            }
            ViewBag.AcademyID = new SelectList(repository.GetAllAcademies(), "AcademyID", "AcademyName", model.AcademyID);
            return(View(model));
        }