Guest User

Untitled

a guest
Mar 20th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.75 KB | None | 0 0
  1. public ParametrosPaginacao(NameValueCollection dados)
  2. {
  3.  
  4. string chave = dados.AllKeys.Where(k => k.StartsWith("asc")).First();
  5.  
  6. string ordenacao = dados[chave];
  7. string campo = chave.Replace("sort[", String.Empty).Replace("]", String.Empty);
  8.  
  9. CampoOrdenado = String.Format("{0} {1}", campo, ordenacao);
  10.  
  11. Current = int.Parse(dados["current"]);
  12. RowCount = int.Parse(dados["RowCount"]);
  13. SearchPhrase = dados["searchPhrase"];
  14.  
  15. }
  16.  
  17. public int Current { get; set; }
  18. public int RowCount { get; set; }
  19. public string SearchPhrase { get; set; }
  20. public string CampoOrdenado { get; set; }
  21.  
  22. }
  23.  
  24. $(document).on('click', '#contratos_vigentes', function () {
  25.  
  26. var Status = $('#Status option:selected').text();
  27. var Gestor_Acc = $('#Gestor_Acc option:selected').text();
  28. var Gestor_Retida = $('#Gestor_Retida option:selected').text();
  29. $.ajax({
  30. url: 'FiltrarEPaginar',
  31. type: 'post',
  32. dataType: 'json',
  33. data: { status : Status, gestor_acc : Gestor_Acc, gestor_Retida : Gestor_Retida },
  34.  
  35. });
  36. //window.location.href = "Contratos_Vigentes?status=" + Status + "&gestor_acc=" + Gestor_Acc + "&gestor_retida=" + Gestor_Retida;
  37.  
  38. });
  39.  
  40. public JsonResult Contratos_Vigentes(ParametrosPaginacao parametrosPaginacao, string status, string gestor_acc, string gestor_retida)
  41. {
  42. DadosFiltrados dadosFiltrados = FiltrarEPaginar(parametrosPaginacao, status, gestor_acc, gestor_retida);
  43.  
  44. return Json(dadosFiltrados, JsonRequestBehavior.AllowGet);
  45. }
  46.  
  47. public DadosFiltrados FiltrarEPaginar(ParametrosPaginacao parametrosPaginacao, string status, string gestor_acc, string gestor_retida)
  48. {
  49.  
  50. var areaVigentes = db.Contratos.Count();
  51. int total = 0;
  52. string[] usuario_perfil = User_Role();
  53. ViewBag.status = status;
  54. ViewBag.gestor_acc = gestor_acc;
  55. ViewBag.gestor_retida = gestor_retida;
  56. List<Contrato> contrato_saldo_Vigencia1 = new List<Contrato>();
  57.  
  58. if (usuario_perfil[1] == "Administrador" || usuario_perfil[1] == "Accenture")
  59. {
  60. //Efetua busca com base nos filtros inseridos pelo usuário e retorna quantitativo de contratos com status Vigente
  61. contrato_saldo_Vigencia1 = db.Contratos.Where(a => a.DescStatusVigente == "Vigente").ToList();
  62. }
  63. else if (usuario_perfil[1] == "Accenture_Saldo_Vigencia")
  64. {
  65. contrato_saldo_Vigencia1 = db.Contratos.Where(a => a.DescStatusVigente == "Vigente" && a.EmailGestor == usuario_perfil[0]).ToList();
  66. }
  67.  
  68. if (status != "" && status != null)
  69. {
  70. contrato_saldo_Vigencia1 = contrato_saldo_Vigencia1.Where(j => j.DescAreaCliente.Contains(status)).ToList();
  71. }
  72. if (gestor_acc != "" && gestor_acc != null)
  73. {
  74. contrato_saldo_Vigencia1 = contrato_saldo_Vigencia1.Where(j => j.DescGestorAcc == gestor_acc).ToList();
  75. }
  76. if (gestor_retida != "" && gestor_retida != null)
  77. {
  78. contrato_saldo_Vigencia1 = contrato_saldo_Vigencia1.Where(j => j.DescGestorRetida == gestor_retida).ToList();
  79. }
  80. var AreasAccenturePaginados = contrato_saldo_Vigencia1.OrderBy(parametrosPaginacao.CampoOrdenado).Skip((parametrosPaginacao.Current - 1) * parametrosPaginacao.RowCount).Take(parametrosPaginacao.RowCount);
  81.  
  82. DadosFiltrados dadosFiltrados = new DadosFiltrados(parametrosPaginacao)
  83. {
  84. rows = AreasAccenturePaginados.ToList(),
  85. total = total
  86. };
  87.  
  88.  
  89. return dadosFiltrados;
  90.  
  91.  
  92. }
Add Comment
Please, Sign In to add comment