예제 #1
0
        public EditUserPictureViewModel PrepareEditCurriculumViteaPictures()
        {
            EditUserPictureViewModel model = new EditUserPictureViewModel();

            model.DefaultPictureID = 0;

            foreach (var item in _fileService.ListUserProfilePictures(true))
            {
                if (item.IsCurrentProfilePicture)
                {
                    model.DefaultPictureID = item.Id;
                }
                model.UserProfileImages.Add(new FileViewModel()
                {
                    Id            = item.Id,
                    ContentType   = item.IntegratorFile.ContentType,
                    FileName      = item.IntegratorFile.FileName,
                    FileExtension = item.IntegratorFile.FileExtension,
                    FileSize      = item.IntegratorFile.FileSize,
                    DateCreated   = item.IntegratorFile.DateCreated,
                    FileBytes     = item.IntegratorFile.InegratorFileBlob.FileBlob
                });
            }

            return(model);
        }
예제 #2
0
        public async Task <IActionResult> Picture([FromForm] EditUserPictureViewModel model)
        {
            IntegratorFile NewProfilePicture = new IntegratorFile();

            NewProfilePicture.FileName      = Path.GetFileNameWithoutExtension(model.UserProfileImage.FileName);
            NewProfilePicture.FileExtension = Path.GetExtension(model.UserProfileImage.FileName);
            NewProfilePicture.FileSize      = model.UserProfileImage.Length;
            NewProfilePicture.ContentType   = model.UserProfileImage.ContentType;
            NewProfilePicture.DateCreated   = DateTime.Now;
            NewProfilePicture.UserPicture   = new UserPicture()
            {
                IntegratorUserID        = _userService.GetUserID(),
                IsCurrentProfilePicture = true
            };

            Image OriginalImage = null;

            using (var memoryStream = new MemoryStream())
            {
                await model.UserProfileImage.CopyToAsync(memoryStream);

                OriginalImage = new Bitmap(memoryStream);


                Image destinationImage = new Bitmap(480, 480);

                using (Graphics g = Graphics.FromImage(destinationImage))
                {
                    g.DrawImage(
                        OriginalImage,
                        new Rectangle(0, 0, 480, 480),
                        new Rectangle(model.sourceX, model.sourceY, model.sourceWidth, model.sourceHeight),
                        GraphicsUnit.Pixel
                        );
                }

                byte[] CroppedImage;
                using (var ms = new MemoryStream())
                {
                    destinationImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                    CroppedImage = ms.ToArray();
                }

                NewProfilePicture.FileSize = CroppedImage.Length;



                NewProfilePicture.InegratorFileBlob = new InegratorFileBlob()
                {
                    FileBlob = CroppedImage
                };
            }
            _userService.AddUserProfilePicture(NewProfilePicture);
            return(RedirectToAction("Picture"));
        }
예제 #3
0
        public IActionResult NewPicture()
        {
            EditUserPictureViewModel model = _curriculumVitaeViewModelFactory.PrepareEditCurriculumViteaPictures();

            return(View(model));
        }