示例#1
0
        public async Task <IActionResult> OnPostInsertAsync()
        {
            var user = await _userManager.GetUserAsync(User);

            if (!ModelState.IsValid || UploadPicture == null)
            {
                return(Page());
            }

            if (Tools.FileImageCheck.IsImage(UploadPicture))
            {
                Image image    = Image.FromStream(UploadPicture.OpenReadStream(), true, true);
                var   newImage = new Bitmap(200, 200);
                using (var g = Graphics.FromImage(newImage))
                {
                    g.DrawImage(image, 0, 0, 200, 200);
                }
                ImageConverter converter = new ImageConverter();
                EmployeePicture.Picture = (byte[])converter.ConvertTo(newImage, typeof(byte[]));
            }
            else
            {
                StatusMessage = "Error: Įkeltas failas neatpažįstamas kaip nuotrauka.";
                return(RedirectToPage());
            }
            EmployeePicture.ModifiedDate = DateTime.Now;
            EmployeePicture.EmployeeId   = user.Id;
            if (_context.EmployeePictures.Any(r => r.EmployeeId == user.Id))
            {
                EmployeePicture.Id = await _context.EmployeePictures.Where(r => r.EmployeeId == user.Id).Select(r => r.Id).FirstOrDefaultAsync();

                _context.Attach(EmployeePicture).State = EntityState.Modified;
            }
            else
            {
                _context.EmployeePictures.Add(EmployeePicture);
            }
            await _context.SaveChangesAsync();

            StatusMessage = "Jūsų nuotrauka buvo pakeista.";

            return(RedirectToPage());
        }