public QuestoesViewModel(int idAspecto) { GerenciadorFotos = DependencyService.Get <IGerenciadorFotos>(); MyList = new ObservableCollection <QuestionarioModelClass>(); _idAspecto = idAspecto; FillData(idAspecto); DesabilitarQuestoesAnulaveis(idQuestao, idResposta); RadionButtonCommandRespostaQuestao = new Command(async(model) => { QuestionarioModelClass questaoSelecionada = (QuestionarioModelClass)model; var idQuestao = Convert.ToInt32(questaoSelecionada.id); var respostaQuestao = Convert.ToInt32(questaoSelecionada.resposta); DesabilitarQuestoesAnulaveis(idQuestao, respostaQuestao); }); ButtonClickCommandEnviarQuestionario = new Command(async(model) => { Device.BeginInvokeOnMainThread(async() => { IList <QuestionarioModelClass> relacaoQuestoes = (IList <QuestionarioModelClass>)model; using (UserDialogs.Instance.Loading("Sincronizando Questionário.", null, null, true, MaskType.Black)) { await EnviarQuestionario(relacaoQuestoes, idAspecto); Device.BeginInvokeOnMainThread(() => { UserDialogs.Instance.HideLoading(); }); } }); }); ButtonClickCommandFoto = new Command(async(model) => { try { MediaFile file; IMedia media = CrossMedia.Current; QuestionarioModelClass questoes = (QuestionarioModelClass)model; MidiaQuestoes midiaQuestoes; DatabaseHelper service = new DatabaseHelper(); var qtdMidia = service.GetqtdMidia(); var qtdQuestoes = service.QuantidadeMidiaQuestoes(questoes.id); if (qtdQuestoes < qtdMidia.data) { await CrossMedia.Current.Initialize(); bool answer = await Application.Current.MainPage.DisplayAlert("", "Deseja Obter imagem através ", "Galeria", "Câmera"); if (answer) { //Procedimento para capturar foto da galeria try { /*MediaFile _mediaFile; * if (!CrossMedia.Current.IsPickPhotoSupported) * { * System.Diagnostics.Debug.WriteLine("Erro."); * return; * } * file = await media.PickPhotoAsync(); * if (file == null) * { * await Application.Current.MainPage.DisplayAlert("", "Mídia não selecionada.", "OK"); * return; * } * else * { * string caminho = file.Path; * string filename = null; * filename = Path.GetFileName(caminho); * file.Dispose(); * midiaQuestoes = new MidiaQuestoes(); * midiaQuestoes.questaoVisitaId = questoes.id; * midiaQuestoes.dataGravacao = DateTime.Now; * midiaQuestoes.legenda = filename; * midiaQuestoes.caminho = caminho; * service.InsertMidiaQuestoes(midiaQuestoes); * * }*/ await GerenciadorFotos.MidiaAsync(); //ImageSource imagem = ImageSource.FromStream(() => imageStream); } catch (Exception ex) { await Application.Current.MainPage.DisplayAlert("", ex.Message, "OK"); } //Fim Procedimento para capturar foto da galeria } else { //Procedimento para Tirar Foto para questão. string _datahora; var _data = DateTime.Now; var day = _data.Day.ToString(); var month = _data.Month.ToString(); var year = _data.Year.ToString(); var hora = _data.Hour.ToString(); var minuto = _data.Minute.ToString(); var segundo = _data.Second.ToString(); _datahora = day + "_" + month + "_" + year + "_" + hora + "_" + minuto + "_" + segundo; if (!CrossMedia.Current.IsTakePhotoSupported || !CrossMedia.Current.IsCameraAvailable) { await Application.Current.MainPage.DisplayAlert("Ops", "Nenhuma câmera detectada.", "OK"); return; } try { file = await CrossMedia.Current.TakePhotoAsync( new StoreCameraMediaOptions { PhotoSize = PhotoSize.Small, CompressionQuality = 92, SaveToAlbum = true, Name = questoes.id.ToString() + "_" + _datahora, Directory = "Milenio" }); string caminho = file.AlbumPath; if (file == null) { return; } else { midiaQuestoes = new MidiaQuestoes(); midiaQuestoes.questaoVisitaId = questoes.id; midiaQuestoes.dataGravacao = DateTime.Now; midiaQuestoes.legenda = questoes.id.ToString() + "_" + _datahora + ".jpg"; midiaQuestoes.caminho = caminho; service.InsertMidiaQuestoes(midiaQuestoes); } } catch (Exception ex) { throw; } // Fim Procedimento para tirar Foto para questão } } else { string msg = "Limite atingido de " + qtdMidia.data + " mídias por pergunta. "; await Application.Current.MainPage.DisplayAlert("", msg, "OK"); } } catch (Exception ex) { await Application.Current.MainPage.DisplayAlert("", "Mídia não selecionada.", "OK"); } }); }
public MainPage() { InitializeComponent(); GerenciadorFotos = DependencyService.Get <IGerenciadorFotos>(); }