public void Handle(SavePicture notification) { if (!notification.HasImage()) { throw new InvalidOperationException("No Image was uploaded."); } StudentPicture studentPicture = _dbContext.StudentPictures .Where(e => e.StudentId.Equals(_currentUser.User.Id)) .SingleOrDefault(e => e.ImageType == notification.Type) ?? new StudentPicture { ImageType = notification.Type }; studentPicture.StudentId = _currentUser.User.Id; studentPicture.DateSubmitted = DateTime.Now; studentPicture.ImageName = notification.FileName; studentPicture.ImageData = notification.ImageData; studentPicture.MimeType = notification.MimeType; if (studentPicture.Id == default(int)) { _dbContext.StudentPictures.Add(studentPicture); } else { ObjectStateManager objectStateManager = ((IObjectContextAdapter)_dbContext).ObjectContext.ObjectStateManager; _dbContext.StudentPictures.Attach(studentPicture); objectStateManager.ChangeObjectState(studentPicture, EntityState.Modified); } _dbContext.SaveChanges(); }
public WebImage Handle(GetPicture request) { StudentPicture studentPicture = _dbContext.StudentPictures .Where(e => e.StudentId.Equals(request.UserId)) .SingleOrDefault(e => e.ImageType == request.Type); return(studentPicture == null ? new WebImage(HostingEnvironment.MapPath(@"~/Content/images/male_silhouette.png")) : new WebImage(studentPicture.ImageData)); }
public static ImageModel Create(StudentPicture studentPicture) { if (studentPicture == null) { return(new ImageModel()); } var model = new ImageModel { ImageString = string.Format("data:{0};base64,{1}", studentPicture.MimeType, Convert.ToBase64String(studentPicture.ImageData)) }; return(model); }