public IQueryable<ReclamacaoViewModel> GetReclamacoes() { // int filtro = int.Parse(DropDownList1.SelectedValue); string filtro = DropDownList1.SelectedItem.ToString(); DateTime inicio = calInicio.SelectedDate; DateTime fim = calFim.SelectedDate; ReclamaPoaEntities _db = new ReclamaPoaEntities(); query = from r in _db.Reclamacoes where filtro == r.Bairro.Nome && r.Data >= inicio && r.Data <= fim select new ReclamacaoViewModel { ReclamacaoId = r.ReclamacaoId, Titulo = r.Titulo, Descricao = r.Descricao, Data = r.Data, Endereco = r.Endereco, Situacao = r.Situacao.ToString(), Bairro = r.Bairro.Nome, Categoria = r.Categoria.Nome, UrlImagem = r.UrlImagem }; lvbairros.DataBind(); return query; }
public ReclamacaoViewModel getReclamacao() { String filtro = (string)Request.QueryString["id"]; if (filtro != null) { ReclamaPoaEntities _db = new ReclamaPoaEntities(); int id; if (Int32.TryParse(filtro, out id)) { var query = from reclamacao in _db.Reclamacoes where reclamacao.ReclamacaoId == id select new ReclamacaoViewModel() { Titulo = reclamacao.Titulo, Descricao = reclamacao.Descricao, Data = reclamacao.Data, Endereco = reclamacao.Endereco, Situacao = reclamacao.Situacao.ToString(), Bairro = reclamacao.Bairro.Nome, Categoria = reclamacao.Categoria.Nome, UrlImagem = reclamacao.UrlImagem, Usuario = reclamacao.Usuario }; if (query.Count() > 0) return query.First(); } } return new ReclamacaoViewModel(); }
public IQueryable<ReclamacaoViewModel> GetReclamacoes() { string filtro = ddlbairro.SelectedItem.ToString(); string filtro2 = ddlcategoria.SelectedItem.ToString(); DateTime inicio = calInicio.SelectedDate; DateTime fim = calFim.SelectedDate; ReclamaPoaEntities _db = new ReclamaPoaEntities(); query = from r in _db.Reclamacoes where r.Categoria.Nome == filtro2 && r.Bairro.Nome == filtro && r.Data >= inicio && r.Data <= fim select new ReclamacaoViewModel { ReclamacaoId = r.ReclamacaoId, Titulo = r.Titulo, Descricao = r.Descricao, Data = r.Data, Endereco = r.Endereco, Situacao = r.Situacao.ToString(), Bairro = r.Bairro.Nome, Categoria = r.Categoria.Nome, UrlImagem = r.UrlImagem }; lvpesquisas.DataBind(); return query; }
protected void Page_Load(object sender, EventArgs e) { ReclamaPoaEntities _db = new ReclamaPoaEntities(); int totalReclamacoes = _db.Reclamacoes.Count(); int totalComentarios = _db.Comentarios.Count(); lblTotal.Text = totalReclamacoes.ToString(); lblTotalComentarios.Text = totalComentarios.ToString(); lblMediaComentGeral.Text = ((decimal)totalComentarios / totalReclamacoes).ToString(); if (!IsPostBack) { ddlBairros.DataSource = _db.Bairros.ToList(); ddlBairros.DataTextField = "Nome"; ddlBairros.DataValueField = "BairroId"; ddlBairros.DataBind(); ddlBairros.Items.Insert(0, new ListItem(String.Empty, String.Empty)); ddlBairros.SelectedIndex = 0; ddlCategorias.DataSource = _db.Categorias.ToList(); ddlCategorias.DataTextField = "Nome"; ddlCategorias.DataValueField = "CategoriaId"; ddlCategorias.DataBind(); ddlCategorias.Items.Insert(0, new ListItem(String.Empty, String.Empty)); ddlCategorias.SelectedIndex = 0; } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ReclamaPoaEntities _db = new ReclamaPoaEntities(); DropDownList1.DataSource = _db.Bairros.ToList(); DropDownList1.DataTextField = "Nome"; DropDownList1.DataValueField = "BairroId"; DropDownList1.DataBind(); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ReclamaPoaEntities _db = new ReclamaPoaEntities(); ddl.DataSource = _db.Categorias.ToList(); ddl.DataTextField = "Nome"; ddl.DataValueField = "CategoriaId"; ddl.DataBind(); } }
/// <summary> /// Recupera os comentarios da reclamacao /// </summary> /// <returns></returns> public IQueryable<ComentarioViewModel> getComentarios() { int id = Int32.Parse(Request.QueryString["id"]); ReclamaPoaEntities _db = new ReclamaPoaEntities(); IQueryable<ComentarioViewModel> cvmData = from c in _db.Comentarios where c.Reclamacao.ReclamacaoId == id select new ComentarioViewModel { ComentarioId = c.ComentarioId, Texto = c.Texto, Usuario = c.Usuario, ReclamacaoId = c.Reclamacao.ReclamacaoId }; return cvmData; }
//public IQueryable<Categoria> getCategorias() //{ // ReclamaPoaEntities _db = new ReclamaPoaEntities(); // IQueryable<Categoria> query = _db.Categorias; // return query; //} public IQueryable<ReclamacaoViewModel> GetReclamacoes() { ReclamaPoaEntities _db = new ReclamaPoaEntities(); //String aberta = "label label-warning"; //String resolvida = "label label-success"; //String encerrada = "label label-default"; IQueryable<ReclamacaoViewModel> query = from r in _db.Reclamacoes select new ReclamacaoViewModel { ReclamacaoId = r.ReclamacaoId, Titulo = r.Titulo, Descricao = r.Descricao, Data = r.Data, Endereco = r.Endereco, Situacao = r.Situacao.ToString(), Bairro = r.Bairro.Nome, Categoria = r.Categoria.Nome, UrlImagem = r.UrlImagem }; //foreach (ReclamacaoViewModel r in query) //{ // if (r.Situacao == "Encerrada") // { // r.SituacaoClass = encerrada; // } // else if (r.Situacao == "Resolvida") // { // r.SituacaoClass = resolvida; // } // else // { // r.SituacaoClass = aberta; // } //} return query; }
protected void btnSalvar_Click(object sender, EventArgs e) { ReclamaPoaEntities _db = new ReclamaPoaEntities(); Reclamacao reclamacao = new Reclamacao(); reclamacao.Titulo = txtNomeRec.Text; reclamacao.Descricao = txtDescRec.Text; int idBairro; if (Int32.TryParse(ddlBairros.SelectedValue, out idBairro)) { Bairro bairro = (from b in _db.Bairros where b.BairroId == idBairro select b).First(); reclamacao.Bairro = bairro; } int idCategoria; if (Int32.TryParse(rblCategorias.SelectedValue, out idCategoria)) { Categoria categoria = (from c in _db.Categorias where c.CategoriaId == idCategoria select c).First(); reclamacao.Categoria = categoria; } reclamacao.Data = DateTime.Now.Date; reclamacao.Endereco = txtEndereco.Text; reclamacao.Situacao = Situacao.Aberta; reclamacao.UrlImagem = txtUrlImagem.Text; reclamacao.Usuario = Context.User.Identity.Name; _db.Reclamacoes.Add(reclamacao); _db.SaveChanges(); Response.Redirect("Nova-Reclamacao.aspx"); }
protected void btnComentario_Click(object sender, EventArgs e) { ReclamaPoaEntities _db = new ReclamaPoaEntities(); Comentario comentario = new Comentario(); TextBox textoComentario = (TextBox)LoginView1.FindControl("txtComentario"); String filtro = (string)Request.QueryString["id"]; int id; if (Int32.TryParse(filtro, out id)) { // query para pegar a reclamação var query = _db.Reclamacoes.Where(r => r.ReclamacaoId == id); Reclamacao r1 = query.First(); comentario.Texto = textoComentario.Text; comentario.Reclamacao = r1; comentario.Usuario = Context.User.Identity.Name; } _db.Comentarios.Add(comentario); _db.SaveChanges(); Response.Redirect("Detalhes.aspx?id=" + id); }
private void valueChange() { ReclamaPoaEntities _db = new ReclamaPoaEntities(); int totalReclamacoes = _db.Reclamacoes.Count(); int subTotalRec = 0; int subTotalCom = 0; int recAbertas = 0; int recEncerradas = 0; int recResolvidas = 0; int categoriaId; int bairroId; DateTime inicio; DateTime fim; Decimal porcentagem = 0m; Decimal porcentAbertas = 0m; Decimal porcentEncerradas = 0m; Decimal porcentResolvidas = 0m; Decimal mediaComentarios = 0m; // filtra por categoria, bairro e periodo if (int.TryParse(ddlCategorias.SelectedValue, out categoriaId) && int.TryParse(ddlBairros.SelectedValue, out bairroId) && (DateTime.TryParse(txtDataInicio.Text, out inicio) && DateTime.TryParse(txtDataFinal.Text, out fim))) { // busca reclamações de acordo com os filtros var queryRec = _db.Reclamacoes.Where(r => r.Categoria.CategoriaId == categoriaId && r.Bairro.BairroId == bairroId && (r.Data >= inicio && r.Data <= fim) ); // busca comentários de acordo com os filtros var queryCom = _db.Comentarios.Where(c => c.Reclamacao.Categoria.CategoriaId == categoriaId && c.Reclamacao.Bairro.BairroId == bairroId && (c.Reclamacao.Data >= inicio && c.Reclamacao.Data <= fim) ); subTotalRec = queryRec.Count(); subTotalCom = queryCom.Count(); recAbertas = queryRec.Where(r => r.Situacao == Situacao.Aberta).Count(); recEncerradas = queryRec.Where(r => r.Situacao == Situacao.Encerrada).Count(); recResolvidas = queryRec.Where(r => r.Situacao == Situacao.Resolvida).Count(); // ***** SE FUNCIONAR, APAGAR O BLOCO COMENTADO ***** //// calcula a porcentagem das reclamações em relação ao total geral //if (totalReclamacoes != 0) //{ porcentagem = (Decimal) subTotalRec / totalReclamacoes; } //// calcula a média de comentários por reclamação //if (subTotalRec != 0 ) //{ mediaComentarios = (Decimal)subTotalCom / subTotalRec; } //if (subTotalRec != 0) //{ porcentAbertas = (Decimal)recAbertas / subTotalRec; } //if (subTotalRec != 0) //{ porcentEncerradas = (Decimal)recEncerradas / subTotalRec; } //if (subTotalRec != 0) //{ porcentResolvidas = (Decimal)recResolvidas / subTotalRec; } //lblSubTotal.Text = String.Format("Reclamações: {0} ({1:P} do total)", subTotalRec, porcentagem); //lblMediaFiltrada.Text = String.Format("Número médio de comentários por reclamação: {0}", mediaComentarios); //lblAbertas.Text = String.Format("Reclamações abertas: {0} ({1:P} do total)", recAbertas, porcentAbertas); //lblResolvidas.Text = String.Format("Reclamações resolvidas: {0} ({1:P} do total)", recResolvidas, porcentResolvidas); //lblEncerradas.Text = String.Format("Reclamações encerradas: {0} ({1:P} do total)", recEncerradas, porcentEncerradas); //UpdatePanel1.Update(); } // filtra somente por categoria else if (int.TryParse(ddlCategorias.SelectedValue, out categoriaId) && !int.TryParse(ddlBairros.SelectedValue, out bairroId) && !(DateTime.TryParse(txtDataInicio.Text, out inicio) && DateTime.TryParse(txtDataFinal.Text, out fim))) { // busca reclamações de acordo com os filtros var queryRec = _db.Reclamacoes.Where(r => r.Categoria.CategoriaId == categoriaId); // busca comentários de acordo com os filtros var queryCom = _db.Comentarios.Where(c => c.Reclamacao.Categoria.CategoriaId == categoriaId); subTotalRec = queryRec.Count(); subTotalCom = queryCom.Count(); recAbertas = queryRec.Where(r => r.Situacao == Situacao.Aberta).Count(); recEncerradas = queryRec.Where(r => r.Situacao == Situacao.Encerrada).Count(); recResolvidas = queryRec.Where(r => r.Situacao == Situacao.Resolvida).Count(); } // filtra somente por bairro else if (!int.TryParse(ddlCategorias.SelectedValue, out categoriaId) && int.TryParse(ddlBairros.SelectedValue, out bairroId) && !(DateTime.TryParse(txtDataInicio.Text, out inicio) && DateTime.TryParse(txtDataFinal.Text, out fim))) { // busca reclamações de acordo com os filtros var queryRec = _db.Reclamacoes.Where(r => r.Bairro.BairroId == bairroId); // busca comentários de acordo com os filtros var queryCom = _db.Comentarios.Where(c => c.Reclamacao.Bairro.BairroId == bairroId); subTotalRec = queryRec.Count(); subTotalCom = queryCom.Count(); recAbertas = queryRec.Where(r => r.Situacao == Situacao.Aberta).Count(); recEncerradas = queryRec.Where(r => r.Situacao == Situacao.Encerrada).Count(); recResolvidas = queryRec.Where(r => r.Situacao == Situacao.Resolvida).Count(); } // filtra somente por período else if (!int.TryParse(ddlCategorias.SelectedValue, out categoriaId) && !int.TryParse(ddlBairros.SelectedValue, out bairroId) && (DateTime.TryParse(txtDataInicio.Text, out inicio) && DateTime.TryParse(txtDataFinal.Text, out fim))) { // busca reclamações de acordo com os filtros var queryRec = _db.Reclamacoes.Where(r => r.Data >= inicio && r.Data <= fim); // busca comentários de acordo com os filtros var queryCom = _db.Comentarios.Where(c => c.Reclamacao.Data >= inicio && c.Reclamacao.Data <= fim); subTotalRec = queryRec.Count(); subTotalCom = queryCom.Count(); recAbertas = queryRec.Where(r => r.Situacao == Situacao.Aberta).Count(); recEncerradas = queryRec.Where(r => r.Situacao == Situacao.Encerrada).Count(); recResolvidas = queryRec.Where(r => r.Situacao == Situacao.Resolvida).Count(); } // filtra por categoria e bairro else if (int.TryParse(ddlCategorias.SelectedValue, out categoriaId) && int.TryParse(ddlBairros.SelectedValue, out bairroId) && !(DateTime.TryParse(txtDataInicio.Text, out inicio) && DateTime.TryParse(txtDataFinal.Text, out fim))) { // busca reclamações de acordo com os filtros var queryRec = _db.Reclamacoes.Where(r => r.Categoria.CategoriaId == categoriaId && r.Bairro.BairroId == bairroId); // busca comentários de acordo com os filtros var queryCom = _db.Comentarios.Where(c => c.Reclamacao.Categoria.CategoriaId == categoriaId && c.Reclamacao.Bairro.BairroId == bairroId); subTotalRec = queryRec.Count(); subTotalCom = queryCom.Count(); recAbertas = queryRec.Where(r => r.Situacao == Situacao.Aberta).Count(); recEncerradas = queryRec.Where(r => r.Situacao == Situacao.Encerrada).Count(); recResolvidas = queryRec.Where(r => r.Situacao == Situacao.Resolvida).Count(); } // filtra por categoria e período else if (int.TryParse(ddlCategorias.SelectedValue, out categoriaId) && !int.TryParse(ddlBairros.SelectedValue, out bairroId) && (DateTime.TryParse(txtDataInicio.Text, out inicio) && DateTime.TryParse(txtDataFinal.Text, out fim))) { // busca reclamações de acordo com os filtros var queryRec = _db.Reclamacoes.Where(r => r.Categoria.CategoriaId == categoriaId && (r.Data >= inicio && r.Data <= fim)); // busca comentários de acordo com os filtros var queryCom = _db.Comentarios.Where(c => c.Reclamacao.Categoria.CategoriaId == categoriaId && (c.Reclamacao.Data >= inicio && c.Reclamacao.Data <= fim)); subTotalRec = queryRec.Count(); subTotalCom = queryCom.Count(); recAbertas = queryRec.Where(r => r.Situacao == Situacao.Aberta).Count(); recEncerradas = queryRec.Where(r => r.Situacao == Situacao.Encerrada).Count(); recResolvidas = queryRec.Where(r => r.Situacao == Situacao.Resolvida).Count(); } // filtra por bairro e período else if (!int.TryParse(ddlCategorias.SelectedValue, out categoriaId) && int.TryParse(ddlBairros.SelectedValue, out bairroId) && (DateTime.TryParse(txtDataInicio.Text, out inicio) && DateTime.TryParse(txtDataFinal.Text, out fim))) { // busca reclamações de acordo com os filtros var queryRec = _db.Reclamacoes.Where(r => r.Bairro.BairroId == bairroId && (r.Data >= inicio && r.Data <= fim)); // busca comentários de acordo com os filtros var queryCom = _db.Comentarios.Where(c => c.Reclamacao.Bairro.BairroId == bairroId && (c.Reclamacao.Data >= inicio && c.Reclamacao.Data <= fim)); subTotalRec = queryRec.Count(); subTotalCom = queryCom.Count(); recAbertas = queryRec.Where(r => r.Situacao == Situacao.Aberta).Count(); recEncerradas = queryRec.Where(r => r.Situacao == Situacao.Encerrada).Count(); recResolvidas = queryRec.Where(r => r.Situacao == Situacao.Resolvida).Count(); } // calcula a média de comentários por reclamação if (subTotalRec != 0) { mediaComentarios = (Decimal)subTotalCom / subTotalRec; } // calcula a porcentagem das reclamações em relação ao total geral if (totalReclamacoes != 0) { porcentagem = (Decimal)subTotalRec / totalReclamacoes; } // calcula a porcentagem de reclamações abertas, resolvidas ou encerradas if (subTotalRec != 0) { porcentAbertas = (Decimal)recAbertas / subTotalRec; } if (subTotalRec != 0) { porcentEncerradas = (Decimal)recEncerradas / subTotalRec; } if (subTotalRec != 0) { porcentResolvidas = (Decimal)recResolvidas / subTotalRec; } // atribui os resultados aos labels lblSubTotal.Text = String.Format("Reclamações: {0} ({1:P} do total)", subTotalRec, porcentagem); lblMediaFiltrada.Text = String.Format("Número médio de comentários por reclamação: {0}", mediaComentarios); lblAbertas.Text = String.Format("Reclamações abertas: {0} ({1:P} do total)", recAbertas, porcentAbertas); lblResolvidas.Text = String.Format("Reclamações resolvidas: {0} ({1:P} do total)", recResolvidas, porcentResolvidas); lblEncerradas.Text = String.Format("Reclamações encerradas: {0} ({1:P} do total)", recEncerradas, porcentEncerradas); UpdatePanel1.Update(); }