public ActionResult CadastrarFornecedorIndividual(int id) { //84422763000110 return(RedirectToAction("CadastrarUsuario", new { chaveurl = Cripto.Criptografar(string.Format("id=0&tipocadastro=2&cnpj={0}&idContratante={1}", "84422763000110", 6), Key) })); }
public ActionResult ReenviarFicha(string TipoFuncionalidade, int idSolicitacao, string CNPJ, string EmailContato, FichaCadastralWebForLinkVM ficha) { try { CNPJ = CNPJ.Replace(".", "").Replace("-", "").Replace("/", ""); int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId"); SOLICITACAO solicitacao = _solicitacaoService.BuscarPorIdControleSolicitacoes(idSolicitacao); ficha.ContratanteID = solicitacao.CONTRATANTE_ID; ficha.Solicitacao.Fluxo.ID = solicitacao.FLUXO_ID; var papelFornecedor = _papelService.BuscarPorContratanteETipoPapel(ficha.ContratanteID, (int)EnumTiposPapel.Fornecedor).ID; var tramites = _solicitacaoTramite.BuscarTramitePorSolicitacaoIdPapelId(idSolicitacao, papelFornecedor); if (tramites == null) { var papelSolicitante = _papelService.BuscarPorContratanteETipoPapel(ficha.ContratanteID, (int)EnumTiposPapel.Solicitante).ID; _tramite.AtualizarTramite(ficha.ContratanteID, idSolicitacao, ficha.Solicitacao.Fluxo.ID, papelSolicitante, (int)EnumStatusTramite.Aprovado, usuarioId); } //se não for primeiro acesso enviar para tela de acesso string url = Url.Action("Index", "Home", new { chaveurl = Cripto.Criptografar(string.Format("SolicitacaoID={0}&Login={1}&TravaLogin=1", idSolicitacao, CNPJ), Key) }, Request.Url.Scheme); //se for primeiro acesso enviar para criação de usuário #region BuscarPorEmail //validar se o e-mail já existe na tabela de Usuarios if (!_usuarioBP.ValidarPorCnpj(CNPJ)) { url = Url.Action("CadastrarUsuarioFornecedor", "Home", new { chaveurl = Cripto.Criptografar(string.Format("Login={0}&SolicitacaoID={1}&Email={2}", CNPJ, idSolicitacao, EmailContato), Key) }, Request.Url.Scheme); } #endregion string mensagemLink = string.Concat(ficha.Mensagem, "<p><a href='", url, "'>Link</a>:", url, "</p>"); bool emailEnviadoComSucesso = _metodosGerais.EnviarEmail(EmailContato, ficha.Assunto, mensagemLink); } catch (Exception ex) { Log.Error(ex); } return(RedirectToAction("FornecedoresControleSolicitacoesLst", "ControleSolicitacao")); }
public string UrlAction(int usuarioId) { string url = string.Empty; if (Request.Url != null) { Url.Action("CadastrarUsuario", "Home", new { area = "", chaveurl = Cripto.Criptografar(string.Format("id={0}&tipocadastro={1}", usuarioId, (int)EnumTipoCadastroNovoUsuario.Cadastrado), Key) }, Request.Url.Scheme); } return(url); }
public ActionResult PreCadastroLst(PreCadastroListaVM modelo) { int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId"); int grupoId = (int)Geral.PegaAuthTicket("Grupo"); ViewBag.Empresa = new SelectList(_contratanteService.ListarTodosPorGrupo(grupoId), "ID", "RAZAO_SOCIAL"); int pagina = modelo.Pagina ?? 1; ViewBag.MensagemSucesso = modelo.MensagemSucesso ?? ""; ViewBag.MensagemError = modelo.MensagemError ?? ""; ViewBag.Pagina = pagina; List <FORNECEDOR_CATEGORIA> categorias = _fornecedorCategoriaService.BuscarCategorias(contratanteId).OrderBy(x => x.DESCRICAO).ToList(); ViewBag.Categoria = Mapper.Map <List <CategoriaVM> >(categorias, opt => opt.Items["Url"] = Url); ViewBag.CategoriaSelecionada = modelo.CategoriaSelecionada; ViewBag.CategoriaSelecionadaNome = modelo.CategoriaSelecionadaNome; if (modelo.FiltroPesquisa == null) { modelo.FiltroPesquisa = new PreCadastroFiltrosPesquisaVM(); } PreCadastroFiltrosDTO filtros = new PreCadastroFiltrosDTO() { ContratanteId = modelo.Empresa, GrupoId = grupoId, RazaoSocial = modelo.FiltroPesquisa.Nome, CPF = !string.IsNullOrEmpty(modelo.FiltroPesquisa.CPF) ? modelo.FiltroPesquisa.CPF.Replace(".", "").Replace("-", "") : null, CNPJ = !string.IsNullOrEmpty(modelo.FiltroPesquisa.CNPJ) ? modelo.FiltroPesquisa.CNPJ.Replace(".", "").Replace("/", "").Replace("-", "").Replace("_", "") : null, CategoriaId = modelo.CategoriaSelecionada ?? 0 }; var retornoList = _preCadastroService.ListarTodos(filtros, pagina, 10); modelo.ListaGrid = retornoList.RegistrosPagina.Select(x => new PreCadastroGridPesquisaVM { Nome = x.RAZAO_SOCIAL, Documento = _metodosGerais.FormatarCnpjCpf(x.CNPJ), Empresa = x.WFD_CONTRATANTE.RAZAO_SOCIAL, UrlEditar = Url.Action("Editar", "PreCadastroFornecedor", new { chaveurl = Cripto.Criptografar(string.Format("id={0}", x.ID), Key) }, Request.Url.Scheme), Status = x.WFD_T_STATUS_PRECADASTRO != null ? x.WFD_T_STATUS_PRECADASTRO.STATUS_NM : string.Empty }).ToList(); ViewBag.Pagina = pagina; ViewBag.TotalPaginas = retornoList.TotalPaginas; ViewBag.TotalRegistros = retornoList.TotalRegistros; return(View(modelo)); }
public ActionResult Salvar(FichaCadastralWebForLinkVM model) { try { SOLICITACAO solicitacao = new SOLICITACAO(); solicitacao.FLUXO_ID = _fluxoService.BuscarPorTipoEContratante((int)EnumTiposFluxo.ModificacaoEndereco, model.ContratanteID).ID; solicitacao.SOLICITACAO_DT_CRIA = DateTime.Now; solicitacao.SOLICITACAO_STATUS_ID = (int)EnumStatusTramite.EmAprovacao; // EM APROVACAO solicitacao.USUARIO_ID = (int)Geral.PegaAuthTicket("UsuarioId"); solicitacao.PJPF_ID = model.ID; if (model.ContratanteID != 0) { solicitacao.CONTRATANTE_ID = model.ContratanteID; } var solicitacoesModEndereco = Mapper.Map <List <DadosEnderecosVM>, List <SOLICITACAO_MODIFICACAO_ENDERECO> >(model.DadosEnderecos.ToList()); if (solicitacoesModEndereco.Any()) { _solicitacaoModificacaoEnderecoService.InserirSolicitacoes(solicitacoesModEndereco, solicitacao); } var papelAtual = _papelService.BuscarPorContratanteETipoPapel(solicitacao.CONTRATANTE_ID, (int)EnumTiposPapel.Solicitante).ID; int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId"); _tramiteService.AtualizarTramite(solicitacao.CONTRATANTE_ID, solicitacao.ID, solicitacao.FLUXO_ID, papelAtual, (int)EnumStatusTramite.Aprovado, usuarioId); PersistirDadosEnderecoEmMemoria(); string chaveUrl = ""; if (model.ControllerOrigem == "Fornecedores") { chaveUrl = Cripto.Criptografar(String.Format("FornecedorID={0}&ContratanteID={1}&RetSucessoEnderecos=1", model.PJPFID, model.ContratanteID), Key); } return(RedirectToAction(model.ActionOrigem, model.ControllerOrigem, new { chaveurl = chaveUrl })); } catch (Exception ex) { Log.Error(ex); string chaveUrl = ""; if (model.ControllerOrigem == "Fornecedores") { chaveUrl = Cripto.Criptografar(String.Format("FornecedorID={0}&ContratanteID={1}&RetSucessoEnderecos=-1", model.PJPFID, model.ContratanteID), Key); } return(RedirectToAction(model.ActionOrigem, model.ControllerOrigem, new { chaveurl = chaveUrl })); } }
private ActionResult ExecutarPrimeiroAcesso(Usuario usuario) { string chave = Path.GetRandomFileName().Replace(".", ""); usuario.TROCAR_SENHA = chave; _usuarioService.ExecutarPrimeiroAcesso(usuario); return(RedirectToAction("TrocaSenhaEsqueceu", "Home", new { chaveurl = Cripto.Criptografar(string.Format("id={0}&chave={1}", usuario.ID, chave), Key) })); }
public ActionResult ValidarUsuarioSenhaPreCadastro(InclusaoLinkExternoVM model) { var modelCpfCnpj = model.isCNPJ ? model.CNPJ.Replace(".", "").Replace("-", "").Replace("/", "") : model.CPF.Replace(".", "").Replace("-", ""); //Validando apenas Login if (!model.isValidarSenha) { ModelState.Remove("Senha"); } if (model.isCNPJ) { ModelState.Remove("CPF"); } else { ModelState.Remove("CNPJ"); } if (ModelState.IsValid) { string urlRetorno = Url.Action("Index", "PreCadastro", new { area = "Externo", chaveurl = model.Link }); Usuario usuario = usuarioBP.BuscarPorLogin(modelCpfCnpj); if (usuario != null) { return(RedirectToAction("Acesso", "Home", new { area = "", chaveurl = Cripto.Criptografar(string.Format("tipocadastro={0}&cnpj={1}&idContratante={2}&Login={1}&SolicitacaoID=0&TravaLogin=1", (int)EnumTipoCadastroNovoUsuario.PreCadastrado, modelCpfCnpj, model.IdContratante), Key), ReturnUrl = urlRetorno })); } else //RedirectToAction CRIAR USUÁRIO { return(RedirectToAction("CadastrarUsuario", "Home", new { area = "", chaveurl = Cripto.Criptografar(string.Format("id=0&tipocadastro={0}&cnpj={1}&idContratante={2}", (int)EnumTipoCadastroNovoUsuario.PreCadastrado, modelCpfCnpj, model.IdContratante), Key) })); } } return(View(model)); }
public IActionResult Put(int id, [FromBody] Usuario usuario) { try { _usuarioRepository.Editar(id, usuario); // Criptografamos antes de salvar a senha usuario.Senha = Cripto.Criptografar(usuario.Senha, usuario.Email.Substring(0, 3)); return(Ok(usuario)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
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 UsuarioLst(UsuarioAdministracaoModel modelo) { int grupoId = (int)Geral.PegaAuthTicket("Grupo"); int pagina = modelo.Pagina ?? 1; ViewBag.Page = "Usuário"; ViewBag.Title = "Lista de usuários"; ViewBag.CONTRATANTE_ID = new SelectList(contratanteBP.ListarTodos(grupoId), "ID", "RAZAO_SOCIAL", modelo.ContratanteId); GerenciarContasFiltrosDTO filtros = new GerenciarContasFiltrosDTO() { CPF = modelo.CPF, Login = modelo.Login, Email = modelo.Email, ContratanteId = modelo.ContratanteId, Ativo = modelo.Ativo, Administrador = modelo.Administrador }; var pesquisaUsuario = usuarioBP.PesquisarUsuarios(filtros, pagina, 10); List <UsuarioAdministracaoModel> usuarioList = Mapper.Map <List <UsuarioAdministracaoModel> >(pesquisaUsuario.RegistrosPagina); usuarioList.ForEach(x => { if (Request.Url == null) { return; } x.UrlEditar = Url.Action("UsuarioEditarFrm", "Usuario", new { chaveurl = Cripto.Criptografar(string.Format("id={0}", x.Id), Key) }, Request.Url.Scheme); x.UrlDetalhar = Url.Action("UsuarioDetalharFrm", "Usuario", new { chaveurl = Cripto.Criptografar(string.Format("id={0}", x.Id), Key) }, Request.Url.Scheme); x.UrlExcluir = Url.Action("Delete", "Usuario", new { chaveurl = Cripto.Criptografar(string.Format("id={0}", x.Id), Key) }, Request.Url.Scheme); } ); return(View(usuarioList)); }
private ActionResult ExibirInputCnpj(InclusaoLinkExternoVM model, bool usuarioInvalido) { if (usuarioInvalido) { return(RedirectToAction("CadastrarUsuario", "Home", new { area = "", chaveurl = Cripto.Criptografar(string.Format("id={0}&tipocadastro={1}&cnpj={2}&idContratante={3}", 0, (int)EnumTipoCadastroNovoUsuario.PreCadastrado, model.CPF, model.IdContratante), Key) })); } ModelState.AddModelError("CNPJ", "CNPJ Inválido. Usuário não encontrado."); ModelState.Remove("isValidarSenha"); // Se for removido o modelo não aceitará receber novo valor model.isValidarSenha = false; return(PartialView("~/Areas/Externo/Views/PreCadastro/_PreCadastro_ValidarUsuario_Editavel.cshtml", model)); }
public ActionResult DisponibilizarLink() { string chave = Db.WFD_CONFIG.FirstOrDefault(x => x.ID == 1).CHAVE_WEBSERVICE; List <LinkExternoPreCadastroVM> modelo = Db.Contratante.Select(x => new LinkExternoPreCadastroVM { IdContratante = x.ID, NomeContratante = x.RAZAO_SOCIAL }).ToList(); modelo.ForEach(x => { x.Chave = chave; x.Link = Url.Action("Incluir", "FornecedorPreCadastro", new { chaveurl = Cripto.Criptografar(string.Format("idContratante={0}&idChave{1}", x.IdContratante, chave), Key) }, Request.Url.Scheme); }); return(View(modelo)); }
public IActionResult Post([FromBody] Usuario usuario) { try { // Criptografamos antes de salvar a senha usuario.Senha = Cripto.Criptografar(usuario.Senha, usuario.Email.Substring(0, 3)); //Adiciona um novo usuário _usuarioRepository.Adicionar(usuario); //statusCode 200 return(Ok(usuario)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public ActionResult SalvarDocumentos(FichaCadastralWebForLinkVM model) { try { if (model.AtualizacaoDocumento) { AtualizarSolicitacaoDocumentos(model, (int)EnumTiposFluxo.ModificacaoDocumentos, model.ID); } else { CriarSolicitacaoDocumento(model); } string chaveUrl = ""; if (model.ControllerOrigem == "Documento") { chaveUrl = Cripto.Criptografar(String.Format("SolicitacaoID=0&FornecedorID={0}&ContratanteID={1}&RetSucessoDocs=1", model.PJPFID, model.ContratanteID), Key); } else if (model.ControllerOrigem == "Fornecedores") { chaveUrl = Cripto.Criptografar(String.Format("FornecedorID={0}&ContratanteID={1}&RetSucessoDocs=1", model.PJPFID, model.ContratanteID), Key); } return(RedirectToAction(model.ActionOrigem, model.ControllerOrigem, new { chaveurl = chaveUrl })); } catch (Exception ex) { Log.Error(ex); string chaveUrl = ""; if (model.ControllerOrigem == "Documento") { chaveUrl = Cripto.Criptografar(String.Format("SolicitacaoID=0&FornecedorID={0}&ContratanteID={1}&RetSucessoDocs=-1", model.PJPFID, model.ContratanteID), Key); } else if (model.ControllerOrigem == "Fornecedores") { chaveUrl = Cripto.Criptografar(String.Format("FornecedorID={0}&ContratanteID={1}&RetSucessoDocs=-1", model.PJPFID, model.ContratanteID), Key); } return(RedirectToAction(model.ActionOrigem, model.ControllerOrigem, new { chaveurl = chaveUrl })); } }
public IActionResult Login([FromBody] Usuario login) { // Criptografamos antes de salvar a senha login.Senha = Cripto.Criptografar(login.Senha, login.Email.Substring(0, 3)); // Definimos logo de cara como não autorizado IActionResult response = Unauthorized(); // Autenticamos o usuário da API var user = AuthenticateUser(login); if (user != null) { var tokenString = GenerateJSONWebToken(user); response = Ok(new { token = tokenString }); } return(response); }
public ActionResult LinkLst() { string chave = wFDConfigBP.BuscarChave(1); List <LinkExternoVM> modelo = contratanteBP.ListarTodos() .Select(x => new LinkExternoVM { IdContratante = x.ID, NomeContratante = x.RAZAO_SOCIAL }).ToList(); modelo.ForEach(x => { x.Chave = chave; x.Link = Url.Action("Index", "PreCadastro", new { chaveurl = Cripto.Criptografar(string.Format("idContratante={0}&idChave={1}", x.IdContratante, chave), Key) }, Request.Url.Scheme); }); return(View(modelo)); }
// GET: Papel public ActionResult PapelLst(PapelAdministracaoModel modelo) { int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId"); int pagina = modelo.Pagina ?? 1; PesquisaPapelFiltrosDTO filtros = new PesquisaPapelFiltrosDTO() { ContratanteUsuario = contratanteId, Nome = modelo.Nome, Sigla = modelo.Sigla, ContratanteId = modelo.ContratanteId }; var novoCategoria = _papelService.PesquisarPapel(filtros, pagina, 10); List <PapelAdministracaoModel> papeisList = Mapper.Map <List <PapelAdministracaoModel> >(novoCategoria.RegistrosPagina, opt => opt.Items["Url"] = Url); papeisList.ForEach(x => { if (Request.Url == null) { return; } x.UrlEditar = Url.Action("PapelFrm", new { chaveurl = Cripto.Criptografar(string.Format("idPapel={0}&Acao=Alterar", x.Id), Key) }); x.UrlExcluir = Url.Action("PapelFrm", new { chaveurl = Cripto.Criptografar(string.Format("idPapel={0}&Acao=Excluir", x.Id), Key) }); }); int grupoId = (int)Geral.PegaAuthTicket("Grupo"); ViewBag.MensagemSucesso = modelo.MensagemSucesso ?? ""; ViewBag.Pagina = pagina; ViewBag.TotalPaginas = novoCategoria.TotalPaginas; ViewBag.TotalRegistros = novoCategoria.TotalRegistros; ViewBag.Page = "Papel"; ViewBag.Title = "Lista de Papel"; ViewBag.CONTRATANTE_ID = new SelectList(_contratanteService.ListarTodos(grupoId), "ID", "RAZAO_SOCIAL", modelo.ContratanteId); return(View(papeisList)); }
public ActionResult CadastrarUsuario(UsuarioVM model) { try { ValidarPoliticaSenha(model); if (model.TipoCadastroNovoUsuario == EnumTipoCadastroNovoUsuario.PreCadastrado) { ModelState.Remove("Nome"); ModelState.Remove("CPF"); } if (ModelState.IsValid) { var usuarioMapeado = Mapper.Map <Usuario>(model); var senhaMapeada = Mapper.Map <USUARIO_SENHAS>(usuarioMapeado); if (model.TipoCadastroNovoUsuario == EnumTipoCadastroNovoUsuario.PreCadastrado) { usuarioMapeado.CPF_CNPJ = model.CPF; usuarioMapeado.CONTRATANTE_ID = null; _usuarioService.IncluirNovoUsuarioPadraoPreCadastro(usuarioMapeado, senhaMapeada); string chave = _configuracaoService.BuscarChave(1); return(RedirectToAction("PopularValidarUsuarioSenha", "PreCadastro", new { area = "Externo", chaveurl = Cripto.Criptografar(string.Format("idContratante={0}&cnpj={1}&senha={2}", model.IdContratante, model.Login, model.Senha), Key) })); } _usuarioService.IncluirUsuarioPadraoSenha(usuarioMapeado, senhaMapeada, new int[0], new int[0]); } } catch (Exception ex) { Log.Error(ex); } return(View(model)); }
public ActionResult CriarSolicitacao(FornecedoresVM model, int?CategoriaSelecionada, string CategoriaSelecionadaNome, int?SolicitacaoID, int Empresa, string Acao) { if (string.IsNullOrEmpty(Acao)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId"); int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId"); bool solicitaDocumentos = (bool)Geral.PegaAuthTicket("SolicitaDocumentos"); bool solicitaFichaCadastral = (bool)Geral.PegaAuthTicket("SolicitaFichaCadastral"); int? grupoId = (int?)Geral.PegaAuthTicket("Grupo"); ViewBag.Categoria = Mapper.Map <List <CategoriaVM> >(_fornecedorCategoriaService.BuscarCategorias(contratanteId).OrderBy(x => x.DESCRICAO).ToList(), opt => opt.Items["Url"] = Url); ViewBag.CategoriaSelecionada = CategoriaSelecionada; ViewBag.CategoriaSelecionadaNome = CategoriaSelecionadaNome; if (CategoriaSelecionada != null) { model.Categoria = (int)CategoriaSelecionada; } if (grupoId != null) { ViewBag.Empresa = new SelectList(_contratanteService.ListarTodosPorUsuario(usuarioId), "ID", "RAZAO_SOCIAL", Empresa); } ViewBag.SolicitaDocumentos = solicitaDocumentos; ViewBag.solicitaFichaCadastral = solicitaFichaCadastral; ViewBag.Compras = new SelectList(_organizacaoComprasService.ListarTodosPorIdContratante(contratanteId), "ID", "ORG_COMPRAS_DSC"); ViewBag.Robo = false; ValidarFormularioCriacaoSolicitacao(model, Acao); ModelState.Remove("Email"); if (ModelState.IsValid) { SOLICITACAO solicitacao; var papelAtual = _papelService.BuscarPorContratanteETipoPapel(contratanteId, (int)EnumTiposPapel.Solicitante).ID; //INCLUSÃO DO FORNECEDOR switch (Acao) { case "Incluir": string cnpj = string.Empty; if (model.TipoFornecedor != (int)EnumTiposFornecedor.EmpresaEstrangeira) { cnpj = model.CNPJ.Replace(".", "").Replace("/", "").Replace("-", "").Replace("_", ""); } CadastrarSolicitacaoDTO modeloCadastro = new CadastrarSolicitacaoDTO() { TipoCadastro = model.TipoCadastro, TipoFornecedor = model.TipoFornecedor, ContratanteId = contratanteId, UsuarioId = usuarioId, CategoriaId = model.Categoria, ComprasId = model.Compras, CNPJ = cnpj, ContatoNome = model.NomeContato, ContatoEmail = model.Email, Telefone = model.Telefone, Assunto = System.Web.HttpContext.Current.Application["NomeSistema"].ToString(), RazaoSocial = model.RazaoSocial, CPF = cnpj, DataNascimento = model.DataNascimento }; solicitacao = _solicitacaoService.CadastrarSolicitacaoPreCadastro(model.ID, modeloCadastro); ViewBag.SolicitacaoId = solicitacao.ID; if (model.TipoFornecedor != (int)EnumTiposFornecedor.EmpresaEstrangeira) // SE NACIONAL { _tramite.AtualizarTramite(contratanteId, solicitacao.ID, solicitacao.FLUXO_ID, papelAtual, (int)EnumStatusTramite.Aguardando, usuarioId); ViewBag.Robo = true; return(View(model)); } return(RedirectToAction("FornecedoresDiretoFrm", "FornecedoresDireto", new { chaveurl = Cripto.Criptografar(string.Format("SolicitacaoID={0}", solicitacao.ID), Key) })); //break; case "Continuar": solicitacao = _solicitacaoService.BuscarPorIdComSolicitacaoCadastroFornecedor((int)SolicitacaoID); var robo = solicitacao.ROBO.FirstOrDefault(); if (robo != null) { if (robo.RF_CONSULTA_DTHR != null && robo.SINT_CONSULTA_DTHR != null && robo.SN_CONSULTA_DTHR != null) { solicitacao.ROBO_EXECUTADO = true; _solicitacaoService.Alterar(solicitacao); } } if (model.TipoCadastro == (int)EnumTiposPreenchimento.Fornecedor) { _tramite.AtualizarTramite(contratanteId, solicitacao.ID, solicitacao.FLUXO_ID, papelAtual, (int)EnumStatusTramite.Aprovado, usuarioId); return(RedirectToAction("EnviarSolicitacao", "PreCadastroFornecedor", new { chaveUrl = Cripto.Criptografar(string.Format("SolicitacaoID={0}", solicitacao.ID), Key), nomeContato = model.NomeContato, emailContato = model.Email, contratanteId = Empresa, documentoPfPj = model.CNPJ })); } return(RedirectToAction("FornecedoresDiretoFrm", "FornecedoresDireto", new { chaveurl = Cripto.Criptografar(string.Format("SolicitacaoID={0}", solicitacao.ID), Key) })); //break; case "Cancelar": solicitacao = _solicitacaoService.BuscarPorIdIncluindoFluxo((int)SolicitacaoID); _tramite.AtualizarTramite(contratanteId, solicitacao.ID, solicitacao.FLUXO_ID, papelAtual, 6, usuarioId); return(RedirectToAction("FornecedoresLst", "Fornecedores", new { MensagemSucesso = "Solicitação Cancelada!" })); //break; } } if (model == null) { return(HttpNotFound()); } return(View(model)); }
public ActionResult Acesso(AcessoVM model) { string chave = Path.GetRandomFileName().Replace(".", ""); try { var usuarioLogado = _usuarioService.BuscarPorLogin(model.Login); //Valida Usuário Existe if (usuarioLogado == null) { Log.Info("Usuário inválido!"); FinalizarAcesso(); ModelState.AddModelError("", "Usuário inválido!"); } if (ModelState.IsValid) { ProcessoLoginDTO processoLogin = _processoLoginService.ExecutarLogin(model.Login, model.Senha); if (usuarioLogado.ATIVO) { if (Acessar(model.Login, model.Senha)) { if (model.TipoCadastroNovoUsuario == EnumTipoCadastroNovoUsuario.PreCadastrado) { return(RedirectToAction("PopularValidarUsuarioSenha", "PreCadastro", new { area = "Externo", chaveurl = Cripto.Criptografar(string.Format("idContratante={0}&cnpj={1}&senha={2}", model.ContratanteId, model.Login, model.Senha), Key), returnUrl = model.ReturnUrl })); } if (usuarioLogado.CONTRATANTE_ID == null) //Se for Fornecedor vá pra essa página { if (model.SolicitacaoId == null) { var pjpf = _pjPfService.BuscarIdFornecedorPorCnpj(model.Login); if (pjpf == 0) { model.SolicitacaoId = _solicitacaoCadastroFornecedorService.BuscarIdSolicitacaoPorCnpj(model.Login); } else { model.FornecedorId = pjpf; } } return(RedirectToActionPermanent("FichaCadastral", "Documento", new { chaveurl = Cripto.Criptografar(string.Format("SolicitacaoID={0}&FornecedorID={1}&ContratanteID=0", model.SolicitacaoId, model.FornecedorId), Key) })); } if (usuarioLogado.PRIMEIRO_ACESSO == true) { usuarioLogado.TROCAR_SENHA = chave; _usuarioService.AlterarUsuario(usuarioLogado); return(RedirectToAction("TrocaSenhaEsqueceu", "Home", new { chaveurl = Cripto.Criptografar(string.Format("id={0}&chave={1}", usuarioLogado.ID, chave), Key) })); } if (string.IsNullOrEmpty(model.ReturnUrl)) { return(RedirectToAction("Index", "HomeAdmin")); } else { string[] url = model.ReturnUrl.Split(new char[] { '/' }); if (url.Length > 0) { return(Redirect(model.ReturnUrl)); } else { return(RedirectToAction("Index", "HomeAdmin")); } } } } else { Log.Error(processoLogin.Mensagem); ModelState.AddModelError("", processoLogin.Mensagem); } } Log.Info("Erro ao tentar logar!"); FinalizarAcesso(); ModelState.AddModelError("", "Erro ao tentar logar confirme login e senha de seu usuário"); return(View(model)); } catch (EntityException ex) { Log.Error(ex); ModelState.AddModelError("", "Ocorreu um erro de conexão."); FinalizarAcesso(); return(View(model)); } catch (Exception ex) { Log.Error(ex); ModelState.AddModelError("", ex.Message); FinalizarAcesso(); return(View(model)); } }
private bool Acessar(string email, string senha, int contratanteId) { Usuario usuario = usuarioBP.BuscarPorLoginParaAcesso(email); if (usuario != null) { if (PasswordHash.ValidatePassword(senha, usuario.SENHA)) { Autenticado aut = Mapper.Map <Autenticado>(usuario); string caminhoFisico = Server.MapPath("/ImagensUsuarios"); string caminhoCompleto = string.Empty; Contratante contratante = contratanteBP.BuscarPorId(contratanteId); string arquivo = "ImagemContratante" + contratanteId + (string.IsNullOrEmpty(contratante.EXTENSAO_IMAGEM) ? ".png" : contratante.EXTENSAO_IMAGEM); caminhoCompleto = caminhoFisico + "\\" + arquivo; aut.Imagem = arquivo; aut.NomeEmpresa = ((string.IsNullOrEmpty(contratante.NOME_FANTASIA)) ? contratante.RAZAO_SOCIAL : contratante.NOME_FANTASIA); if (contratante.WFD_GRUPO.Count > 0) { aut.Grupo = contratante.WFD_GRUPO.First().ID; } string nomeUsuario = User.Identity.Name; MemoryStream stream1 = new MemoryStream(); DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Autenticado)); ser.WriteObject(stream1, aut); stream1.Position = 0; StreamReader sr = new StreamReader(stream1); string sSr = sr.ReadToEnd(); string dados = Cripto.Criptografar(sSr, Key); List <Perfil> lstWacUsuarioPerfil = usuario.WAC_PERFIL.ToList(); string roles = string.Empty; foreach (var perfil in lstWacUsuarioPerfil) { foreach (var funcao in perfil.WAC_FUNCAO) { if (!roles.Contains(funcao.CODIGO)) { roles += funcao.CODIGO + ","; } } } _metodosGerais.CriarAuthTicket(dados, roles); if (usuario.TROCAR_SENHA != null) { usuario.TROCAR_SENHA = null; usuarioBP.AlterarUsuario(usuario); } if (usuario.CONTRATANTE_ID != null) { if (usuario.Contratante.LOGO_FOTO != null && System.IO.Directory.Exists(caminhoFisico)) { System.IO.File.WriteAllBytes(caminhoCompleto, usuario.Contratante.LOGO_FOTO.ToArray()); } } _metodosGerais.AuthenticateRequest(); return(true); } } return(false); }
public ActionResult ValidarUsuarioSenha(InclusaoLinkExternoVM model) { try { ViewBag.NomeEmpresa = contratanteBP.BuscarPorId(model.IdContratante).RAZAO_SOCIAL; ViewBag.ExibirFicha = false; //Validando apenas Login if (!model.isValidarSenha) { ModelState.Remove("Senha"); } if (ModelState.IsValid) { Usuario usuario = usuarioBP.BuscarPorLogin(model.CPF); if (!model.isValidarSenha) { if (usuario != null) { return(RedirectToAction("Acesso", "Home", new { area = "", chaveurl = Cripto.Criptografar(string.Format("id={0}&tipocadastro={1}&cnpj={2}&idContratante={3}&Login={2}&SolicitacaoID=0&TravaLogin=0", 0, (int)EnumTipoCadastroNovoUsuario.PreCadastrado, model.CPF, model.IdContratante), Key) })); } else //RedirectToAction CRIAR USUÁRIO { return(RedirectToAction("CadastrarUsuario", "Home", new { area = "", chaveurl = Cripto.Criptografar(string.Format("id={0}&tipocadastro={1}&cnpj={2}&idContratante={3}", 0, (int)EnumTipoCadastroNovoUsuario.PreCadastrado, model.CPF, model.IdContratante), Key) })); } } else { if (usuario == null) { return(RedirectToAction("CadastrarUsuario", "Home", new { area = "", chaveurl = Cripto.Criptografar(string.Format("id={0}&tipocadastro={1}&cnpj={2}&idContratante={3}", 0, (int)EnumTipoCadastroNovoUsuario.PreCadastrado, model.CPF, model.IdContratante), Key) })); } ProcessoLoginDTO processoLogin = _processoLoginService.ExecutarLogin(model.CPF, model.Senha); if (!processoLogin.Status) { return(RedirectToAction("CadastrarUsuario", "Home", new { area = "", chaveurl = Cripto.Criptografar(string.Format("id={0}&tipocadastro={1}&cnpj={2}&idContratante={3}", 0, (int)EnumTipoCadastroNovoUsuario.PreCadastrado, model.CPF, model.IdContratante), Key) })); } else { ModelState.Remove("FichaCadastral"); var filtroPesquisaFornecedor = PredicateBuilder.New <Fornecedor>(); filtroPesquisaFornecedor = filtroPesquisaFornecedor.And(x => x.CNPJ == model.CPF || x.CPF == model.CPF); DadosExternoPreCadastro preCadastro = new DadosExternoPreCadastro(pjpfBaseBp.ListarPorDocumento(model.CPF), model.CPF, model.IdContratante); preCadastro.PopularDados(); switch (preCadastro.PreCadastroEnum) { case CasosPreCadastroEnum.PreCadastradoOutroContratante: model.FichaCadastral = new FichaCadastralWebForLinkVM(model.IdContratante, CasosPreCadastroEnum.PreCadastradoOutroContratante); break; case CasosPreCadastroEnum.PreCadastradoProprio: model.FichaCadastral = PopularFichaCadastral(preCadastro.FornecedorBaseProprio, model.IdContratante, CasosPreCadastroEnum.PreCadastradoProprio, model.Link); break; //case CasosPreCadastroEnum.CadastradoOutroContratante: // model.FichaCadastral = PopularFichaCadastral(preCadastro.FornecedorList.FirstOrDefault(), true, model.IdContratante, CasosPreCadastroEnum.CadastradoOutroContratante); // break; //case CasosPreCadastroEnum.CadastradoProprio: // model.FichaCadastral = PopularFichaCadastral(preCadastro.FornecedorProprio, false, model.IdContratante, CasosPreCadastroEnum.CadastradoProprio); // break; default: break; } } } } ViewBag.ExibirFicha = true; return(PartialView("~/Areas/Externo/Views/PreCadastro/Index.cshtml", model)); } catch (Exception ex) { Log.Error(ex); return(View()); } }
public ActionResult EsqueceuSenha(AcessoVM model) { ModelState.Remove("Email"); ModelState.Remove("Senha"); ViewBag.DisplayForm = ""; ViewBag.DisplaySucesso = "display: none;"; if (ModelState.IsValid) { Usuario usuario = _usuarioService.BuscarPorLogin(model.Login); if (usuario != null) { // ARMAZENA CHAVE DE TROCA string chave = Path.GetRandomFileName().Replace(".", ""); usuario.TROCAR_SENHA = chave; _usuarioService.AlterarUsuario(usuario); // CRIPTOGRAFA A URL QUE SERA ENVIADA AO USUÁRIO string url = Url.Action("TrocaSenhaEsqueceu", "Home", new { chaveurl = Cripto.Criptografar(string.Format("id={0}&chave={1}", usuario.ID, chave), Key) }, Request.Url.Scheme); EmailWebForLink mensagemEmail = new EmailWebForLink(usuario.EMAIL); mensagemEmail.EsquecerSenha(url); _metodosGerais.EnviarEmail(mensagemEmail); ViewBag.DisplayForm = "display: none;"; ViewBag.DisplaySucesso = ""; } else { ModelState.AddModelError("Email", "E-mail não encontrado!"); } } return(View(model)); }
public void ListarGridAcompanhamento(List <AprovacaoVM> lstAprovacaoVM, SOLICITACAO item) { var cnpjAprovacao = string.Empty; var etapaAprovacao = string.Empty; string etapa; SOLICITACAO_TRAMITE tramite = item.WFD_SOLICITACAO_TRAMITE .LastOrDefault(x => x.SOLICITACAO_ID == item.ID); if (tramite != null) { etapa = item.SOLICITACAO_STATUS_ID != (int)EnumStatusTramite.Concluido ? tramite.Papel.PAPEL_NM : item.WFD_SOLICITACAO_STATUS.NOME; } else { etapa = item.WFD_SOLICITACAO_STATUS.NOME; } var aprovacaoVM = new AprovacaoVM(item.ID, item.FLUXO_ID, item.Fluxo.FLUXO_NM); aprovacaoVM.Fornecedor = !item.SolicitacaoCadastroFornecedor.Any() ? null : item.SolicitacaoCadastroFornecedor.First(); if (aprovacaoVM.Fornecedor != null) { aprovacaoVM.GrupoContas = item.SolicitacaoCadastroFornecedor.FirstOrDefault().WFD_PJPF_CATEGORIA.DESCRICAO; } else if (item.SolicitacaoCadastroFornecedor.FirstOrDefault() != null) { aprovacaoVM.GrupoContas = item.Fornecedor.WFD_CONTRATANTE_PJPF.FirstOrDefault(x => x.CONTRATANTE_ID == item.CONTRATANTE_ID).WFD_PJPF_CATEGORIA.DESCRICAO; } else if (item.Fornecedor != null) { aprovacaoVM.GrupoContas = item.Fornecedor.WFD_CONTRATANTE_PJPF.FirstOrDefault(x => x.CONTRATANTE_ID == item.CONTRATANTE_ID).WFD_PJPF_CATEGORIA.DESCRICAO; } else { aprovacaoVM.GrupoContas = item.FORNECEDORBASE.WFD_PJPF_CATEGORIA.DESCRICAO; } aprovacaoVM.Contratante = item.Contratante; aprovacaoVM.Solicitacao_Dt_Cria = item.SOLICITACAO_DT_CRIA; aprovacaoVM.Login = (item.Usuario != null) ? item.Usuario.NOME : null; aprovacaoVM.Etapa = etapa; if (item.Fornecedor != null) { if (item.Fornecedor.TIPO_PJPF_ID == 1 || item.Fornecedor.TIPO_PJPF_ID == 2) { aprovacaoVM.NomeFornecedor = item.Fornecedor.RAZAO_SOCIAL; } else { aprovacaoVM.NomeFornecedor = item.Fornecedor.NOME; } } else if (item.SolicitacaoCadastroFornecedor.FirstOrDefault() != null) { if (item.SolicitacaoCadastroFornecedor.First().PJPF_TIPO != 3) { aprovacaoVM.NomeFornecedor = item.SolicitacaoCadastroFornecedor.FirstOrDefault().RAZAO_SOCIAL; } else { aprovacaoVM.NomeFornecedor = item.SolicitacaoCadastroFornecedor.FirstOrDefault().NOME; } } else { aprovacaoVM.NomeFornecedor = item.FORNECEDORBASE.RAZAO_SOCIAL != null ? item.FORNECEDORBASE.RAZAO_SOCIAL : item.FORNECEDORBASE.NOME; } // 1 = Cadastro Fornecedor Nacional // 2 = Cadastro Fornecedor Estrangeiro // 10 = Cadastro de Fonecedor Pessoa Física // 11 = Cadastro Fornecedor Nacional Direto // 12 = Cadastro Fornecedor Pessoa Fisica Direto var fluxos = new List <int> { 10, 20, 30, 40, 50 }; if (fluxos.Contains(item.Fluxo.FLUXO_TP_ID)) { if (item.SolicitacaoCadastroFornecedor.Any()) { string sCnpj = item.SolicitacaoCadastroFornecedor.First().CNPJ; string sCpf = item.SolicitacaoCadastroFornecedor.First().CPF; int tpForn = item.SolicitacaoCadastroFornecedor.First().PJPF_TIPO; if (tpForn == 1 || tpForn == 2) { if (tpForn != 3) { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCnpj).ToString(@"00\.000\.000\/0000\-00"); } else { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCpf).ToString(@"000\.000\.000\-00"); } } else { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCpf).ToString(@"000\.000\.000\-00"); } } else { if (item.Fornecedor != null) { string sCnpj = item.Fornecedor.CNPJ; if (!string.IsNullOrEmpty(sCnpj)) { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCnpj).ToString(@"00\.000\.000\/0000\-00"); } } } } else { string sCnpj = item.Fornecedor != null ? item.Fornecedor.CNPJ : item.FORNECEDORBASE.CNPJ; string sCpf = item.Fornecedor != null ? item.Fornecedor.CPF : item.FORNECEDORBASE.CPF; int? tpForn = item.Fornecedor != null ? item.Fornecedor.TIPO_PJPF_ID : item.FORNECEDORBASE.PJPF_TIPO; if (tpForn == 1 || tpForn == 2) { if (tpForn != 3) { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCnpj).ToString(@"00\.000\.000\/0000\-00"); } else { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCpf).ToString(@"000\.000\.000\-00"); } } else { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCpf).ToString(@"000\.000\.000\-00"); } } if (tramite != null) { aprovacaoVM.UrlAprovacao = Url.Action("FornecedoresControleSolicitacoesFrm", "ControleSolicitacao", new { chaveurl = Cripto.Criptografar(string.Format("idS={0}&idST={1}&idP={2}", aprovacaoVM.IdSolicitacao, aprovacaoVM.FluxoId, tramite.PAPEL_ID), Key) }, Request.Url.Scheme); } lstAprovacaoVM.Add(aprovacaoVM); }
public ActionResult EnviarSolicitacao(SolicitacaoFornecedorVM model, string Email) { var solicitacao = _solicitacaoService.BuscarPorIdComDocumentos((int)model.SolicitacaoCriacaoID); var cadForn = solicitacao.SolicitacaoCadastroFornecedor.FirstOrDefault(); ViewBag.PassoAtual = model.PassoAtual; if (!solicitacao.SolicitacaoDeDocumentos.Any()) { ModelState.AddModelError("", "Não é possível enviar a solicitação sem a lista de Documentos"); } if (ModelState.IsValid) { try { SOLICITACAO_MENSAGEM solicitacaoMensagem = new SOLICITACAO_MENSAGEM { SOLICITACAO_ID = (int)model.SolicitacaoCriacaoID, ASSUNTO = model.Assunto, MENSAGEM = model.Mensagem, DT_ENVIO = DateTime.Now, }; foreach (var item in solicitacao.SolicitacaoDeDocumentos) { item.WFD_SOL_MENSAGEM = solicitacaoMensagem; } _solicitacaoMensagemService.InserirMensagem(solicitacaoMensagem, solicitacao.SolicitacaoDeDocumentos.ToList()); } catch { ModelState.AddModelError("", "Erro ao tentar salvar a Solicitação de Documentos. A solicitação não foi enviada!"); return(View(model)); } //se não for primeiro acesso enviar para tela de acesso string url = Url.Action("Index", "Home", new { chaveurl = Cripto.Criptografar(string.Format("SolicitacaoID={0}&Login={1}&TravaLogin=1", model.SolicitacaoCriacaoID, model.Fornecedor.CNPJ), Key) }, Request.Url.Scheme); bool emailEnviadoComSucesso = false; _solicitacaoContatoService.ListarPorSolicitacaoId((int)model.SolicitacaoCriacaoID) .ForEach(x => { //se for primeiro acesso enviar para criação de usuário #region BuscarPorEmail //validar se o e-mail já existe na tabela de Usuarios if (!_usuarioService.ValidarPorCnpj(model.Fornecedor.CNPJ)) { url = Url.Action("CadastrarUsuarioFornecedor", "Home", new { chaveurl = Cripto.Criptografar(string.Format("Login={0}&SolicitacaoID={1}&Email={2}", model.Fornecedor.CNPJ, model.SolicitacaoCriacaoID, x.EMAIL), Key) }, Request.Url.Scheme); } #endregion string mensagem = string.Concat(model.Mensagem, "<p><a href='", url, "'>Link</a>:", url, "</p>"); emailEnviadoComSucesso = _metodosGerais.EnviarEmail(x.EMAIL, model.Assunto, mensagem); }); if (!emailEnviadoComSucesso) { return(RedirectToAction("FornecedoresLst", "Fornecedores", new { MensagemSucesso = "As tentativas de envio de e-mail falharam, favor reenviar a solicitação através da tela de acompanhamento." })); } return(RedirectToAction("FornecedoresLst", "Fornecedores", new { MensagemSucesso = string.Format("Solicitação Nº {0} enviada ao Fornecedor com sucesso!", model.SolicitacaoCriacaoID) })); } return(View(model)); }
public ActionResult FornecedoresDiretoFrm(FichaCadastralWebForLinkVM model, string ServicosSelecionados, string MateriaisSelecionados) { model.FornecedoresUnspsc = new List <FornecedorUnspscVM>(); var unspscVM = new FornecedorUnspscVM(); var materiaisEServicos = _unspscBP.BuscarListaPorID(ServicosSelecionados.Split(new Char[] { '|' }), MateriaisSelecionados.Split(new Char[] { '|' })); model.FornecedoresUnspsc = unspscVM.PreencheModelUnspsc(model.PJPFID, model.SolicitacaoID, materiaisEServicos); var preenchimentoValido = (FinalizarFichaCadastral(model)); var cnpj = model.CNPJ_CPF.Replace(".", "").Replace("-", "").Replace("/", ""); //se não for primeiro acesso enviar para tela de acesso if (Request.Url != null) { var url = Url.Action("Index", "Home", new { chaveurl = Cripto.Criptografar( string.Format("SolicitacaoID={0}&Login={1}&TravaLogin=1", model.SolicitacaoID, cnpj), Key) }, Request.Url.Scheme); //se for primeiro acesso enviar para criação de usuário #region BuscarPorEmail //validar se o e-mail já existe na tabela de Usuarios if (!_usuarioService.ValidarPorCnpj(cnpj)) { var contato = model.DadosContatos.FirstOrDefault(); if (contato != null) { url = Url.Action("CadastrarUsuarioFornecedor", "Home", new { chaveurl = Cripto.Criptografar(string.Format("Login={0}&SolicitacaoID={1}&Email={2}", cnpj, model.SolicitacaoID, contato.EmailContato), Key) }, Request.Url.Scheme); } } } #endregion BuscarPorEmail PersistirDadosEmMemoria(); PersistirDadosEnderecoEmMemoria(); if (preenchimentoValido) { return(RedirectToAction("FornecedoresLst", "Fornecedores", new { MensagemSucesso = string.Format("Solicitação Nº {0} de Criação de Fornecedor realizado com Sucesso!", model.Solicitacao.ID) })); } return(View(model)); }
public ActionResult Salvar(FichaCadastralWebForLinkVM model) { try { SOLICITACAO solicitacao = new SOLICITACAO(); solicitacao.FLUXO_ID = _fluxoService.BuscarPorTipoEContratante((int)EnumTiposFluxo.ModificacaoDadosBancarios, model.ContratanteID).ID; solicitacao.SOLICITACAO_DT_CRIA = DateTime.Now; solicitacao.SOLICITACAO_STATUS_ID = (int)EnumStatusTramite.EmAprovacao; // EM APROVACAO solicitacao.USUARIO_ID = (int)Geral.PegaAuthTicket("UsuarioId"); solicitacao.PJPF_ID = model.ID; if (model.ContratanteID != 0) { solicitacao.CONTRATANTE_ID = model.ContratanteID; } foreach (var item in model.DadosBancarios) { item.SolicitacaoID = solicitacao.ID; item.ContratanteID = solicitacao.CONTRATANTE_ID; item.BancoPJPFID = item.BancoPJPFID; if (!string.IsNullOrEmpty(item.ArquivoSubido)) { var arquivoId = _fornecedorArquivoService.GravarArquivoSolicitacao(solicitacao.CONTRATANTE_ID, item.ArquivoSubido, item.TipoArquivoSubido); item.ArquivoID = arquivoId; } } var solicitacoesModBanco = Mapper.Map <List <DadosBancariosVM>, List <SolicitacaoModificacaoDadosBancario> >(model.DadosBancarios.ToList()); _solicitacaoBancoService.InserirSolicitacoes(solicitacoesModBanco, solicitacao); int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId"); iTramiteService.AtualizarTramite(solicitacao.CONTRATANTE_ID, solicitacao.ID, solicitacao.FLUXO_ID, (int)EnumPapeisWorkflow.Solicitante, (int)EnumStatusTramite.Aprovado, usuarioId); var dadosBancariosFinalizados = _fornecedorBancoService.BuscarPorContratantePJPFId(model.ContratanteFornecedorID); PersistirDadosBancoEmMemoria(); string chaveUrl = ""; if (model.ControllerOrigem == "Documento") { chaveUrl = Cripto.Criptografar(String.Format("SolicitacaoID=0&FornecedorID={0}&ContratanteID={1}&RetSucessoBancos=1", model.PJPFID, model.ContratanteID), Key); } else if (model.ControllerOrigem == "Fornecedores") { chaveUrl = Cripto.Criptografar(String.Format("FornecedorID={0}&ContratanteID={1}&RetSucessoBancos=1", model.PJPFID, model.ContratanteID), Key); } return(RedirectToAction(model.ActionOrigem, model.ControllerOrigem, new { chaveurl = chaveUrl })); } catch (Exception ex) { Log.Error(ex); string chaveUrl = ""; if (model.ControllerOrigem == "Documento") { chaveUrl = Cripto.Criptografar(String.Format("SolicitacaoID=0&FornecedorID={0}&ContratanteID={1}&RetSucessoBancos=-1", model.PJPFID, model.ContratanteID), Key); } else if (model.ControllerOrigem == "Fornecedores") { chaveUrl = Cripto.Criptografar(String.Format("FornecedorID={0}&ContratanteID={1}&RetSucessoBancos=-1", model.PJPFID, model.ContratanteID), Key); } return(RedirectToAction(model.ActionOrigem, model.ControllerOrigem, new { chaveurl = chaveUrl })); } }
public ActionResult AprovacaoLst(int?Pagina, string MensagemSucesso) { int pagina = Pagina ?? 1; ViewBag.Pagina = pagina; ViewBag.MensagemSucesso = MensagemSucesso ?? ""; int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId"); int[] papeis = _papelService.EmpilharPorUsuarioId(usuarioId); string chave = Path.GetRandomFileName().Replace(".", ""); var lstWfdSolicitacao = _solicitacaoService.BuscarPesquisa( x => x.WFD_SOLICITACAO_TRAMITE.Any(y => papeis.Contains(y.PAPEL_ID) && y.SOLICITACAO_STATUS_ID == 1), TamanhoPagina, pagina, x => x.ID); List <AprovacaoVM> lstAprovacaoVM = new List <AprovacaoVM>(); try { if (lstWfdSolicitacao.RegistrosPagina.Any()) { foreach (SOLICITACAO item in lstWfdSolicitacao.RegistrosPagina) { foreach (var tramite in item.WFD_SOLICITACAO_TRAMITE.Where(x => papeis.Contains(x.PAPEL_ID) && x.SOLICITACAO_STATUS_ID == 1)) { AprovacaoVM aprovacaoVM = new AprovacaoVM { Solicitacao = new SOLICITACAO(), Solicitacao_Tramites = new List <SOLICITACAO_TRAMITE>(), Fornecedor = new SolicitacaoCadastroFornecedor(), FluxoId = item.FLUXO_ID, Contratante_ID = item.CONTRATANTE_ID, NomeContratante = item.Contratante.RAZAO_SOCIAL, Solicitacao_Dt_Cria = item.SOLICITACAO_DT_CRIA, Login = item.Usuario != null ? item.Usuario.NOME : null, IdSolicitacao = item.ID, NomeSolicitacao = item.Fluxo.FLUXO_NM, Solicitacao_Tramite = tramite }; if (item.CadastroFornecedor(item)) { if (item.SolicitacaoCadastroFornecedor != null) { aprovacaoVM.NomeFornecedor = item.SolicitacaoCadastroFornecedor.First().PJPF_TIPO != 3 ? item.SolicitacaoCadastroFornecedor.First().RAZAO_SOCIAL : item.SolicitacaoCadastroFornecedor.First().NOME; } else { aprovacaoVM.NomeFornecedor = item.FORNECEDORBASE.PJPF_TIPO != 3 ? item.FORNECEDORBASE.RAZAO_SOCIAL : item.FORNECEDORBASE.NOME; } } else if (item.Fornecedor != null) { aprovacaoVM.NomeFornecedor = item.Fornecedor.TIPO_PJPF_ID == 3 ? item.Fornecedor.NOME : item.Fornecedor.RAZAO_SOCIAL; } else { aprovacaoVM.NomeFornecedor = item.FORNECEDORBASE.PJPF_TIPO != 3 ? item.FORNECEDORBASE.RAZAO_SOCIAL : item.FORNECEDORBASE.NOME; } aprovacaoVM.UrlAprovacao = Url.Action("AprovacaoFrm", "Aprovacao", new { chaveurl = Cripto.Criptografar(string.Format("idSolicitacao={0}&idSolicitacaoTipo={1}&idPapel={2}", aprovacaoVM.IdSolicitacao.ToString(), aprovacaoVM.FluxoId.ToString(), tramite.PAPEL_ID, chave), Key) }, Request.Url.Scheme); lstAprovacaoVM.Add(aprovacaoVM); } } ViewBag.TotalPaginas = lstWfdSolicitacao.TotalPaginas; ViewBag.TotalRegistros = lstWfdSolicitacao.TotalRegistros; } } catch (Exception ex) { Log.Error(ex); ModelState.AddModelError("", "Erro ao buscar as solicitações"); return(View()); } return(View(lstAprovacaoVM)); }
public ActionResult CriarPreCadastro(FichaCadastralWebForLinkVM modelo, string ServicosSelecionados, string MateriaisSelecionados, int acaoTxt) { int validacao = 0; modelo.FornecedoresUnspsc = new List <FornecedorUnspscVM>(); modelo.DocumentoEditavel = true; try { if (!string.IsNullOrEmpty(modelo.CNPJ_CPF)) { modelo.CNPJ_CPF = modelo.CNPJ_CPF.Replace(".", "").Replace("/", "").Replace("-", "").Replace("_", ""); } switch (acaoTxt) { //Cadastro sem Solicitacao case 1: validacao = IncluirPjpfBaseAlterarFichaModel(modelo, ServicosSelecionados, MateriaisSelecionados, validacao, acaoTxt); if (validacao != 0) { return(Json(new { url = Url.Action("PreCadastroLst", "PreCadastroFornecedor", new PreCadastroListaVM(null, "Pré-cadastro incluído com sucesso")) })); } break; //Cadastro com Solicitacao case 2: validacao = IncluirPjpfBaseAlterarFichaModel(modelo, ServicosSelecionados, MateriaisSelecionados, validacao, acaoTxt); if (validacao != 0) { return(Json(new { url = Url.Action("CriarSolicitacao", "PreCadastroFornecedor", new { chaveurl = Cripto.Criptografar(string.Format("id={0}", validacao), Key) }) })); } break; default: break; } } catch (Exception ex) { Log.Error(ex); } modelo.DadosBancarios = new List <DadosBancariosVM>(); modelo.DadosContatos = new List <DadosContatoVM>(); modelo.DadosEnderecos = new List <DadosEnderecosVM>(); modelo.FornecedoresUnspsc = new List <FornecedorUnspscVM>(); modelo.IsPjpfBaseProprio = false; modelo.IsPjpfProprio = false; modelo.DocumentoEditavel = true; return(PartialView("~/Views/PreCadastroFornecedor/_PreCadastro_FichaCadastral.cshtml", modelo)); }
public ActionResult Index(AcessoVM model) { try { if (model.chaveUrl != null) { List <ParametroCriptografia> param = Cripto.DescriptografarUrl(model.chaveUrl, Key); int idSolicitacao; int travaLogin = 0; Int32.TryParse(param.First(p => p.Name == "SolicitacaoID").Value, out idSolicitacao); Int32.TryParse(param.First(p => p.Name == "TravaLogin").Value, out travaLogin); string login = param.First(p => p.Name == "Login").Value; model.SolicitacaoId = idSolicitacao; model.TravaLogin = travaLogin; model.Login = login; } Usuario usuarioLogado = _usuarioService.BuscarPorLogin(model.Login); //Valida Usuário Existe if (usuarioLogado == null) { Log.Info("Usuário inválido!"); FinalizarAcesso(); ModelState.AddModelError("", "Usuário inválido!"); } if (ModelState.IsValid) { ViewBag.ExibeModalAcesso = true; ValidarBloqueioTempo(usuarioLogado); if (Acessar(model.Login, model.Senha)) { _usuarioService.ZerarTentativasLogin(usuarioLogado); if (usuarioLogado.CONTRATANTE_ID == null) //Se for Fornecedor vá pra essa página { if (model.SolicitacaoId == null) { int pjpf = _pjPfService.BuscarIdFornecedorPorCnpj(model.Login); if (pjpf == 0) { model.SolicitacaoId = _solicitacaoCadastroFornecedorService.BuscarIdSolicitacaoPorCnpj(model.Login); } else { model.FornecedorId = pjpf; } } return(Redirect(Url.Action("FichaCadastral", "Documento", new { chaveurl = Cripto.Criptografar(string.Format("SolicitacaoID={0}&FornecedorID={1}&ContratanteID=0", model.SolicitacaoId, model.FornecedorId), Key) }, Request.Url.Scheme))); } if (usuarioLogado != null && usuarioLogado.PRIMEIRO_ACESSO == true) { return(ExecutarPrimeiroAcesso(usuarioLogado)); } if (Convert.ToBoolean(ConfigurationManager.AppSettings["GravaLogAcesso"])) { _acessoLogService.GravarLogAcesso(usuarioLogado.ID, PegaIPAcesso(), PegaNavegadorAcesso()); } if (string.IsNullOrEmpty(model.ReturnUrl)) { return(RedirectToAction("Index", "HomeAdmin")); } else { string[] url = model.ReturnUrl.Split(new char[] { '/' }); if (url.Length == 2) { return(RedirectToAction(url[2], url[1])); } else { return(RedirectToAction("Index", "HomeAdmin")); } } } ViewBag.ExibeModalAcesso = false; var ativo = usuarioLogado != null && (usuarioLogado.ATIVO != false); if (ativo) { _usuarioService.ContabilizarErroLogin(usuarioLogado); ModelState.AddModelError("", "Login ou Senha Inválido!"); ViewBag.ExibeModalAcesso = true; } else { ModelState.AddModelError("", "Usuário bloqueado!"); ViewBag.ExibeModalAcesso = true; } } else { ViewBag.ExibeModalAcesso = true; } return(View(model)); } catch (EntityException ex) { Log.Error(ex); ModelState.AddModelError("", "Ocorreu um erro de conexão."); FinalizarAcesso(); ViewBag.ExibeModalAcesso = true; return(View(model)); } catch (Exception ex) { Log.Error(ex); ModelState.AddModelError("", ex.Message); FinalizarAcesso(); ViewBag.ExibeModalAcesso = true; return(View(model)); } }