示例#1
0
        private async void BtnRefine_ButtonClicked(object sender, EventArgs e)
        {
            waitActivityIndicator.IsVisible = true;
            waitActivityIndicator.IsRunning = true;

            if (_dataFim < _dataIni)
            {
                await DisplayAlert("Ops!", "A data de fim não pode ser maior que a data início da pesquisa!", "Entendi!");

                DataIni.Focus();
                waitActivityIndicator.IsVisible = false;
                waitActivityIndicator.IsRunning = false;
                return;
            }

            DtoFiltro filtro = new DtoFiltro()
            {
                Assunto     = pckAssunto.SelectedIndex != -1 ? pckAssunto.Items[pckAssunto.SelectedIndex].ToString() : "Clipping do Dia",
                ChkImpresso = chkJr.Checked ? true : false,
                ChkTv       = chkTv.Checked ? true : false,
                ChkRd       = chkRd.Checked ? true : false,
                ChkOnline   = chkOnline.Checked ? true : false,
                ChkInter    = chkInter.Checked ? true : false,
                ChkMSocial  = chkMSocial.Checked ? true : false,
                Palavra     = txtPalavra.Text,
                NomeBanco   = _nomeBanco,
                Cliente     = _nomeCliente,
                DataIni     = _dataIni,
                DataFim     = _dataFim
            };

            waitActivityIndicator.IsVisible = false;
            waitActivityIndicator.IsRunning = false;
            await Navigation.PushAsync(new ListMaterias(filtro));
        }
示例#2
0
        public async Task <IActionResult> GetMateriasByProc([FromBody] DtoFiltro filtro)
        {
            var item = await _LoginRepository.FindMateriasByProc(filtro);

            if (item == null)
            {
                return(BadRequest("Erro ao retornar os assuntos"));
            }
            return(Ok(item));
        }
示例#3
0
        public ListMaterias(DtoFiltro filtro)
        {
            InitializeComponent();

            BindingContext = this;

            this.Padding = Device.OnPlatform(
                new Thickness(5, 10, 5, 5),
                new Thickness(5),
                new Thickness(5)
                );

            imgLogoCliente.Source = "http://www.clipnaweb.com.br/clipping/CNW/imagens/" + filtro.Cliente + "/logo.png";

            lblClipping.Text = "Clipping de notícias";

            this.MontaListagemMaterias(filtro);
        }
