public static void MapearFiltro(this ImportacaoController controller, FornecedorBaseListaVM model, ref ImportacaoFornecedoresFiltrosDTO filtro) { if (model.Filtro != null) { model.Filtro.ContratanteId = (int)Geral.PegaAuthTicket("ContratanteId"); FornecedorBaseFiltroVM filtroVM = model.Filtro; filtro = Mapper.Map <FornecedorBaseFiltroVM, ImportacaoFornecedoresFiltrosDTO>(filtroVM); if (!string.IsNullOrEmpty(filtro.CNPJ)) { filtro.CNPJ = Mascara.RemoverMascara(filtro.CNPJ); } if (!string.IsNullOrEmpty(filtro.CPF)) { filtro.CPF = Mascara.RemoverMascara(filtro.CPF); } } else { filtro = new ImportacaoFornecedoresFiltrosDTO { ContratanteId = (int)Geral.PegaAuthTicket("ContratanteId") } }; }
public ActionResult Listar(FornecedorBaseListaVM model) { int pagina = model.Pagina ?? 1; int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId"); ImportacaoFornecedoresFiltrosDTO filtro = null; this.MapearFiltro(model, ref filtro); var retorno = _fornecedorBaseService.PesquisarFornecedores(filtro, pagina, ITENS_POR_PAGINA); model.FornecedoresBase = Mapper.Map <List <FornecedorBaseVM> >(retorno.RegistrosPagina); model.Filtro = Mapper.Map <ImportacaoFornecedoresFiltrosDTO, FornecedorBaseFiltroVM>(filtro); model.Topo = Mapper.Map <FornecedorBaseTopoVM>(_fornecedorBaseService.PesquisarFornecedoresBaseTopo(filtro.ContratanteId)); model.Timeline = Mapper.Map <TimelineVM>(_fornecedorBaseService.RetornarIndicesTimeLine(filtro.ContratanteId)); model.Arquivos = Mapper.Map <List <SelectListItem> >(_fornecedorBaseImportacaoService.ListarTodas(contratanteId)); model.Arquivos.Insert(0, new SelectListItem { Text = "Todas", Value = null }); model.FornecedoresBase.ForEach(x => { if (Request.Url == null) { return; } x.UrlEditar = Url.Action("Editar", "Importacao", new { chaveurl = Cripto.Criptografar(string.Format("ID={0}", x.ID), Key) }, Request.Url.Scheme); x.UrlExcluir = Url.Action("Excluir", "Importacao", new { chaveurl = Cripto.Criptografar(string.Format("ID={0}", x.ID), Key) }, Request.Url.Scheme); }); ViewBag.Pagina = pagina; ViewBag.TotalPaginas = retorno.TotalPaginas; ViewBag.TotalRegistros = retorno.TotalRegistros; this.PersistirDadosEmMemoria(); return(View(model)); }
public ActionResult ExecutarFuncionalidade(FornecedorBaseListaVM model, int?CategoriaSelecionada, string CategoriaSelecionadaNome) { int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId"); int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId"); try { if (!ModelState.IsValid) { } int pagina = model.Pagina ?? 1; ImportacaoFornecedoresFiltrosDTO filtro = null; if (CategoriaSelecionada != null) { model.CategoriaId = (int)CategoriaSelecionada; } this.MapearFiltro(model, ref filtro); this.ManipularFiltroEspecifico(model.TipoFuncionalidade, ref filtro); var funcao = Request.Form["Funcao"]; var configEmail = _contratanteConfiguracaoEmailService.BuscarPorContratanteETipo(contratanteId, 1); this.Preenchermodelo(contratanteId, model, configEmail, model.StDataProrrogacao); if (!String.IsNullOrEmpty(funcao)) { var selecionados = model.Selecionados.Split(',').Select(Int32.Parse).ToList(); var funcaoEnum = (EnumTiposFuncionalidade)Enum.Parse(typeof(EnumTiposFuncionalidade), funcao); //int intfuncao = Convert.ToInt32(funcao); //switch ((EnumTiposFuncionalidade)funcao.ToEnum<EnumTiposFuncionalidade>()) switch (funcaoEnum) { case EnumTiposFuncionalidade.ValidarEmOrgaosPublicos: this.AtivarExecucaoRobo(selecionados.ToArray()); break; case EnumTiposFuncionalidade.Categorizar: this.Categorizar(selecionados.ToArray(), model.CategoriaId); break; case EnumTiposFuncionalidade.Convidar: this.Convidar(selecionados, model.Mensagem, model.Assunto, usuarioId); break; case EnumTiposFuncionalidade.ProrrogarPrazo: this.ProrrogarPrazo(selecionados, model.Motivo, DateTime.Parse(model.StDataProrrogacao), usuarioId); break; case EnumTiposFuncionalidade.AprovarPrazo: this.AvaliarPrazo(selecionados, model.Motivo, usuarioId, EnumTiposFuncionalidade.AprovarPrazo); break; case EnumTiposFuncionalidade.ReprovarPrazo: this.AvaliarPrazo(selecionados, model.Motivo, usuarioId, EnumTiposFuncionalidade.ReprovarPrazo); break; case EnumTiposFuncionalidade.Bloquear: this.Bloquear(selecionados, model.BloqueioId, usuarioId, contratanteId); break; } } model.Selecionados = string.Empty; var retorno = _fornecedorBaseService.PesquisarFornecedores(filtro, pagina, ITENS_POR_PAGINA); model.Mensagem = model.MensagemImportacao.Mensagem; model.Assunto = model.MensagemImportacao.Assunto; model.AprovaPrazo = true; model.Filtro = Mapper.Map <FornecedorBaseFiltroVM>(filtro); model.FornecedoresBaseFuncionalidade = Mapper.Map <List <FornecedorBaseFuncionalidadeVM> >(retorno.RegistrosPagina); if (filtro.Aprovados != null) { foreach (var item in retorno.RegistrosPagina) { var subitemVM = model.FornecedoresBaseFuncionalidade.Single(x => x.ID == item.ID); var subitemMD = item.WFD_SOLICITACAO.LastOrDefault().WFD_SOLICITACAO_PRORROGACAO.FirstOrDefault(x => x.APROVADO == null); subitemVM.ProrrogarPara = subitemMD.DT_SOL_PRORROGACAO.ToShortDateString(); subitemVM.Motivo = subitemMD.MOTIVO_PRORROGACAO; } } this.AplicarValores(ref model); ViewBag.Pagina = pagina; ViewBag.TotalPaginas = retorno.TotalPaginas; ViewBag.TotalRegistros = retorno.TotalRegistros; this.PersistirDadosEmMemoria(); model.Selecionados = ""; ModelState.Clear(); } catch (Exception ex) { Log.Error(ex); } return(View(model)); }
public ActionResult ExecutarFuncionalidade(string TipoFuncionalidade) { int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId"); int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId"); FornecedorBaseListaVM model = new FornecedorBaseListaVM(); if (TipoFuncionalidade == "ValidarEmOrgaosPublicos") { model.TipoFuncionalidade = EnumTiposFuncionalidade.ValidarEmOrgaosPublicos; } if (TipoFuncionalidade == "Categorizar") { model.TipoFuncionalidade = EnumTiposFuncionalidade.Categorizar; } if (TipoFuncionalidade == "Convidar") { model.TipoFuncionalidade = EnumTiposFuncionalidade.Convidar; } if (TipoFuncionalidade == "Bloquear") { model.TipoFuncionalidade = EnumTiposFuncionalidade.Bloquear; } if (TipoFuncionalidade == "ProrrogarPrazo") { model.TipoFuncionalidade = EnumTiposFuncionalidade.ProrrogarPrazo; } if (TipoFuncionalidade == "GerarCarga") { model.TipoFuncionalidade = EnumTiposFuncionalidade.GerarCarga; } if (TipoFuncionalidade == "CompletarDados") { model.TipoFuncionalidade = EnumTiposFuncionalidade.CompletarDados; } if (TipoFuncionalidade == "AprovarPrazo") { model.TipoFuncionalidade = EnumTiposFuncionalidade.AprovarPrazo; } int pagina = model.Pagina ?? 1; ImportacaoFornecedoresFiltrosDTO filtro = null; this.MapearFiltro(model, ref filtro); this.ManipularFiltroEspecifico(model.TipoFuncionalidade, ref filtro); //var funcao = Request.Form["Funcao"]; var configEmail = _contratanteConfiguracaoEmailService.BuscarPorContratanteETipo(contratanteId, 1); this.Preenchermodelo(contratanteId, model, configEmail, DateTime.Today.ToShortDateString()); model.Mensagem = model.MensagemImportacao.Mensagem; model.Assunto = model.MensagemImportacao.Assunto; var retorno = _fornecedorBaseService.PesquisarFornecedores(filtro, pagina, ITENS_POR_PAGINA); model.Filtro = Mapper.Map <FornecedorBaseFiltroVM>(filtro); model.FornecedoresBaseFuncionalidade = Mapper.Map <List <FornecedorBaseFuncionalidadeVM> >(retorno.RegistrosPagina); if (filtro.Aprovados != null) { foreach (var item in retorno.RegistrosPagina) { var subitemVM = model.FornecedoresBaseFuncionalidade.Single(x => x.ID == item.ID); var subitemMD = item.WFD_SOLICITACAO.LastOrDefault().WFD_SOLICITACAO_PRORROGACAO.FirstOrDefault(x => x.APROVADO == null); subitemVM.ProrrogarPara = subitemMD.DT_PRORROGACAO_PRAZO.ToShortDateString(); subitemVM.Motivo = subitemMD.MOTIVO_PRORROGACAO; } } this.AplicarValores(ref model); ViewBag.Pagina = pagina; ViewBag.TotalPaginas = retorno.TotalPaginas; ViewBag.TotalRegistros = retorno.TotalRegistros; this.PersistirDadosEmMemoria(); return(View(model)); }
public static void ManipularFiltroEspecifico(this ImportacaoController controller, EnumTiposFuncionalidade funcionalidade, ref ImportacaoFornecedoresFiltrosDTO filtro) { switch (funcionalidade) { case EnumTiposFuncionalidade.ValidarEmOrgaosPublicos: if (!filtro.Validados.HasValue) { filtro.Validados = false; } break; case EnumTiposFuncionalidade.Categorizar: if (!filtro.Categorizados.HasValue) { filtro.Categorizados = false; } break; case EnumTiposFuncionalidade.Convidar: if (!filtro.Convidados.HasValue) { filtro.Convidados = false; } break; case EnumTiposFuncionalidade.ProrrogarPrazo: if (!filtro.Prorrogados.HasValue) { filtro.Prorrogados = false; } break; case EnumTiposFuncionalidade.GerarCarga: if (!filtro.Gerados.HasValue) { filtro.Gerados = false; } break; case EnumTiposFuncionalidade.CompletarDados: if (!filtro.Completos.HasValue) { filtro.Completos = false; } break; case EnumTiposFuncionalidade.AprovarPrazo: if (!filtro.Aprovados.HasValue) { filtro.Aprovados = 1; } break; case EnumTiposFuncionalidade.Bloquear: if (!filtro.Bloqueados.HasValue) { filtro.Bloqueados = 0; } break; } }