示例#1
0
        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();
        }
示例#2
0
        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));
        }
示例#3
0
        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);
        }