public void SetarValorLista() { try { String txresposta = ObterValorTxt(); if (NPage == 0) { if (ListaRespostas != null) { ListaRespostas.Clear(); } OpcaoSelecionada = modalResposta.Item.Opcoes.FirstOrDefault(o => o.descricao == txresposta); } else { if (txresposta != null) { OpcaoSelecionada = modalResposta.Item.OpcoesOutros.FirstOrDefault(o => o.descricao == txresposta); } if (ListaRespostas != null && ListaRespostas.Count > 0) { List <CE_Pesquisa03> opcoes = new List <CE_Pesquisa03>(); opcoes.AddRange(modalResposta.Item.OpcoesOutros); foreach (var item in ListaRespostas) { var opcao = modalResposta.Item.OpcoesOutros.FirstOrDefault(o => o.idpesquisa03 == item.idpesquisa03outros); if (opcao != null) { opcoes.Remove(opcao); } } modalResposta.ListView.ItemsSource = opcoes; } } if (OpcaoSelecionada.campotipooutros == 1) { OpcaoSelecionada.descricao = OpcaoSelecionada.descricao + " - " + resposta.txrespostaoutros; } } catch (Exception) { OpcaoSelecionada = null; } }
public void SetarValorListaMulti() { if (itemViewModel.IsRespondido) { DAO_Pesquisa07 dao = DAO_Pesquisa07.Instance; List <CE_Pesquisa07> respostas = dao.ObterRespostaPorPergunta(modalResposta.Item.idpesquisa04, itemViewModel.Item.Formulario.codigoformulario); resposta = respostas.FirstOrDefault(); foreach (var item in respostas) { /*var opcoes = modalResposta.Item.Opcoes.Where(o => o.descricao == item.txresposta).ToList(); * if (opcoes.Count > 0) * opcoes[0].Selecionado = true;*/ foreach (var opcao in modalResposta.Item.Opcoes) { if (opcao.descricao == item.txresposta) { opcao.IsSelecionado = true; if (opcao.campotipooutros == 1) { if (resposta.tipodadooutros == "Int" || resposta.tipodadooutros == "Dbl") { opcao.descricao = opcao.descricao + " - " + item.vlrespostaoutros.ToString().Replace(",", "."); } else { opcao.descricao = opcao.descricao + " - " + item.txrespostaoutros; } } if (ListaRespostas == null) { ListaRespostas = new List <CE_Pesquisa07>(); } item.pesquisa03 = opcao; ListaRespostas.Add(item); break; } } } } }
public void DefinirRespostaListaMulti() { try { //var selecionados = modalResposta.Item.Opcoes.Where(o => o.IsSelecionado).ToList(); if (ListaRespostas == null || ListaRespostas.Count == 0) { this.page.DisplayAlert("Aviso", "Selecione pelo menos uma das opções antes de confirmar.", "Ok"); return; } if (ListaRespostas.Count < modalResposta.Item.qtminrespostas && modalResposta.Item.qtminobrigatoria == 1) { this.page.DisplayAlert("Aviso", "Para esta pergunta deve ser informado no mínimo " + modalResposta.Item.qtminrespostas + " resposta(s).", "Ok"); return; } DeletarRespostas(); foreach (var item in ListaRespostas) { if (item.pesquisa03.campotipooutros == 0) { item.vlrespostaoutros = 0; item.txrespostaoutros = null; } item.idpesquisa07 = 0; dao.SalvarResposta(item); } ListaRespostas.Clear(); itemViewModel.IsRespondido = true; this.page.Navigation.PopModalAsync(); } catch (Exception) { itemViewModel.IsRespondido = false; this.page.DisplayAlert("Erro", "Não foi possível salvar a resposta.", "Ok"); } }
public async void TratarRespostaLista(CE_Pesquisa03 opcao) { //var selecionado = modalResposta.Item.Opcoes.Where(o => o.IsSelecionado).ToList().FirstOrDefault(b => b.idpesquisa03 == OpcaoSelecionada.idpesquisa03); if (modalResposta.Item.pesquisa02outros != null && opcao.campotipooutros == 1) //&& selecionado == null) { if (itemViewModel.IsRespondido && modalResposta.Item.qtrespostas == 1) { resposta = dao.ObterRespostaPorPergunta(modalResposta.Item.idpesquisa04, itemViewModel.Item.Formulario.codigoformulario).FirstOrDefault(); resposta.pesquisa03 = opcao; if (resposta.idpesquisa03 != opcao.idpesquisa03) { CriarResposta(opcao); } if (ListaRespostas != null) { ListaRespostas.Clear(); } else { ListaRespostas = new List <CE_Pesquisa07>(); } ListaRespostas.Add(resposta); } else { CriarResposta(opcao); if (opcao.retornopesquisa != null) { resposta.vlresposta = Decimal.Parse(opcao.retornopesquisa); } if (ListaRespostas == null) { ListaRespostas = new List <CE_Pesquisa07>(); } ListaRespostas.Add(resposta); } ModalResposta modalRespostaOutros = new ModalResposta(modalResposta.Item, modalResposta.Pesquisa06, modalResposta.Item.pesquisa02outros.tipodado, 1); modalRespostaOutros.CodigoFormulario = itemViewModel.Item.Formulario.codigoformulario; ModalRespostaViewModel viewModel = new ModalRespostaViewModel(this.page, modalRespostaOutros, itemViewModel, resposta, 1, modalResposta.Item.pesquisa02outros.tipodado, ListaRespostas); modalRespostaOutros.BindingContext = viewModel; await this.page.Navigation.PushModalAsync(modalRespostaOutros); viewModel.SetarValores(); } else { if (NPage == 0) { //if (ListaRespostas != null) // ListaRespostas.Clear(); //else // ListaRespostas = new List<CE_Pesquisa07>(); if (ListaRespostas == null || modalResposta.Item.qtrespostas == 1) { ListaRespostas = new List <CE_Pesquisa07>(); } CriarResposta(opcao); if (opcao.retornopesquisa != null) { resposta.vlresposta = Decimal.Parse(opcao.retornopesquisa); } ListaRespostas.Add(resposta); } } }
private void ListView_ItemTapped(object sender, ItemTappedEventArgs e) { var list = sender as ListView; CE_Pesquisa03 item = list.SelectedItem as CE_Pesquisa03; List <CE_Pesquisa03> selecionados = modalResposta.Item.Opcoes.Where(o => o.IsSelecionado).ToList(); var selecionado = selecionados.Where(o => o.idpesquisa03 == item.idpesquisa03).FirstOrDefault(); if (selecionado == null) { if (item.campotipooutros == 0) { item.IsSelecionado = true; } TratarRespostaLista(item); } else { selecionado.IsSelecionado = !selecionado.IsSelecionado; if (selecionado.IsSelecionado) { if (selecionado.IsSelecionado && selecionado.campotipooutros == 1) { selecionado.IsSelecionado = false; } TratarRespostaLista(selecionado); } else { var resp = ListaRespostas.FirstOrDefault(o => o.idpesquisa03 == selecionado.idpesquisa03); selecionado.descricao = selecionado.descricao.Replace(" - " + resp.txresposta, "").Replace(" - " + resp.txrespostaoutros, "").Replace(" - " + resp.vlresposta.ToString(), "").Replace(" - " + resp.vlrespostaoutros.ToString(), ""); ListaRespostas.Remove(resp); } } if (selecionados.Count >= modalResposta.Item.qtrespostas) { if (selecionado == null) { selecionados.Last().IsSelecionado = false; var resp = ListaRespostas.FirstOrDefault(o => o.idpesquisa03 == selecionados.Last().idpesquisa03); selecionados.Last().descricao = selecionados.Last().descricao.Replace(" - " + resp.txresposta, "").Replace(" - " + resp.txrespostaoutros, "").Replace(" - " + resp.vlresposta.ToString(), "").Replace(" - " + resp.vlrespostaoutros.ToString(), ""); ListaRespostas.Remove(resp); } else { if (selecionado.idpesquisa03 != item.idpesquisa03) { selecionados.Last().IsSelecionado = false; var resp = ListaRespostas.FirstOrDefault(o => o.idpesquisa03 == selecionados.Last().idpesquisa03); selecionados.Last().descricao = selecionados.Last().descricao.Replace(" - " + resp.txresposta, "").Replace(" - " + resp.txrespostaoutros, "").Replace(" - " + resp.vlresposta.ToString(), "").Replace(" - " + resp.vlrespostaoutros.ToString(), ""); ListaRespostas.Remove(resp); } } } }