public static string Mensagem(Log_participapao log, bool isPopup) { var str = ""; if (isPopup) { str = Mensagem(log); } else { var imagem = ""; var httpContext = new HttpContextWrapper(HttpContext.Current); var url = new UrlHelper(new RequestContext(httpContext, CurrentRoute(httpContext))); if (!string.IsNullOrEmpty(log.Pessoa.Avatar)) { var urlPessoa = url.Content("~/Images/Uploads/Avatar/" + log.Pessoa.Avatar); imagem = "<a href='\\Usuario\\Perfil?Id=" + log.Pessoa.Id + "'>" + "<img class='img-circle' src='" + urlPessoa + "' width='32' height='32'>" + "</a>"; } str = "<div class='row'><div class='col-md-2'>" + imagem + "</div>" + "<div class='col-md-9'>" + Mensagem(log) + "</div></div>"; } return(str); }
public static string Mensagem(Log_participapao log) { var str = ""; var nome = log.Pessoa.Nome; if (nome.Length > 5) { nome = nome.Substring(0, 5) + "..."; } var httpContext = new HttpContextWrapper(HttpContext.Current); var url = new UrlHelper(new RequestContext(httpContext, CurrentRoute(httpContext))); var icon = ""; if (log.Tipo.Contains("Descur")) { icon = "<i class='glyphicon glyphicon-thumbs-down'></i> "; } else if (log.Tipo.Contains("Curt")) { icon = "<i class='glyphicon glyphicon-thumbs-up'></i> "; } else if (log.Tipo.ToLower().Contains("soluc")) { icon = "<i class='glyphicon glyphicon-check'></i> "; } else if (log.Tipo.Contains("Acess")) { icon = "<i class='glyphicon glyphicon-share-alt'></i> "; } else if (log.Tipo.Contains("Coment")) { icon = "<i class='glyphicon glyphicon-comment'></i> "; } if ((log.Tipo == "Descurtiu") || (log.Tipo == "Acessou") || (log.Tipo == "Curtiu") || (log.Tipo == "Solucionou")) { str = icon + "<a href='" + url.Action("Perfil", "Usuario", new { Id = log.Pessoa.Id }) + "'>" + nome + "</a> " + log.Tipo + " a " + "<a href='" + url.Action("AcessarReclamacao", "Ouvidoria", new { Id = log.Reclamacao.Id }) + "'>Reclamação</a>"; } else { str = icon + "<a href='" + url.Action("Perfil", "Usuario", new { Id = log.Pessoa.Id }) + "'>" + nome + "</a> " + log.Tipo + " na " + "<a href='" + url.Action("AcessarReclamacao", "Ouvidoria", new { Id = log.Reclamacao.Id }) + "'>Reclamação</a>"; } return(str); }
public ActionResult AddComentarioAjax(Comentario comentario, HttpPostedFileBase file, string tipo) { var model = ConnectionDbClass.DataModel; var reclamacao = model.Reclamacaos.FirstOrDefault(f => f.Id == comentario.Id_reclamacao); var usuario = (Usuario)Session["Usuario"]; if (file != null) { if (file.ContentType.Contains("image")) { if (file.ContentLength > 2097152) { ViewBag.Erro = "O Arquivo de imagem ultrapassa o limite de 2Mb."; return(View("AcessarReclamacao", reclamacao)); } } else if (file.ContentType.Contains("video")) { if (file.ContentLength > 26214400) { ViewBag.Erro = "O Arquivo anexo ultrapassa o limite de 25Mb."; return(View("AcessarReclamacao", reclamacao)); } } else { ViewBag.Erro = "Somente é permitda a inclusão de fotos ou vídeos."; return(View("AcessarReclamacao", reclamacao)); } if (file.ContentLength > 0) { var fileName = ""; if (file.ContentType.Contains("image")) { if (string.IsNullOrEmpty(fileName)) { fileName = "rec_solucao_" + usuario.Pessoa.Id + "_" + DateTime.Now.ToString("yyyyMd_hhmmss") + ".jpg"; } } else { string extensao = Path.GetExtension(file.FileName); fileName = "rec_solucao_" + usuario.Pessoa.Id + "_" + DateTime.Now.ToString("yyyyMd_hhmmss") + extensao; } var path = Path.Combine(Server.MapPath("~/Images/Uploads/Queixa"), fileName); comentario.Anexo = fileName; file.SaveAs(path); } } var logParticipacao = new Log_participapao() { Id_pessoa = comentario.Id_pessoa,//usuario.Id_pessoa, Id_reclamacao = comentario.Id_reclamacao, Datahora = DateTime.Now, Acesso = false, Tipo = usuario.Pessoa.Nome + " Comentou sua reclamação" }; comentario.Likes = 0; comentario.Deslikes = 0; comentario.Id_pessoa = usuario.Id_pessoa; comentario.DataComentario = DateTime.Now; comentario.IsSolucao = false; comentario.IsSolucao = comentario.IsSolucaoFinal ?? false; comentario.IsSolucaoFinal = comentario.IsSolucaoFinal ?? false; if (comentario.IsSolucaoFinal.Value) { logParticipacao.Tipo = "Solucionou"; reclamacao.IsSolucionado = true; } model.Add(comentario); model.Add(logParticipacao); if (model.HasChanges) { model.SaveChanges(); } if (comentario.IsSolucaoFinal.Value) { PontuacaoUtils.Pontuar(usuario.Pessoa, PontuacaoEnum.SolucioncarReclamacao); } else { PontuacaoUtils.Pontuar(usuario.Pessoa, PontuacaoEnum.ComentarReclamacao); } if (tipo == "http") { return(View("AcessarReclamacao", reclamacao)); } else { return(PartialView("_VerComentariosView", reclamacao)); } }
public string _AtualizarLikesDeslikesComentario(int id, bool tipo) { var model = ConnectionDbClass.DataModel; var comentario = model.Comentarios.FirstOrDefault(f => f.Id == id); var usuario = (Usuario)Session["Usuario"]; if (comentario != null) { Log_participapao log = null; if (tipo) { comentario.Likes = comentario.Likes != null ? comentario.Likes + 1 : 1; log = new Log_participapao() { Acesso = false, Datahora = DateTime.Now, Id_pessoa = comentario.Pessoa.Id, Id_reclamacao = comentario.Id_reclamacao, Tipo = usuario.Pessoa.Nome + " Curtiu seu Comentário", Id_comentario = id, Id_curtidor = usuario.Id_pessoa }; } else { comentario.Deslikes = comentario.Deslikes != null ? comentario.Deslikes + 1 : 1; log = new Log_participapao() { Acesso = false, Datahora = DateTime.Now, Id_pessoa = comentario.Pessoa.Id, Id_reclamacao = comentario.Id_reclamacao, Tipo = usuario.Pessoa.Nome + " Descurtiu Seu Comentário", Id_comentario = id, Id_curtidor = usuario.Id_pessoa }; } model.Add(log); if (model.HasChanges) { model.SaveChanges(); } if (tipo) { PontuacaoUtils.Pontuar(usuario.Pessoa, PontuacaoEnum.CurtirComentario); PontuacaoUtils.Pontuar(comentario.Pessoa, PontuacaoEnum.ComentarioCurtido); return("<span class='glyphicon glyphicon-thumbs-up'></span><span>" + (comentario.Likes ?? 0) + "</span>"); } else { PontuacaoUtils.Pontuar(usuario.Pessoa, PontuacaoEnum.DescurtirComentario); PontuacaoUtils.Pontuar(comentario.Pessoa, PontuacaoEnum.ComentarioDescurtido); return("<span class='glyphicon glyphicon-thumbs-down'></span><span>" + (comentario.Deslikes ?? 0) + "</span>"); } } return(""); }
public ActionResult GravarReclamacao(Reclamacao reclamacao, HttpPostedFileBase file) { var usuario = (Usuario)Session["Usuario"]; var model = ConnectionDbClass.DataModel; if (file != null) { if (file.ContentType.Contains("image")) { if (file.ContentLength > 2097152) { ViewBag.Erro = "O Arquivo de imagem ultrapassa o limite de 2Mb."; return(View("IncluirReclamacao")); } } else if (file.ContentType.Contains("video")) { if (file.ContentLength > 26214400) { ViewBag.Erro = "O Arquivo anexo ultrapassa o limite de 25Mb."; return(View("IncluirReclamacao")); } } else { ViewBag.Erro = "Somente é permitda a inclusão de fotos ou vídeos."; return(View("IncluirReclamacao")); } if (file.ContentLength > 0) { var fileName = ""; if (file.ContentType.Contains("image")) { if (string.IsNullOrEmpty(fileName)) { fileName = "rec_" + usuario.Pessoa.Id + "_" + DateTime.Now.ToString("yyyyMd_hhmmss") + ".jpg"; } } else { string extensao = Path.GetExtension(file.FileName); fileName = "rec_" + usuario.Pessoa.Id + "_" + DateTime.Now.ToString("yyyyMd_hhmmss") + extensao; } var path = Path.Combine(Server.MapPath("~/Images/Uploads/Queixa"), fileName); reclamacao.Anexo = fileName; file.SaveAs(path); PontuacaoUtils.Pontuar(usuario.Pessoa, PontuacaoEnum.ReclamacaoEmMidia); } } if (string.IsNullOrEmpty(reclamacao.Descricao) || string.IsNullOrEmpty(reclamacao.Titulo)) { ViewBag.Erro = "Não é permitida a Inclusão de Reclamações sem Descrição ou Título."; return(View("IncluirReclamacao")); } reclamacao.Id_pessoa = usuario.Pessoa.Id; reclamacao.DataHora = DateTime.Now; reclamacao.IsSolucionado = false; reclamacao.IsAtivo = true; if (reclamacao.Id == 0 || reclamacao.Id == null) { model.Add(reclamacao); } else { var rec = model.Reclamacaos.FirstOrDefault(f => f.Id == reclamacao.Id); rec.Departamento = reclamacao.Departamento; rec.Id_instituicao = reclamacao.Id_instituicao; rec.Descricao = reclamacao.Descricao; rec.Titulo = reclamacao.Titulo; rec.Anexo = reclamacao.Anexo; } if (reclamacao.Id == 0 || reclamacao.Id == null) { var log = new Log_participapao() { Datahora = DateTime.Now, Acesso = false, Id_pessoa = reclamacao.Id_pessoa, Tipo = "Criou uma Reclamação" }; reclamacao.Log_participapaos.Add(log); log.Reclamacao = reclamacao; model.Add(log); } if (model.HasChanges) { model.SaveChanges(); } PontuacaoUtils.Pontuar(usuario.Pessoa, PontuacaoEnum.CadastroReclamacao); return(RedirectToAction("AcessarReclamacao", "Ouvidoria", new { Id = reclamacao.Id })); }
public PartialViewResult _MarcarDesmarcarMelhorReposta(int id, int idRec, bool marcar) { var model = ConnectionDbClass.DataModel; var rec = model.Reclamacaos.FirstOrDefault(f => f.Id == idRec); Pessoa pessoa = null; if (rec != null) { var comentario = rec.Comentarios.FirstOrDefault(f => f.Id == id); if (comentario != null) { comentario.IsSolucao = marcar; } pessoa = comentario.Pessoa; Log_participapao log = null; if (marcar) { log = new Log_participapao() { Acesso = false, Datahora = DateTime.Now, Id_pessoa = comentario.Id_pessoa, Id_reclamacao = comentario.Id_reclamacao, Tipo = "Macou como solução" }; } else { log = new Log_participapao() { Acesso = false, Datahora = DateTime.Now, Id_pessoa = comentario.Id_pessoa, Id_reclamacao = comentario.Id_reclamacao, Tipo = "Desmacou como solução" }; } model.Add(log); } if (model.HasChanges) { model.SaveChanges(); } if (pessoa != null) { if (marcar) { PontuacaoUtils.Pontuar(pessoa, PontuacaoEnum.MarcarSolucaoComentario); } else { PontuacaoUtils.Pontuar(pessoa, PontuacaoEnum.DesmarcarSolucaoComentario); } } return(PartialView("_VerComentariosView", rec)); }