private void Initialize() { dao04 = DAO_Pesquisa04.Instance; dao02 = DAO_Pesquisa02.Instance; dao03 = DAO_Pesquisa03.Instance; daoFiltro = DAO_Filtro.Instance; daoDownload = DAO_Download.Instance; //dao07 = DAO_Pesquisa07.Instance; MessagingCenter.Subscribe <String>(this, "VerificarExibirDetalhes", (s) => { VerificarExibirDetalhes(); }); CmdBaixar = new Command(() => { DownloadDados(); }); CmdDetalhes = new Command(() => { VisualizarDetalhes(); }); pesquisador = Utils.ObterPesquisadorLogado(); Title = pesquisador.razaosocial; SubTitle = pesquisador.nome; AdicionarControles(); ObterItensFormulario(); }
public DadosPesquisaUtil() { dao01 = DAO_Pesquisa01.Instance; dao06 = DAO_Pesquisa06.Instance; dao02 = DAO_Pesquisa02.Instance; dao03 = DAO_Pesquisa03.Instance; dao04 = DAO_Pesquisa04.Instance; daoFiltro = DAO_Filtro.Instance; listPesquisas = new List <CE_Pesquisa06>(); listPerguntas = new List <CE_Pesquisa04>(); ws = WSUtil.Instance; }
public ModalRespostaViewModel(ContentPage page, ModalResposta modalResposta, ItemArvoreFormularioViewModel itemViewModel) { this.page = page; this.modalResposta = modalResposta; this.itemViewModel = itemViewModel; dao = DAO_Filtro.Instance; CmdCancelar = new Command(() => { this.page.Navigation.PopModalAsync(); }); CmdConfirmar = new Command(() => { DefinirFiltro(); }); CmdLimpar = new Command(() => { LimparFiltro(); }); }
public Boolean TemFiltro() { DAO_Filtro dao = DAO_Filtro.Instance; return(dao.TemFiltro(idpesquisa04)); }
public void CompartilharPDF(List <CE_Pesquisa04> perguntas) { if (Android.Support.V4.App.ActivityCompat.CheckSelfPermission(Android.App.Application.Context, Android.Manifest.Permission.WriteExternalStorage) != (int)Android.Content.PM.Permission.Granted) { Android.Support.V4.App.ActivityCompat.RequestPermissions(mainActivity, new string[] { Android.Manifest.Permission.WriteExternalStorage }, 0); return; } else { try { Configuracao conf = ObterConfiguracao(); //String path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments); String path = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath; String arquivoPDF = Path.Combine(path, "graficos.pdf"); DAO_Filtro daoFiltro = DAO_Filtro.Instance; List <CE_Filtro> listFiltros = daoFiltro.ObterFiltrosPorPesquisa(perguntas[0].idpesquisa01); List <CE_Pesquisa03> opcoes = new List <CE_Pesquisa03>(); foreach (var item in perguntas) { if (item.TemFiltro()) { opcoes.AddRange(item.Opcoes); } } perguntas = perguntas.Where(o => o.IsPergunta && o.selecionado).ToList(); FileStream fs = new FileStream(arquivoPDF, FileMode.Create); Document document = new Document(PageSize.A4, 25, 25, 30, 30); PdfWriter writer = PdfWriter.GetInstance(document, fs); document.Open(); foreach (var pergunta in perguntas) { Paragraph paragrafo = new Paragraph(); paragrafo.Alignment = iTextSharp.text.Element.ALIGN_LEFT; Phrase prCabecalho = new Phrase("Gráfico gerado em: " + String.Format("{0:dd/MM/yyyy HH:mm:ss}", DateTime.Now) + " \n", new iTextSharp.text.Font(iTextSharp.text.Font.HELVETICA, 15f, iTextSharp.text.Font.NORMAL, iTextSharp.text.Color.BLACK)); paragrafo.Add(prCabecalho); Table table = new Table(1); table.Alignment = iTextSharp.text.Element.ALIGN_CENTER; table.Width = 100; Phrase pr = new Phrase(pergunta.descricao + " (" + pergunta.Quantidade + ") \n\n", new iTextSharp.text.Font(iTextSharp.text.Font.HELVETICA, 18f, iTextSharp.text.Font.NORMAL, iTextSharp.text.Color.WHITE)); iTextSharp.text.Cell cell = new iTextSharp.text.Cell(pr); cell.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER; cell.BackgroundColor = iTextSharp.text.Color.BLUE; table.AddCell(cell); paragrafo.Add(table); Paragraph pImg = new Paragraph(); pImg.Alignment = iTextSharp.text.Element.ALIGN_CENTER; MemoryStream ms = new MemoryStream(); if (pergunta.GraficoPizza != null) { if (pergunta.TipoGrafico == 1 && pergunta.GraficoPizza.Width > 0) { ((MikePhil.Charting.Data.PieData)pergunta.GraficoPizza.Data).SetValueTextSize(conf.TamanhoFonteGrafico); ((MikePhil.Charting.Components.Legend)pergunta.GraficoPizza.Legend).TextSize = conf.TamanhoFonteGrafico - 2; pergunta.GraficoPizza.ChartBitmap.Compress(Android.Graphics.Bitmap.CompressFormat.Png, 0, ms); iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(ms.ToArray()); img.ScalePercent(40f); img.Alignment = iTextSharp.text.Element.ALIGN_CENTER; pImg.Add(img); paragrafo.Add(pImg); document.Add(paragrafo); ((MikePhil.Charting.Data.PieData)pergunta.GraficoPizza.Data).SetValueTextSize(15f); ((MikePhil.Charting.Components.Legend)pergunta.GraficoPizza.Legend).TextSize = 15f; } else if (pergunta.TipoGrafico == 2 && pergunta.GraficoBarra.Width > 0) { pergunta.GraficoBarra.BarData.SetValueTextSize(conf.TamanhoFonteGrafico); pergunta.GraficoBarra.ChartBitmap.Compress(Android.Graphics.Bitmap.CompressFormat.Png, 0, ms); iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(ms.ToArray()); img.ScalePercent(40f); img.Alignment = iTextSharp.text.Element.ALIGN_CENTER; pImg.Add(img); paragrafo.Add(pImg); document.Add(paragrafo); pergunta.GraficoBarra.BarData.SetValueTextSize(15f); } } else { if (pergunta.TipoGrafico == 1 && pergunta.GraficoLinha.Width > 0) { pergunta.GraficoLinha.LineData.SetValueTextSize(conf.TamanhoFonteGrafico); pergunta.GraficoLinha.ChartBitmap.Compress(Android.Graphics.Bitmap.CompressFormat.Png, 0, ms); iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(ms.ToArray()); img.ScalePercent(40f); img.Alignment = iTextSharp.text.Element.ALIGN_CENTER; pImg.Add(img); paragrafo.Add(pImg); document.Add(paragrafo); pergunta.GraficoLinha.LineData.SetValueTextSize(15f); } else if (pergunta.TipoGrafico == 2 && pergunta.GraficoBarra.Width > 0) { pergunta.GraficoBarra.BarData.SetValueTextSize(conf.TamanhoFonteGrafico); pergunta.GraficoBarra.ChartBitmap.Compress(Android.Graphics.Bitmap.CompressFormat.Png, 0, ms); iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(ms.ToArray()); img.ScalePercent(40f); img.Alignment = iTextSharp.text.Element.ALIGN_CENTER; pImg.Add(img); paragrafo.Add(pImg); document.Add(paragrafo); pergunta.GraficoBarra.BarData.SetValueTextSize(15f); } } ms.Close(); Paragraph paragrafoRodape = new Paragraph(); paragrafoRodape.Alignment = iTextSharp.text.Element.ALIGN_LEFT; String filtro = "Filtros: "; if (listFiltros.Count > 0) { for (int i = 0; i < listFiltros.Count; i++) { if (i != listFiltros.Count - 1) { filtro += opcoes.FirstOrDefault(o => o.idpesquisa03 == listFiltros[i].idpesquisa03).descricao + ", "; } else { filtro += opcoes.FirstOrDefault(o => o.idpesquisa03 == listFiltros[i].idpesquisa03).descricao; } } } else { filtro = "Filtros: Nenhum"; } Phrase prRodape = new Phrase(filtro, new iTextSharp.text.Font(iTextSharp.text.Font.HELVETICA, 15f, iTextSharp.text.Font.NORMAL, iTextSharp.text.Color.BLACK)); paragrafoRodape.Add(prRodape); document.Add(paragrafoRodape); document.NewPage(); } document.Close(); writer.Close(); fs.Close(); var fileUri = Android.Net.Uri.FromFile(new Java.IO.File(arquivoPDF)); var sharingIntent = new Intent(); sharingIntent.SetAction(Intent.ActionSend); sharingIntent.SetType("application/pdf"); //sharingIntent.PutExtra(Intent.ExtraText, content); sharingIntent.PutExtra(Intent.ExtraStream, fileUri); //sharingIntent.AddFlags(ActivityFlags.GrantReadUriPermission); Intent intent = Intent.CreateChooser(sharingIntent, "graficos.pdf"); intent.AddFlags(ActivityFlags.NewTask); Android.App.Application.Context.StartActivity(intent); } catch (Exception e) { throw e; } } }