示例#4
0
        public async Task <List <DtoMateria> > FindMateriasByProc(DtoFiltro filtro)
        {
            try
            {
                List <DtoMateria> lst = null;

                using (SqlConnection con = new SqlConnection(GetConnectionString()))
                {
                    SqlCommand cmd = new SqlCommand("[dbo].[pr_get_materiaCNWMobile]", con)
                    {
                        CommandType = CommandType.StoredProcedure
                    };

                    SqlDataReader sqlDataReader = null;

                    //@prmDtInicio varchar(100),
                    //@prmDtFim varchar(100),
                    //@prmBanco varchar(100),
                    //@prmLikeMatResumo varchar(1000),
                    //@prmLikeMateria varchar(1000),
                    //@prmLikeMSocial varchar(1000),
                    //@prmMidia varchar(1000)

                    String palavraImpresso     = "";
                    String palavraOutrasMidias = "";
                    String palavraMSocial      = "";
                    String Clausula            = "";
                    String Midia = "";
                    String InnerJoinAssuntoImpresso     = "";
                    String ComplementoAssunto           = "";
                    String InnerJoinAssuntoOutrasMidias = "";

                    if (filtro.Assunto.ToLower() != "clipping do dia")
                    {
                        InnerJoinAssuntoImpresso = "INNER JOIN dbo.[Materias Palavras] MP ON MP.MAT_Id = ma.MAT_Id " +
                                                   "INNER JOIN dbo.Botoes B ON B.BTN_Palavra = MP.PLV_Palavra";

                        InnerJoinAssuntoOutrasMidias = "INNER JOIN dbo.MateriasPalavrasOutrasMidias MP ON MP.MAT_Id = number " +
                                                       "INNER JOIN dbo.Botoes B ON B.BTN_Palavra = MP.PLV_Palavra";

                        ComplementoAssunto = " AND B.BTN_Label = '" + filtro.Assunto + "' ";
                    }


                    if (!String.IsNullOrEmpty(filtro.Palavra))
                    {
                        palavraImpresso     = " AND (mat_titulo like '%" + filtro.Palavra + "%' OR mat_subtitulo like '%" + filtro.Palavra + "%' OR mat_resumo like '%" + filtro.Palavra + "%' )  ";
                        palavraOutrasMidias = " AND (título like '%" + filtro.Palavra + "%' OR subtitulo like '%" + filtro.Palavra + "%' OR materia like '%" + filtro.Palavra + "%' )  ";
                        palavraMSocial      = " AND (des_title like '%" + filtro.Palavra + "%' OR des_text like '%" + filtro.Palavra + "%')  ";
                    }

                    if (filtro.ChkImpresso)
                    {
                        Clausula += "'Impresso',";
                    }

                    if (filtro.ChkTv)
                    {
                        Clausula += "'tv',";
                    }

                    if (filtro.ChkRd)
                    {
                        Clausula += "'rd',";
                    }

                    if (filtro.ChkOnline)
                    {
                        Clausula += "'online',";
                    }

                    if (filtro.ChkInter)
                    {
                        Clausula += "'inter',";
                    }

                    if (filtro.ChkMSocial)
                    {
                        Clausula += "'msocial',";
                    }

                    if (Clausula != "")
                    {
                        Clausula = " and Midia in(" + Clausula + ") ";
                        Midia    = Clausula.Replace(",)", ")");
                    }

                    cmd.Parameters.AddWithValue("@prmDtInicio", filtro.DataIni.ToShortDateString());
                    cmd.Parameters.AddWithValue("@prmDtFim", filtro.DataFim.ToShortDateString());
                    cmd.Parameters.AddWithValue("@prmBanco", filtro.NomeBanco);
                    cmd.Parameters.AddWithValue("@prmLikeMatResumo", palavraImpresso);
                    cmd.Parameters.AddWithValue("@prmLikeMateria", palavraOutrasMidias);
                    cmd.Parameters.AddWithValue("@prmLikeMSocial", palavraMSocial);
                    cmd.Parameters.AddWithValue("@prmMidia", Midia);
                    cmd.Parameters.AddWithValue("@prmInnerJoinAssuntoImpresso", InnerJoinAssuntoImpresso);
                    cmd.Parameters.AddWithValue("@prmInnerJoinAssuntoOutrasMidias", InnerJoinAssuntoOutrasMidias);
                    cmd.Parameters.AddWithValue("@prmComplementoAssunto", ComplementoAssunto);


                    con.Open();
                    sqlDataReader = cmd.ExecuteReader();

                    lst = new List <DtoMateria>();
                    while (sqlDataReader.Read())
                    {
                        DtoMateria item = new DtoMateria();
                        if (!sqlDataReader.IsDBNull(0))
                        {
                            item.matId = sqlDataReader.GetInt32(0);
                        }
                        if (!sqlDataReader.IsDBNull(3))
                        {
                            item.titulo = sqlDataReader.GetString(3);
                        }
                        if (!sqlDataReader.IsDBNull(4))
                        {
                            item.subtitulo = sqlDataReader.GetString(4);
                        }
                        if (!sqlDataReader.IsDBNull(2))
                        {
                            item.data = sqlDataReader.GetDateTime(2);
                        }
                        if (!sqlDataReader.IsDBNull(7))
                        {
                            item.veiculo = sqlDataReader.GetString(7);
                        }
                        if (!sqlDataReader.IsDBNull(9))
                        {
                            item.programa = sqlDataReader.GetString(9);
                        }
                        if (!sqlDataReader.IsDBNull(6))
                        {
                            item.urlMateria = sqlDataReader.GetString(6);
                        }
                        if (!sqlDataReader.IsDBNull(11))
                        {
                            item.midia = sqlDataReader.GetString(11);
                        }

                        if (sqlDataReader.GetString(11).ToLower() == "impresso")
                        {
                            item.urlFile = "ico_jr.png";
                        }
                        else if (sqlDataReader.GetString(11).ToLower() == "tv")
                        {
                            item.urlFile = "ico_tv.png";
                        }
                        else if (sqlDataReader.GetString(11).ToLower() == "rd")
                        {
                            item.urlFile = "ico_rd.png";
                        }
                        else if (sqlDataReader.GetString(11).ToLower() == "online")
                        {
                            item.urlFile = "ico_online.png";
                        }
                        else if (sqlDataReader.GetString(11).ToLower() == "inter")
                        {
                            item.urlFile = "ico_inter.png";
                        }
                        else if (sqlDataReader.GetString(11).ToLower() == "msocial")
                        {
                            item.urlFile = "ico_msocial.png";
                        }

                        item.urlMateria = "http://www.clipnaweb.com.br/v3/clipping/conteudoNoticia.aspx?cliente=" + filtro.Cliente + "&idNoticia=" + item.matId + "&arquivo=" + item.urlMateria + "&data=" + item.data + "&tipo=" + item.midia.ToLower() + "&midia=" + item.midia.ToLower() + "&vitrine=1&usu=cd" + filtro.Cliente;

                        lst.Add(item);
                    }

                    con.Close();
                }

                return(lst);
            }
            catch (Exception ex)
            {
                throw new Exception("Ops... Ocorreu um erro na listagem dos clientes: " + ex.Message);
            }
        }
