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 Preenchermodelo(this ImportacaoController controller, int contratanteId, FornecedorBaseListaVM model, CONTRATANTE_CONFIGURACAO_EMAIL configEmail, string stData) { int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId"); Contratante contratante = controller._contratanteService.BuscarPorId(contratanteId); Usuario usuario = controller._usuarioService.BuscarPorId(usuarioId); model.Arquivos = Mapper.Map <List <SelectListItem> >(controller._fornecedorBaseImportacaoService.ListarTodas(contratanteId)); model.Arquivos.Insert(0, new SelectListItem { Text = "Todas", Value = null }); string mensagem = configEmail.CORPO .Replace("^NomeEmpresa^", contratante.NOME_FANTASIA ?? contratante.RAZAO_SOCIAL) .Replace("^NomeUsuario^", usuario.NOME) .Replace("^FixoUsuario1^", usuario.FIXO) .Replace("^CelularUsuario1^", usuario.CELULAR) .Replace("^EmailUsuario^", usuario.EMAIL); model.MensagemImportacao = new MensagemImportacaoVM(configEmail.ASSUNTO, mensagem); model.ProrrogacaoPrazo = new ProrrogacaoPrazoVM() { StDataProrrogacao = stData }; model.AprovacaoProrrogacao = new AprovacaoPrazoVM(new SolicitacaoFornecedoresVM()); model.ReprovacaoProrrogacao = new ReprovacaoPrazoVM() { Fornecedores = new List <SolicitacaoFornecedoresVM>() { new SolicitacaoFornecedoresVM() }, Fornecedor = new SolicitacaoFornecedoresVM(), }; }
public static void AplicarValores(this ImportacaoController controller, ref FornecedorBaseListaVM model) { model.NomeColunas = new List <string>(); switch (model.TipoFuncionalidade) { case EnumTiposFuncionalidade.ValidarEmOrgaosPublicos: #region Validar Em Órgãos Públicos model.NomeFuncionalidade = "Validar"; model.NomeColunas.Add("Órgãos Públicos"); model.FornecedoresBaseFuncionalidade.Select(x => { x.Colunas = new List <ColunaOpcionalVM> { new ColunaOpcionalVM { CSS = (x.ExecutaRobo.HasValue) ? TEXT_CENTER : DANGER_TEXT_CENTER, Titulo = (x.ExecutaRobo.HasValue) ? string.Empty : "Validação Inativa!", Valor = (x.ExecutaRobo.HasValue) ? "Ativa" : "-" } }; return(x); }).ToList(); #endregion break; case EnumTiposFuncionalidade.Categorizar: #region Categorizar model.NomeFuncionalidade = "Categorizar"; model.NomeColunas.Add("Categoria"); model.FornecedoresBaseFuncionalidade.Select(x => { x.Colunas = new List <ColunaOpcionalVM> { new ColunaOpcionalVM { CSS = (x.CategoriaId.HasValue) ? TEXT_CENTER : DANGER_TEXT_CENTER, Titulo = (x.CategoriaId.HasValue) ? string.Empty : "Sem Categoria!", Valor = (x.CategoriaId.HasValue) ? x.CategoriaNome : "-" } }; return(x); }).ToList(); #endregion break; case EnumTiposFuncionalidade.ProrrogarPrazo: #region Prorrogar Prazo model.NomeFuncionalidade = "Prorrogar"; model.NomeColunas.Add("Prorrogado"); model.FornecedoresBaseFuncionalidade.Select(x => { x.Colunas = new List <ColunaOpcionalVM> { new ColunaOpcionalVM { CSS = (x.Prorrogado) ? TEXT_CENTER : DANGER_TEXT_CENTER, Titulo = (x.Prorrogado) ? string.Empty : "Sem Prorrogação!", Valor = (x.Prorrogado) ? "Prorrogado" : "-" }, }; return(x); }).ToList(); #endregion break; case EnumTiposFuncionalidade.Convidar: #region Convidar model.NomeFuncionalidade = "Convidar"; model.NomeColunas.Add("Convite"); model.NomeColunas.Add("Respondido"); model.FornecedoresBaseFuncionalidade.Select(x => { x.Colunas = new List <ColunaOpcionalVM> { new ColunaOpcionalVM { CSS = (x.Convidado) ? TEXT_CENTER : DANGER_TEXT_CENTER, Titulo = (x.Convidado) ? string.Empty : "Sem Convite!", Valor = (x.Convidado) ? "Convidado" : "-" }, new ColunaOpcionalVM { CSS = (x.Respondido == true) ? TEXT_CENTER : DANGER_TEXT_CENTER, Titulo = (x.Respondido == true) ? string.Empty : "Sem Resposta!", Valor = (x.Respondido != null) ? (x.Respondido == true) ? "Sim" :"Não" : "-" } }; return(x); }).ToList(); #endregion break; case EnumTiposFuncionalidade.AprovarPrazo: #region Aprovar Prazo model.NomeFuncionalidade = "Aprovar"; model.NomeColunas.Add("Prorrogar para"); model.NomeColunas.Add("Motivo"); //model.NomeColunas.Add("Aprovado"); model.FornecedoresBaseFuncionalidade.Select(x => { x.Colunas = new List <ColunaOpcionalVM> { new ColunaOpcionalVM { CSS = TEXT_CENTER, Titulo = "Teste", Valor = x.ProrrogarPara }, new ColunaOpcionalVM { CSS = TEXT_CENTER, Titulo = "Teste2", Valor = x.Motivo }, //new ColunaOpcionalVM //{ // CSS = (x.Aprovado == true) ? TEXT_CENTER : DANGER_TEXT_CENTER, // Titulo = (x.Aprovado == true) ? string.Empty : "Sem Aprovação!", // Valor = (x.Aprovado != null) // ? (x.Aprovado == true) // ? "Sim" // :"Não" // : "-" //}, }; return(x); }).ToList(); #endregion break; case EnumTiposFuncionalidade.Bloquear: #region Bloquear model.NomeFuncionalidade = "Bloquear"; model.NomeColunas.Add("Bloqueado"); model.FornecedoresBaseFuncionalidade.Select(x => { x.Colunas = new List <ColunaOpcionalVM> { new ColunaOpcionalVM { CSS = (x.Bloqueado == true) ? TEXT_CENTER : DANGER_TEXT_CENTER, Titulo = (x.Bloqueado == true) ? string.Empty : "Sem Bloqueio!", Valor = (x.Bloqueado != null) ? (x.Bloqueado == true) ? "Sim" :"Não" : "-" }, }; return(x); }).ToList(); #endregion break; } }