public void OnPictureSelected(AIImage image, MediaFile mediaFile) { try { if (mediaFile != null) { image.Source = ImageSource.FromStream(() => { return(mediaFile.GetStream()); }); Question qn = Sections.SelectMany(l => l.Questions).Where(x => x.Key == (image.Parent as StackLayout).ClassId).FirstOrDefault(); //Question being in a depedency subsection if (qn == null) { var dependency = QSections.Sections.SelectMany(s => s.Questions) .SelectMany(x => x.Dependencies) .Where(o => o.Occurance == image.Occurance); qn = dependency.Select(v => v.Target) .Select(x => x.SubSection) .SelectMany(s => s.Questions) .Where(q => q.Key == image.ClassId).FirstOrDefault(); } //Question being in a subsection if (qn == null) { qn = QSections.Sections.SelectMany(s => s.SubSections).SelectMany(l => l.Questions).Where(x => x.Key == image.ClassId).FirstOrDefault(); } if (qn.Answers == null) { qn.Answers = new List <Answer>(); qn.Answers.Add(new Answer() { Key = Guid.NewGuid().ToString(), AnswerText = Convert.ToBase64String(ConvertImageToByte(mediaFile)) }); } else { qn.Answers.Clear(); qn.Answers.Add(new Answer() { Key = Guid.NewGuid().ToString(), AnswerText = Convert.ToBase64String(ConvertImageToByte(mediaFile)) }); } } } catch (Exception ex) { Task.Run(async() => await PopupNavigation.Instance.PushAsync(new MessageBox(ex.StackTrace, MessageType.Regular, this), true)); } }
public PhotoUploadOptions(AIImage image, PicturePageState pageState) { this._pageState = pageState; InitializeComponent(); this.Image = image; }