示例#5
0
        private async void MontaListagemMaterias(DtoFiltro filtro)
        {
            Thread.CurrentThread.CurrentCulture = new CultureInfo("en-us", false);

            waitActivityIndicator.IsVisible = true;
            waitActivityIndicator.IsRunning = true;

            List <DtoMateria> itens = new List <DtoMateria>();

            try
            {
                using (var client = new HttpClient())
                {
                    var dadosRequest = new DtoFiltro()
                    {
                        Assunto     = filtro.Assunto,
                        ChkImpresso = filtro.ChkImpresso,
                        ChkTv       = filtro.ChkTv,
                        ChkRd       = filtro.ChkRd,
                        ChkOnline   = filtro.ChkOnline,
                        ChkInter    = filtro.ChkInter,
                        ChkMSocial  = filtro.ChkMSocial,
                        Palavra     = filtro.Palavra,
                        DataIni     = new DateTime(Convert.ToDateTime(filtro.DataIni).Year, Convert.ToDateTime(filtro.DataIni).Month, Convert.ToDateTime(filtro.DataIni).Day),
                        DataFim     = new DateTime(Convert.ToDateTime(filtro.DataFim).Year, Convert.ToDateTime(filtro.DataFim).Month, Convert.ToDateTime(filtro.DataFim).Day),
                        NomeBanco   = filtro.NomeBanco,
                        Cliente     = filtro.Cliente
                    };

                    var jsonRequest = JsonConvert.SerializeObject(dadosRequest);
                    var httpContent = new StringContent(jsonRequest, Encoding.UTF8, "application/json");

                    string uri = "http://www.clipnaweb.com.br/WS/Admin/Login/GetMaterias";

                    HttpResponseMessage retorno = await client.PostAsync(uri, httpContent);

                    var resultString = await retorno.Content.ReadAsStringAsync();

                    if (retorno.StatusCode == System.Net.HttpStatusCode.BadRequest)
                    {
                        await DisplayAlert("Erro", "Ocorreu um erro ao retonar as matérias", "Ok");

                        return;
                    }
                    if (resultString != "[]")
                    {
                        noNews.IsVisible       = false;
                        lvMaterias.ItemsSource = JsonConvert.DeserializeObject <List <DtoMateria> >(resultString);
                        int countNews = JsonConvert.DeserializeObject <List <DtoMateria> >(resultString).Count();

                        waitActivityIndicator.IsVisible = false;
                        waitActivityIndicator.IsRunning = false;

                        if (filtro.DataIni != filtro.DataFim)
                        {
                            lblDataPesquisa.Text = "Veicula(s) " + countNews + " Notícia(s) entre: " + Convert.ToDateTime(filtro.DataIni).Day.ToString() + "/" + Convert.ToDateTime(filtro.DataIni).Month.ToString() + "/" + Convert.ToDateTime(filtro.DataIni).Year.ToString() + " à " + Convert.ToDateTime(filtro.DataFim).Day.ToString() + "/" + Convert.ToDateTime(filtro.DataFim).Month.ToString() + "/" + Convert.ToDateTime(filtro.DataFim).Year.ToString();
                        }
                        else
                        {
                            lblDataPesquisa.Text = "Veicula(s) " + countNews + " Notícia(s) no dia: " + Convert.ToDateTime(filtro.DataIni).Day.ToString() + "/" + Convert.ToDateTime(filtro.DataIni).Month.ToString() + "/" + Convert.ToDateTime(filtro.DataIni).Year.ToString();
                        }
                    }
                    else
                    {
                        waitActivityIndicator.IsVisible = false;
                        waitActivityIndicator.IsRunning = false;
                        noNews.IsVisible = true;
                    }
                }
            }
            catch (Exception ex)
            {
                await DisplayAlert("Erro", ex.Message, "Erro ao listar Matérias...");

                return;
            }
        }