public FichaCadastralWebForLinkVM(bool exibeTudo) { AprovacaoProrrogacao = new AprovacaoPrazoVM(); ReprovacaoProrrogacao = new ReprovacaoPrazoVM(); MensagemImportacao = new MensagemImportacaoVM(); TipoFuncionalidade = new EnumTiposFuncionalidade(); PreCadastroEnum = new CasosPreCadastroEnum(); ProrrogacaoPrazo = new ProrrogacaoPrazoVM(); DadosBloqueio = new DadosBloqueioVM(); Aprovacao = new AprovacaoVM(); SolicitacaoFornecedor = new SolicitacaoFornecedorVM(); Solicitacao = new SolicitacaoVM(); Bloqueio = new BloqueioVM(); Desbloqueio = new DesbloqueioVM(); Expansao = new ExpansaoVM(); FornecedorRobo = new FornecedorRoboVM(); PrazoEntrega = new PrazoEntregaVM(); Questionarios = new RetornoQuestionario <QuestionarioVM>(); Categoria = new CategoriaFichaVM(); DadosBancarios = new List <DadosBancariosVM>(); DadosEnderecos = new List <DadosEnderecosVM>(); DadosContatos = new List <DadosContatoVM>(); BancoList = new List <SelectListItem>(); SolicitacaoDocumentos = new List <SolicitacaoDocumentosVM>(); ServicosMateriais = new List <ServicoMaterialVM>(); FornecedoresUnspsc = new List <FornecedorUnspscVM>(); Documentos = new List <DocumentosPJPFVM>(); Contratantes = new List <ContratantesVM>(); }
public ActionResult CancelarDocumentos(int fornecedorID, int contratanteID) { var pjpf = _fornecedorDocumentoService.BuscarPorPJPFId(fornecedorID); var documentos = pjpf.WFD_CONTRATANTE_PJPF.FirstOrDefault(c => c.CONTRATANTE_ID == contratanteID).WFD_PJPF_DOCUMENTOS.ToList(); var solicitacaoFornecedorVM = new SolicitacaoFornecedorVM(); solicitacaoFornecedorVM.Documentos = Mapper.Map <List <DocumentosDoFornecedor>, List <SolicitacaoDocumentosVM> >(documentos); return(PartialView("_FichaCadastral_Anexos", solicitacaoFornecedorVM)); }
public FichaCadastralWebForLinkVM(int idSolicitacao, AprovacaoVM aprovacao) { Aprovacao = aprovacao; DadosBancarios = new List <DadosBancariosVM>(); DadosContatos = new List <DadosContatoVM>(); FornecedorRobo = new FornecedorRoboVM(); ProrrogacaoPrazo = new ProrrogacaoPrazoVM(); SolicitacaoFornecedor = new SolicitacaoFornecedorVM { Solicitacao = true, SolicitacaoCriacaoID = idSolicitacao, Documentos = new List <SolicitacaoDocumentosVM>(), }; Solicitacao = new SolicitacaoVM { Fluxo = new FluxoVM() }; }
public FichaCadastralWebForLinkVM(int idSolicitacao) { DadosBancarios = new List <DadosBancariosVM>(); DadosContatos = new List <DadosContatoVM>(); DadosEnderecos = new List <DadosEnderecosVM>(); SolicitacaoFornecedor = new SolicitacaoFornecedorVM { Documentos = new List <SolicitacaoDocumentosVM>(), SolicitacaoCriacaoID = idSolicitacao }; Aprovacao = new AprovacaoVM(); Solicitacao = new SolicitacaoVM { Fluxo = new FluxoVM() }; DadosBloqueio = new DadosBloqueioVM(); FornecedorRobo = new FornecedorRoboVM(); FornecedoresUnspsc = new List <FornecedorUnspscVM>(); }
public ActionResult EnviarSolicitacao(string chaveUrl, string nomeContato, string emailContato, int contratanteId, string documentoPfPj) { int solicitacaoId = 0; var solicitacaoFornecedorVM = new SolicitacaoFornecedorVM(); try { if (!string.IsNullOrEmpty(chaveUrl)) { List <ParametroCriptografia> param = Cripto.DescriptografarUrl(chaveUrl, Key); Int32.TryParse(param.First(p => p.Name == "SolicitacaoID").Value, out solicitacaoId); } if (solicitacaoId > 0) { ViewBag.TipoDocumentos = new SelectList(_tipoDocumentoService.ListarPorIdContratante(contratanteId), "ID", "DESCRICAO"); ViewBag.DescricaoDocumentos = new SelectList(new List <DescricaoDeDocumentos>(), "ID", "DESCRICAO"); solicitacaoFornecedorVM.SolicitacaoCriacaoID = solicitacaoId; solicitacaoFornecedorVM.ContratanteSelecionado = contratanteId; solicitacaoFornecedorVM.Fornecedor = new SolicitacaoFornecedoresVM { CNPJ = documentoPfPj }; PopularSolicitacaoCadastroPJPF((int)Geral.PegaAuthTicket("ContratanteId"), solicitacaoFornecedorVM); ViewBag.PassoAtual = 3; } return(View(solicitacaoFornecedorVM)); } catch (Exception e) { Log.Error(e); } return(View()); }
public void PreencherFichaCadastral(SOLICITACAO solicitacao, FichaCadastralWebForLinkVM ficha, int TpPapel) { Contratante contratante = solicitacao.Contratante; SolicitacaoCadastroFornecedor solicitacaoCadastroPJPF = solicitacao.SolicitacaoCadastroFornecedor.First(); SolicitacaoFornecedorVM solicitacaoFornecedorVM = new SolicitacaoFornecedorVM(); ficha.TipoFornecedor = solicitacaoCadastroPJPF.PJPF_TIPO; ficha.ContratanteID = contratante.ID; ficha.CategoriaId = solicitacaoCadastroPJPF.CATEGORIA_ID; ficha.ContratanteFornecedorID = solicitacao.CONTRATANTE_ID; ficha.SolicitacaoID = solicitacao.ID; ficha.Categoria = new CategoriaFichaVM { Id = solicitacaoCadastroPJPF.CATEGORIA_ID, Nome = solicitacaoCadastroPJPF.WFD_PJPF_CATEGORIA.CODIGO, }; ficha.Solicitacao = new SolicitacaoVM { ID = solicitacao.ID, Fluxo = new FluxoVM { ID = solicitacao.FLUXO_ID } }; switch ((EnumTiposFornecedor)solicitacaoCadastroPJPF.PJPF_TIPO) { case EnumTiposFornecedor.EmpresaNacional: ficha.CNPJ_CPF = Convert.ToUInt64(solicitacaoCadastroPJPF.CNPJ).ToString(@"00\.000\.000\/0000\-00"); ficha.RazaoSocial = solicitacaoCadastroPJPF.RAZAO_SOCIAL; break; case EnumTiposFornecedor.EmpresaEstrangeira: ficha.RazaoSocial = solicitacaoCadastroPJPF.RAZAO_SOCIAL; break; case EnumTiposFornecedor.PessoaFisica: ficha.CNPJ_CPF = Convert.ToUInt64(solicitacaoCadastroPJPF.CPF).ToString(@"000\.000\.000\-00"); ficha.RazaoSocial = solicitacaoCadastroPJPF.NOME; break; } ficha.NomeFantasia = solicitacaoCadastroPJPF.NOME_FANTASIA; //ficha.CNAE = solicitacaoCadastroPJPF.CNAE; ficha.InscricaoEstadual = solicitacaoCadastroPJPF.INSCR_ESTADUAL; ficha.InscricaoMunicipal = solicitacaoCadastroPJPF.INSCR_MUNICIPAL; ficha.TipoLogradouro = solicitacaoCadastroPJPF.TP_LOGRADOURO; ficha.Endereco = solicitacaoCadastroPJPF.ENDERECO; ficha.Numero = solicitacaoCadastroPJPF.NUMERO; ficha.Complemento = solicitacaoCadastroPJPF.COMPLEMENTO; ficha.Cep = solicitacaoCadastroPJPF.CEP; ficha.Bairro = solicitacaoCadastroPJPF.BAIRRO; ficha.Cidade = solicitacaoCadastroPJPF.CIDADE; ficha.Estado = solicitacaoCadastroPJPF.UF; ficha.Pais = solicitacaoCadastroPJPF.PAIS; ficha.Observacao = solicitacaoCadastroPJPF.OBSERVACAO; //Mapear Dados Bancários var solicitacoesModBanco = solicitacao.SolicitacaoModificacaoDadosBancario.ToList(); ficha.DadosBancarios = solicitacoesModBanco.Any() ? Mapper.Map <List <SolicitacaoModificacaoDadosBancario>, List <DadosBancariosVM> >(solicitacoesModBanco) : new List <DadosBancariosVM>(); //Mapear Dados de Endereço var solicitacoesModEndereco = solicitacao.WFD_SOL_MOD_ENDERECO.ToList(); if (solicitacaoCadastroPJPF.PJPF_TIPO == 1) { ficha.DadosEnderecos = solicitacoesModEndereco.Any() ? Mapper.Map <List <SOLICITACAO_MODIFICACAO_ENDERECO>, List <DadosEnderecosVM> >(solicitacoesModEndereco) : new List <DadosEnderecosVM>(); } else { ficha.DadosEnderecos = solicitacoesModEndereco.Any() ? Mapper.Map <List <SOLICITACAO_MODIFICACAO_ENDERECO>, List <DadosEnderecosVM> >(solicitacoesModEndereco) : new List <DadosEnderecosVM> { new DadosEnderecosVM { } }; } //Mapear Dados Contatos var solicitacoesModContato = solicitacao.SolicitacaoModificacaoDadosContato.ToList(); ficha.DadosContatos = solicitacoesModContato.Any() ? Mapper.Map <List <SolicitacaoModificacaoDadosContato>, List <DadosContatoVM> >(solicitacoesModContato) : new List <DadosContatoVM> { new DadosContatoVM() }; if (solicitacao.WFD_SOL_MENSAGEM.Any()) { solicitacaoFornecedorVM.Assunto = solicitacao.WFD_SOL_MENSAGEM.First().ASSUNTO; solicitacaoFornecedorVM.Mensagem = solicitacao.WFD_SOL_MENSAGEM.First().MENSAGEM; } solicitacaoFornecedorVM.Fornecedores = new List <SolicitacaoFornecedoresVM>(); solicitacaoFornecedorVM.SolicitacaoCriacaoID = solicitacao.ID; solicitacaoFornecedorVM.Fornecedores = solicitacao.SolicitacaoCadastroFornecedor.Select(x => new SolicitacaoFornecedoresVM { NomeFornecedor = x.RAZAO_SOCIAL, CNPJ = x.CNPJ }).ToList(); ficha.SolicitacaoFornecedor = solicitacaoFornecedorVM; //Mapear os Documentos solicitacaoFornecedorVM.Documentos = Mapper.Map <List <SolicitacaoDeDocumentos>, List <SolicitacaoDocumentosVM> >(solicitacao.SolicitacaoDeDocumentos.ToList()); //Mapear UNSPSC ficha.FornecedoresUnspsc = Mapper.Map <List <SOLICITACAO_UNSPSC>, List <FornecedorUnspscVM> >(solicitacao.WFD_SOL_UNSPSC.ToList()); var papel = _papelService.BuscarPorContratanteETipoPapel(contratante.ID, TpPapel).ID; //Mapear Questionários ficha.Questionarios = new RetornoQuestionario <QuestionarioVM> { QuestionarioDinamicoList = Mapper.Map <List <QuestionarioDinamico>, List <QuestionarioVM> >( _cadastroUnicoBP.BuscarQuestionarioDinamico(new QuestionarioDinamicoFiltrosDTO() { //PapelId = papelAtual, UF = "RJ", ContratanteId = contratante.ID, PapelId = papel, CategoriaId = solicitacaoCadastroPJPF.CATEGORIA_ID, Alteracao = true, SolicitacaoId = solicitacao.ID }) ) }; ficha.ProrrogacaoPrazo = new ProrrogacaoPrazoVM(); if (solicitacao.WFD_SOLICITACAO_PRORROGACAO.Count > 0) { //Busca a ultima solicitacao de prorrogação, ou seja a ativa. ficha.ProrrogacaoPrazo = Mapper.Map <SOLICITACAO_PRORROGACAO, ProrrogacaoPrazoVM>(solicitacao.WFD_SOLICITACAO_PRORROGACAO.OrderBy(o => o.ID).LastOrDefault()); } ficha.ProrrogacaoPrazo.PrazoPreenchimento = _contratanteConfiguracaoService.BuscarPrazo(solicitacao); if (ficha.ProrrogacaoPrazo.Aprovado != null) { if ((bool)ficha.ProrrogacaoPrazo.Aprovado) { ficha.ProrrogacaoPrazo.Status = "Aprovado"; } else { ficha.ProrrogacaoPrazo.Status = "Reprovado"; } } else { ficha.ProrrogacaoPrazo.Status = "Aguardando Aprovação..."; } }
public SolicitacaoFornecedorVM PopularSolicitacaoCadastroPJPF(int contratanteId, SolicitacaoFornecedorVM modelo) { var solicitacao = _solicitacaoService.BuscarPorIdComDocumentos((int)modelo.SolicitacaoCriacaoID); var solforn = solicitacao.SolicitacaoCadastroFornecedor.FirstOrDefault(); var configEmail = _configuracaoEmailContratanteService.BuscarPorContratanteETipo(contratanteId, 1); modelo.Fornecedor.ID = solforn.ID; modelo.Fornecedor.NomeFornecedor = solforn.PJPF_TIPO == 1 ? solforn.RAZAO_SOCIAL : solforn.NOME; modelo.Fornecedor.CNPJ = solforn.PJPF_TIPO == 1 ? solforn.CNPJ : solforn.CPF; modelo.Documentos = solicitacao.SolicitacaoDeDocumentos.Select(x => new SolicitacaoDocumentosVM { ID = x.DESCRICAO_DOCUMENTO_ID, ListaDocumentosID = x.LISTA_DOCUMENTO_ID, DescricaoDocumentoId = x.DESCRICAO_DOCUMENTO_ID, GrupoDocumento = x.DescricaoDeDocumentos.TipoDeDocumento.DESCRICAO, Documento = x.DescricaoDeDocumentos.DESCRICAO, PorValidade = x.LISTA_DOCUMENTO_ID != null ? x.ListaDeDocumentosDeFornecedor.EXIGE_VALIDADE : false }).ToList(); modelo.Assunto = configEmail.ASSUNTO; modelo.Mensagem = configEmail.CORPO; modelo.PassoAtual = 3; return(modelo); }
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)); }