Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public ParametrosPaginacao(NameValueCollection dados)
- {
- string chave = dados.AllKeys.Where(k => k.StartsWith("asc")).First();
- string ordenacao = dados[chave];
- string campo = chave.Replace("sort[", String.Empty).Replace("]", String.Empty);
- CampoOrdenado = String.Format("{0} {1}", campo, ordenacao);
- Current = int.Parse(dados["current"]);
- RowCount = int.Parse(dados["RowCount"]);
- SearchPhrase = dados["searchPhrase"];
- }
- public int Current { get; set; }
- public int RowCount { get; set; }
- public string SearchPhrase { get; set; }
- public string CampoOrdenado { get; set; }
- }
- $(document).on('click', '#contratos_vigentes', function () {
- var Status = $('#Status option:selected').text();
- var Gestor_Acc = $('#Gestor_Acc option:selected').text();
- var Gestor_Retida = $('#Gestor_Retida option:selected').text();
- $.ajax({
- url: 'FiltrarEPaginar',
- type: 'post',
- dataType: 'json',
- data: { status : Status, gestor_acc : Gestor_Acc, gestor_Retida : Gestor_Retida },
- });
- //window.location.href = "Contratos_Vigentes?status=" + Status + "&gestor_acc=" + Gestor_Acc + "&gestor_retida=" + Gestor_Retida;
- });
- public JsonResult Contratos_Vigentes(ParametrosPaginacao parametrosPaginacao, string status, string gestor_acc, string gestor_retida)
- {
- DadosFiltrados dadosFiltrados = FiltrarEPaginar(parametrosPaginacao, status, gestor_acc, gestor_retida);
- return Json(dadosFiltrados, JsonRequestBehavior.AllowGet);
- }
- public DadosFiltrados FiltrarEPaginar(ParametrosPaginacao parametrosPaginacao, string status, string gestor_acc, string gestor_retida)
- {
- var areaVigentes = db.Contratos.Count();
- int total = 0;
- string[] usuario_perfil = User_Role();
- ViewBag.status = status;
- ViewBag.gestor_acc = gestor_acc;
- ViewBag.gestor_retida = gestor_retida;
- List<Contrato> contrato_saldo_Vigencia1 = new List<Contrato>();
- if (usuario_perfil[1] == "Administrador" || usuario_perfil[1] == "Accenture")
- {
- //Efetua busca com base nos filtros inseridos pelo usuário e retorna quantitativo de contratos com status Vigente
- contrato_saldo_Vigencia1 = db.Contratos.Where(a => a.DescStatusVigente == "Vigente").ToList();
- }
- else if (usuario_perfil[1] == "Accenture_Saldo_Vigencia")
- {
- contrato_saldo_Vigencia1 = db.Contratos.Where(a => a.DescStatusVigente == "Vigente" && a.EmailGestor == usuario_perfil[0]).ToList();
- }
- if (status != "" && status != null)
- {
- contrato_saldo_Vigencia1 = contrato_saldo_Vigencia1.Where(j => j.DescAreaCliente.Contains(status)).ToList();
- }
- if (gestor_acc != "" && gestor_acc != null)
- {
- contrato_saldo_Vigencia1 = contrato_saldo_Vigencia1.Where(j => j.DescGestorAcc == gestor_acc).ToList();
- }
- if (gestor_retida != "" && gestor_retida != null)
- {
- contrato_saldo_Vigencia1 = contrato_saldo_Vigencia1.Where(j => j.DescGestorRetida == gestor_retida).ToList();
- }
- var AreasAccenturePaginados = contrato_saldo_Vigencia1.OrderBy(parametrosPaginacao.CampoOrdenado).Skip((parametrosPaginacao.Current - 1) * parametrosPaginacao.RowCount).Take(parametrosPaginacao.RowCount);
- DadosFiltrados dadosFiltrados = new DadosFiltrados(parametrosPaginacao)
- {
- rows = AreasAccenturePaginados.ToList(),
- total = total
- };
- return dadosFiltrados;
- }
Add Comment
Please, Sign In to add comment