public ActionResult Criar(TipoAlteracao tipo) { //Autentica if (Session["ConexaoSapiens"] == null) { return RedirectToAction("Login", "Home"); } //Autoriza if (!AutorizaUsuario(ControlAccessConfig.Usuario)) { return View("Erro", null, "Módulo não autorizado para este usuário. "); } using (var bll = new TipoAlteracaoBLL()) { try { tipo.Situacao = "A"; bll.Salvar(tipo); return RedirectToAction("Index"); } catch (Exception ex) { return View("Erro", ex.Message); } } }
public ActionResult SalvarDadoPrincipal(DadoPrincipalSolicitacao dps) { //Autentica if (Session["ConexaoSapiens"] == null) { return RedirectToAction("Login", "Home"); } //Autoriza if (!AutorizaUsuario(Helpers.ControlAccessConfig.NovaSolicitacao)) { return View("Erro", null, "Módulo não autorizado para este usuário. "); } Solicitacao s = Session["Solicitacao"] as Solicitacao; // pegar o valor das dropdowns com jquery, e adicionar no "data" da request ajax. FEITO. 11/11/2014 #region preenche variáveis que não podem ficar nulas. if (String.IsNullOrEmpty(dps.Telefone)) { dps.Telefone = ""; } else { dps.Telefone = Regex.Replace(dps.Telefone, @"(\)+)|(\(+)|(\-+)", ""); if (dps.Telefone[2] == '0') { var ddd = dps.Telefone.Substring(0, 2); var num = dps.Telefone.Substring(2); dps.Telefone = ddd + num; } } dps.Telefone2 = String.IsNullOrEmpty(dps.Telefone2) ? "" : dps.Telefone2; dps.Telefone3 = String.IsNullOrEmpty(dps.Telefone3) ? "" : dps.Telefone3; dps.Telefone4 = String.IsNullOrEmpty(dps.Telefone4) ? "" : dps.Telefone4; dps.Telefone5 = String.IsNullOrEmpty(dps.Telefone5) ? "" : dps.Telefone5; //dps.ContribuinteICMS = String.IsNullOrEmpty(dps.ContribuinteICMS) ? "" : dps.ContribuinteICMS; var IE = String.IsNullOrEmpty(dps.InscricaoEstadual) ? "" : dps.InscricaoEstadual; dps.ContribuinteICMS = IE.Trim().ToLower() == "isento" || IE.Trim().ToLower() == "" ? "N" : "S"; dps.TributaICMS = "S"; dps.CodGrupoEmpresa = String.IsNullOrEmpty(dps.CodGrupoEmpresa) ? "" : dps.CodGrupoEmpresa; dps.NumeroFax = String.IsNullOrEmpty(dps.NumeroFax) ? "" : dps.NumeroFax; dps.PontoDeReferencia = string.IsNullOrEmpty(dps.PontoDeReferencia) ? "" : dps.PontoDeReferencia; dps.CodClienteDadoPrincipalSol = s.CodCliente; dps.TipoMercado = "I"; dps.CobraCliente = "S"; dps.ExpurgaDaInadimplencia = "N"; dps.ObservacaoMotivoSituacao = string.IsNullOrEmpty(dps.ObservacaoMotivoSituacao) ? "" : dps.ObservacaoMotivoSituacao; dps.TipoDireitoPropriedadeEmpresa = "1"; s.CodFilial = Convert.ToInt32(Session["CodigoFilial"]); // obter a filial no sapiens... OK #endregion try { var tiposDeAlteracao = dps.Alteracoes; //salvar os tipos de alteração. var usuario = (UsuarioSapiens)Session["ConexaoSapiens"]; s.CodUsuarioSolicitacao = usuario.Codusu; s.DatAlteracao = DateTime.Now; using (SolicitacaoBLL solicitacaoBLL = new SolicitacaoBLL()) { DadoPrincipalSolicitacaoBLL dadoPrincipalBLL = new DadoPrincipalSolicitacaoBLL(); HistoricoSolicitacaoBLL historicoBLL = new HistoricoSolicitacaoBLL(); DocumentoAnexadoSolicitacaoBLL docsBLL = new DocumentoAnexadoSolicitacaoBLL(); TipoAlteracaoBLL tipAltBLL = new TipoAlteracaoBLL(); var justificativaArmazenada = Session["TxtJustificativa"] as string; s.Usuario = usuario.Nomusu; s.DatCriacao = DateTime.Now; s.TxtJustificativa = !String.IsNullOrEmpty(s.TxtJustificativa) ? s.TxtJustificativa : !String.IsNullOrEmpty(justificativaArmazenada) ? justificativaArmazenada : ""; // AQUI GERA O TICKET SE AINDA NÃO HOUVER DADOS DA SOLICITAÇÃO -> OK if (dps.CodigoDadoPrincipal == 0) { //------------------------------------------------------------------------ if (s.CodCliente == 0) { s.CodTipoSolicitacao = Convert.ToInt32(TipoSolicitacao.Inclusao); } else // se o código do cliente não for 0, pode ser duplicação ou alteração. { if (s.CodTipoSolicitacao != 3) // se vem da duplicação, o codTipoSolicitacao foi definido lá { s.CodTipoSolicitacao = Convert.ToInt32(TipoSolicitacao.Alteracao); } } //------------------------------------------------------------------------ #region Salvar o histórico da solicitação se não existir ( MOSTROU-SE DESNECESSÁRIO ) //var historico = s.Historicos.LastOrDefault(); //if (historico == null) //{ // // Inserir como 'DIGITANDO' (código 1) // var h = new HistoricoSolicitacao(); // h.CodSituacaoSolicitacao = Convert.ToInt32(SituacaoSolicitacao.AguardandoFechamento); // s.CodSituacaoAtual = Convert.ToInt32(SituacaoSolicitacao.AguardandoFechamento); // h.Solicitacao = s; // s.Historicos.Add(h); //} #endregion s.CodSituacaoAtual = Convert.ToInt32(SituacaoSolicitacao.AguardandoFechamento); solicitacaoBLL.SalvarOuAtualizar(s); if (tiposDeAlteracao != null) { foreach (var t in tiposDeAlteracao) { var codTipoAlteracao = Convert.ToInt32(t); var tipo = tipAltBLL.ObterPorCodigo(codTipoAlteracao); if (!s.TiposAlteracao.Contains(tipo)) { s.TiposAlteracao.Add(tipo); } //se o tipo de alteração que eu estou tentando gravar já existir, não gravar. } } solicitacaoBLL.Atualizar(s); dps.Solicitacao = s; // atribui a chave estrageira (solicitação) ao dado principal. dps.EmailNFE = String.IsNullOrEmpty(dps.EmailNFE) ? "" : dps.EmailNFE;// +";" + dps.EmailNFE2; dadoPrincipalBLL.Salvar(dps); // salva os dados principais. } else { var dadoPrincipal = dadoPrincipalBLL.ObterPorCodigo(dps.CodigoDadoPrincipal); dadoPrincipal.Ativo = dps.Ativo; dadoPrincipal.Bairro = dps.Bairro; dadoPrincipal.CEP = dps.CEP; dadoPrincipal.Cidade = dps.Cidade; dadoPrincipal.CobraCliente = dps.CobraCliente; dadoPrincipal.CodClienteDadoPrincipalSol = dps.CodClienteDadoPrincipalSol; dadoPrincipal.CodGrupoEmpresa = dps.CodGrupoEmpresa; dadoPrincipal.CodIBGE = dps.CodIBGE; dadoPrincipal.CodigoDadoPrincipal = dps.CodigoDadoPrincipal; dadoPrincipal.CodRamoAtividade = dps.CodRamoAtividade; dadoPrincipal.CodRota = dps.CodRota; dadoPrincipal.CodSubRota = dps.CodSubRota; dadoPrincipal.Complemento = dps.Complemento; dadoPrincipal.ContribuinteICMS = dps.ContribuinteICMS; dadoPrincipal.CPFCNPJ = dps.CPFCNPJ; dadoPrincipal.DataUltimaConsulta = dps.DataUltimaConsulta; dadoPrincipal.EmailNFE2 = dps.EmailNFE2; dadoPrincipal.EmailNFE = dps.EmailNFE + ";" + dps.EmailNFE2; dadoPrincipal.ExpurgaDaInadimplencia = dps.ExpurgaDaInadimplencia; dadoPrincipal.InscricaoEstadual = dps.InscricaoEstadual; dadoPrincipal.Isento = dps.Isento; dadoPrincipal.Logradouro = dps.Logradouro; dadoPrincipal.NomeFantasia = dps.NomeFantasia; dadoPrincipal.Numero = dps.Numero; dadoPrincipal.NumeroFax = dps.NumeroFax; dadoPrincipal.ObservacaoMotivoSituacao = dps.ObservacaoMotivoSituacao; dadoPrincipal.PontoDeReferencia = dps.PontoDeReferencia; dadoPrincipal.RamoFiscal = dps.RamoFiscal; dadoPrincipal.RazaoSocial = dps.RazaoSocial; dadoPrincipal.SituacaoReceitaFederal = String.IsNullOrEmpty(dadoPrincipal.SituacaoReceitaFederal) ? "Consulta não retornou dados" : dadoPrincipal.SituacaoReceitaFederal; dadoPrincipal.SituacaoReceitaEstadual = String.IsNullOrEmpty(dadoPrincipal.SituacaoReceitaEstadual) ? "Consulta não retornou dados" : dadoPrincipal.SituacaoReceitaEstadual; dadoPrincipal.Solicitacao = s; dadoPrincipal.Telefone = dps.Telefone; dadoPrincipal.Telefone2 = dps.Telefone2; dadoPrincipal.Telefone3 = dps.Telefone3; dadoPrincipal.Telefone4 = dps.Telefone4; dadoPrincipal.Telefone5 = dps.Telefone5; dadoPrincipal.TipoCliente = dps.TipoCliente; dadoPrincipal.TipoDireitoPropriedadeEmpresa = dps.TipoDireitoPropriedadeEmpresa; dadoPrincipal.TipoEmpresa = dps.TipoEmpresa; dadoPrincipal.TipoMercado = dps.TipoMercado; dadoPrincipal.TributaICMS = dps.TributaICMS; dadoPrincipal.UF = dps.UF; solicitacaoBLL.SalvarOuAtualizar(s);// AQUI GERA O TICKET -> OK ///////////////////// if (tiposDeAlteracao != null) { foreach (var t in tiposDeAlteracao) { var codTipoAlteracao = Convert.ToInt32(t); var tipo = tipAltBLL.ObterPorCodigo(codTipoAlteracao); if (!s.TiposAlteracao.Contains(tipo)) { s.TiposAlteracao.Add(tipo); } } solicitacaoBLL.Atualizar(s); } ///////////////////// dps.Solicitacao = s; dadoPrincipalBLL.Atualizar(dadoPrincipal); } s.DadosPrincipaisSolicitacao.Clear(); s.DadosPrincipaisSolicitacao.Add(dps); // as vezes reclama de session aberta, solução -> trazer do banco , preencher os dados e atualizar. } Session["Solicitacao"] = s; new SolicitacaoBLL().ObterNomes(new List<Solicitacao>() { s }); return Json(new { msg = "Dados Principais gravados com sucesso. ticket nº: " + s.Codigo, codSol = s.Codigo, datCriacao = s.DatCriacao.ToShortDateString(), filial = s.Filial, status = s.Situacao, tipo = s.Tipo }, JsonRequestBehavior.DenyGet); } catch (Exception ex) { return Json(new { msg = "Erro ao tentar gravar dados principais: " + ex.Message }, JsonRequestBehavior.DenyGet); } }
public ActionResult Editar(int codigo) { if (Session["ConexaoSapiens"] == null) { return RedirectToAction("Login", "Home"); } //Autoriza if (!AutorizaUsuario(ControlAccessConfig.Usuario)) { return View("Erro", null, "Módulo não autorizado para este usuário. "); } using (var bll = new TipoAlteracaoBLL()) { var model = bll.ObterPorCodigo(codigo); return View(model); } }
// // GET: /TipoAlteracao/ public ActionResult Index() { //Autentica if (Session["ConexaoSapiens"] == null) { return RedirectToAction("Login", "Home"); } //Autoriza if (!AutorizaUsuario(ControlAccessConfig.Usuario)) { return View("Erro", null, "Módulo não autorizado para este usuário. "); } // mostrar uma lista using (TipoAlteracaoBLL bll = new TipoAlteracaoBLL()) { var lista = bll.ListarTodos(); return View(lista); } }
public ActionResult Editar(TipoAlteracao tipo) { if (Session["ConexaoSapiens"] == null) { return RedirectToAction("Login", "Home"); } //Autoriza if (!AutorizaUsuario(ControlAccessConfig.Usuario)) { return View("Erro", null, "Módulo não autorizado para este usuário. "); } using (var bll = new TipoAlteracaoBLL()) { try { bll.Atualizar(tipo); return RedirectToAction("Index"); } catch (Exception) { return View(); } } }
public ActionResult Analise(int codigo = 0, int CodParecer = 0) { #region Autentica if (Session["ConexaoSapiens"] == null) { return RedirectToAction("Login", "Home"); } #endregion #region Autoriza if (!AutorizaUsuario(Helpers.ControlAccessConfig.AbrirAnalise)) { return View("Erro", null, "Módulo não autorizado para este usuário. "); } #endregion ViewBag.CodSol = codigo; var usuario = (UsuarioSapiens)Session["ConexaoSapiens"]; ViewBag.Usuario = usuario.Nomusu; ViewBag.NomeEmpresa = usuario.Numemp; var nomeFilial = Session["NomeFilial"] as string; ViewBag.Filial = usuario.Codfil + " - " + nomeFilial; using (var solicitacaoBLL = new SolicitacaoBLL()) { #region Prepara a camada lógica de negócio var dadoPrincipalBLL = new DadoPrincipalAprovacaoBLL(); var caracteristicaSapiensBLL = new CaracteristicaSapiensBLL(); var definicoesBLL = new DefinicoesClienteAprovacaoBLL(); var defBLL = new DefinicoesClienteSolicitacaoBLL(); var perfilBLL = new PerfilUsuarioBLL(); var usuarioBLL = new UsuarioSapiensBLL(); var clienteSapiensBLL = new ClienteSapiensBLL(); var consultaReceitaBLL = new ConsultaReceitaBLL(); var parecerBLL = new ParecerSolicitacaoBLL(); var tipAltBLL = new TipoAlteracaoBLL(); #endregion Solicitacao s = null; ParecerSolicitacao p = null; try { // se não for passado o código da solicitação, mas foi passado o código do parecer. if (codigo == 0 && CodParecer != 0) { p = parecerBLL.ObterPorCodigo(CodParecer); s = p.Solicitacao; } // e se não for passado um código de parecer, obter o último parecer de uma solicitação. else { s = solicitacaoBLL.ObterPorCodigo(codigo); p = s.PareceresSolicitacao.OrderBy(par => par.CodParecer).Last(); } #region Buscar a solicitacao usando o código e obter todas as dependencias OK // Procura na session, se não tiver , tenta obter por código, se tiver, usa da session //se está aguardando integração, não pode abrir -> "Não é possível abrir a análise de uma solicitação \n\r em processo de integração." solicitacaoBLL.ObterNomes(new List<Solicitacao> { s }); Session["Solicitacao"] = s; try { var sitInt = s.Historicos.OrderBy(h => h.CodHistoricoSolicitacao).Last().CodSituacaoIntegracaoSolicitacao; var situacaoIntegracao = sitInt == 1 ? "Pendente de Integração" : sitInt == 2 ? "Integrado" : sitInt == 3 ? "Erro na Integração" : "Não Iniciado"; ViewBag.SituacaoIntegracao = situacaoIntegracao; } catch (Exception) { ViewBag.SituacaoIntegracao = "Não Encontrado"; } //if (s.Situacao.ToUpper() == "AGUARDANDO INTEGRAÇÃO") //{ // return Json(new { erro = "Não é possível abrir a análise de uma solicitação \n\r em processo de integração." }, JsonRequestBehavior.AllowGet); //} #region obter o perfil atribuído a cada parecer. (quem precisa aprovar) foreach (var par in s.PareceresSolicitacao) { var perfilAprovador = perfilBLL.ObterPorCodigo(par.Codperusu); par.Perfil = perfilAprovador.DesPerfil; var usuarioAprovador = usuarioBLL.ObterPorCodigo((int)par.Codusuapr); par.Aprovador = usuarioAprovador.Nomusu; } #endregion #region pega o último parecer. if (!String.IsNullOrEmpty(s.Definicoes.Last().VlrLimite)) { var vlrLimite = s.Definicoes.Last().VlrLimite; s.Definicoes.Last().VlrLimite = String.IsNullOrEmpty(vlrLimite) ? "" : Regex.Replace(vlrLimite, @"(\s+)|(\\+)|(\.+)|(/+)|(\-+)|(\,+)|(R+)|(\$+)", ""); } //preenche os nomes foreach (var par in s.PareceresSolicitacao) { foreach (var c in par.CaracteristicasAprovacao) { caracteristicaSapiensBLL.ObterNomes(c); } } #endregion #endregion #region obter os perfis do usuario (quem está logado) OK - se algum dos perfis do usuário logado contém o perfil aprovador, pode salvar parecer. var perfisUsuarioLogado = perfilBLL.ObterGruposPorCodUsuario(usuario.Codusu); if (perfisUsuarioLogado.Count() == 0) { perfisUsuarioLogado.Add(new PerfilUsuario() { DesPerfil = "DESCONHECIDO", CodPerfilUsuario = 0, SitPerfil = 0 }); } var queryPodeSalvarParecer = from meuPerfil in perfisUsuarioLogado where meuPerfil.CodPerfilUsuario == p.Codperusu select meuPerfil; var queryUsuarioTI = from meuPerfil in perfisUsuarioLogado where meuPerfil.CodPerfilUsuario == 1 select meuPerfil; ViewBag.PodeSalvar = queryPodeSalvarParecer.Count() > 0 ? "S" : "N"; ViewBag.IsUsuarioTI = queryUsuarioTI.Count() > 0 ? "S" : "N"; ViewBag.Usuario = usuario.Nomusu; #endregion foreach (var v in s.Integracoes) { if (v.CodSecao.HasValue) { v.Secao = v.CodSecao.Value == 1 ? "Dados Principais" : v.CodSecao.Value == 2 ? "Características" : v.CodSecao.Value == 3 ? "Definições" : v.CodSecao.Value == 4 ? "Endereço de Cobrança" : v.CodSecao.Value == 5 ? "Endereço de Entrega" : v.CodSecao.Value == 6 ? "Referências" : v.CodSecao.Value == 7 ? "Contatos" : v.CodSecao.Value == 8 ? "Anexos" : v.CodSecao.Value == 9 ? "Sócios" : ""; } if (v.CodSituacaoIntegracao.HasValue) { v.SituacaoIntegracao = v.CodSituacaoIntegracao.Value == 1 ? "Comando Enviado" : v.CodSituacaoIntegracao.Value == 2 ? "OK" : v.CodSituacaoIntegracao.Value == 3 ? "Erro" : ""; } } // pegar o código do usuário e comparar // se o perfil do parecer não for o mesmo do usuário atual, travar todos os campos. #region Prepara o Parecer 'p' e exibe na tela. // preencher a tela de aprovacao com: // 1 - a lista de Pareceres OK // 2 - a tela de resumo da solicitação. ( OK ) // 3 - os dados complementares. ( OK ) // 4 - o click do botao de parecer pega o aprovador e muda o parecer. ( OK ) // 5 - as views de consulta. p.Codusuapr = usuario.Codusu; // obter o codigo do usuario da aprovacao. dadoPrincipalBLL.PreencheDependencias(p.DadosPrincipaisAprovacao.Last()); var cgccpf = Regex.Replace(p.DadosPrincipaisAprovacao.Last().CPFCNPJ, @"(\s+)|(\\+)|(\.+)|(/+)|(\-+)", ""); var codFilial = Session["CodigoFilial"]; #region HINT DATA ULTIMA CONSULTA OU DATA CADASTRO var ultimaConsulta = consultaReceitaBLL.ObterDataUltimaConsultaDoCliente(cgccpf); #endregion p.DadosPrincipaisAprovacao.Last().DataUltimaConsulta = ultimaConsulta.ToString("dd/MM/yyyy HH:mm:ss"); p.CaracteristicasAprovacao = p.CaracteristicasAprovacao.Count > 0 ? p.CaracteristicasAprovacao : new List<CaracteristicaClienteAprovacao>() { }; p.DefinicoesAprovacao = p.DefinicoesAprovacao.Count > 0 ? p.DefinicoesAprovacao : new List<DefinicoesClienteAprovacao>() { }; definicoesBLL.PreencheDependencias(p.DefinicoesAprovacao.Last(), p.Solicitacao.CodCliente); p.ContatosAprovacao = p.ContatosAprovacao.Count > 0 ? p.ContatosAprovacao : new List<ContatoClienteAprovacao>() { }; defBLL.PreencheDependencias(p.Solicitacao.Definicoes.Last(), 1, 1); if (!String.IsNullOrEmpty(p.DefinicoesAprovacao.Last().VlrLimite)) { p.DefinicoesAprovacao.Last().VlrLimite = String.Format("{0:C}", Convert.ToInt32(p.DefinicoesAprovacao.Last().VlrLimite)); } if (p.SociosAprovacao.Count > 0) { if (!String.IsNullOrEmpty(p.SociosAprovacao.Last().CapitalSocial)) { var strCapitalSocial = p.SociosAprovacao.Last().CapitalSocial; int valorInteiroCapitalSocial = 0; if (Int32.TryParse(strCapitalSocial, out valorInteiroCapitalSocial)) { p.SociosAprovacao.Last().CapitalSocial = String.Format("{0:C}",valorInteiroCapitalSocial); } } } #endregion #region Preencher Dependencias do Tableau PreencherDependenciasTableau(p.DadosPrincipaisAprovacao.Last()); #endregion #region Buscar Cliente e verificar a data da última solicitação ( se houver prepara dependências dos dados complementares ) var clienteSapiens = clienteSapiensBLL.ObterPorCodigo(s.CodCliente); // se já é cliente, verifica se já tem alguma solicitação. if (clienteSapiens != null) { int codFilAnulavel = s.Definicoes.Last().CodFilial; var definicoesClienteSapiens = new DefinicoesSapiensBLL().ObterDefinicoesPorCliente(clienteSapiens.codcli, codFilAnulavel); clienteSapiens.Definicoes.Add(definicoesClienteSapiens); var pessoaJuridica = new SocioSapiensBLL().ObterSociosPorCliente(clienteSapiens.codcli).LastOrDefault(); var solicitacoes = solicitacaoBLL.ObterSolicitacoesPorCodFilial(Convert.ToInt32(Session["CodigoFilial"])); var queryClienteSolicitacao = from sol in solicitacoes where sol.CodCliente == clienteSapiens.codcli select sol; #region Preencher Dependências dos Dados Complementares OK Gilberto 20/03/2015 - Atualizado em 26/08/2015 var umAnoAtras = new DateTime(DateTime.Now.Year - 1, DateTime.Now.Month, DateTime.Now.Day).ToShortDateString(); var hoje = DateTime.Now.ToShortDateString(); ViewBag.GrupoDeEmpresasCadastro = s.DadosPrincipaisSolicitacao.Last().GrupoEmpresas.Where(g => g.codgre == clienteSapiens.codgre).Select(grupo => grupo.nomgre).FirstOrDefault(); if (clienteSapiens.Definicoes.Last() != null) { ViewBag.DescontoFinanceiroCadastro = clienteSapiens.Definicoes.Last().UsuPerds1 == 0 ? "NÃO" : "SIM"; /////////// var codcpgAtual = clienteSapiens.Definicoes.Last().Codcpg; var codcpgSolicitado = s.Definicoes.Last().CodCondicaoPagamento; var prazoDePagamentoAtual = s.Definicoes.Last().CondicoesPagamento.Where(c => c.codcpg == codcpgAtual).Select(cond => cond.descpg).FirstOrDefault(); ViewBag.PrazoDePagamentoCadastro = prazoDePagamentoAtual; if (codcpgAtual != codcpgSolicitado) { ViewBag.HouveAlteracaoPrazo = "S"; } else { ViewBag.HouveAlteracaoPrazo = "N"; } var codFpgAtual = clienteSapiens.Definicoes.Last().Codfpg; var codFpgSolicitado = s.Definicoes.Last().CodFormaDePagamento; var formaDePagamentoAtual = s.Definicoes.Last().FormasPagamento.Where(c => c.codfpg == codFpgAtual).Select(cond => cond.desfpg).FirstOrDefault(); ViewBag.FormaDePagamentoCadastro = formaDePagamentoAtual; if (codFpgAtual.ToString() != codFpgSolicitado) { ViewBag.HouveAlteracaoFormaPagamento = "S"; } else { ViewBag.HouveAlteracaoFormaPagamento = "N"; } } /////////// if (pessoaJuridica != null) { ViewBag.CapitalSocialCadastro = String.Format("{0:C}", pessoaJuridica.USU_CAPSOC.HasValue ? pessoaJuridica.USU_CAPSOC.Value : 0); ViewBag.DataFundacaoCadastro = pessoaJuridica.DATFDC.HasValue ? pessoaJuridica.DATFDC.Value.ToShortDateString() : ""; ViewBag.DataInclusaoCadastro = pessoaJuridica.DATPAL.HasValue ? pessoaJuridica.DATPAL.Value.ToShortDateString() : ""; } ViewBag.TktMedioTitulosLiquidados = clienteSapiensBLL.TicketMedioCompras("cliente", s.CodCliente.ToString(), umAnoAtras, hoje); ViewBag.TktMedioAVencer = clienteSapiensBLL.TkTMedVencer("cliente", s.CodCliente.ToString(), umAnoAtras, hoje); ViewBag.ValorFinanceiroTotal = clienteSapiensBLL.ValorFinTotal("cliente", s.CodCliente.ToString(), umAnoAtras, hoje); ViewBag.QtdTitulosVencidos = clienteSapiensBLL.QtdeTitulosVencidos("cliente", s.CodCliente.ToString(), umAnoAtras, hoje); ViewBag.PercentualMedioPontualidade = clienteSapiensBLL.PercentPontualidade("cliente", s.CodCliente.ToString(), umAnoAtras, hoje); ViewBag.PrazoMedioPgtoTitulos = clienteSapiensBLL.PrazoMedioPgto("cliente", s.CodCliente.ToString(), umAnoAtras, hoje); ViewBag.VlrTotalTitulosVencidos = clienteSapiensBLL.VlrTotalTitulosVencidos("cliente", s.CodCliente.ToString(), umAnoAtras, hoje); ViewBag.LimiteUtilizado = clienteSapiensBLL.LimiteUtilizado(1, s.CodFilial, s.CodCliente.ToString()); var limiteAtual = clienteSapiensBLL.ListaLimiteAtual(1, s.CodCliente); // ex de retorno : "R$ 100,00" ViewBag.LimiteAtual = limiteAtual; #region lógica pra mostrar o limite solicitado na tela de análise, somente se o solicitante alterou o limite cadastrado. limiteAtual = Regex.Replace(limiteAtual, @"(\s+)|(\\+)|(\.+)|(/+)|(\-+)|(\,+)|(R+)|(\$+)", ""); if (limiteAtual.Length > 1) { limiteAtual = limiteAtual.Substring(0, limiteAtual.Length - 2); } else { limiteAtual = "0"; } string limiteSolicitado = String.Format("{0:C}", s.Definicoes.Last().VlrLimite); if (limiteAtual != limiteSolicitado) { ViewBag.HouveAlteracaoLimite = "S"; ViewBag.LimiteSolicitado = String.Format("{0:C}", Decimal.Parse(limiteSolicitado)); } else { ViewBag.HouveAlteracaoLimite = "N"; ViewBag.LimiteSolicitado = "---"; } #endregion ViewBag.LimiteDisponivel = clienteSapiensBLL.ListaLimiteDisponivel(1, s.CodCliente); ViewBag.MaiorFatura = clienteSapiensBLL.MaiorFatura(s.CodCliente.ToString()); ViewBag.MaiorAtraso = clienteSapiensBLL.TituloMaiorAtraso(s.CodCliente.ToString()); ViewBag.DataUltimoPedido = clienteSapiensBLL.BuscarUltimoPedido(1, s.CodCliente); var dataUltimaSolicitacaov2 = solicitacaoBLL.ObterDataUltimaSolicitacaoNoSICADV2(s.CodCliente); var dataUltimaSolicitacaov3 = ""; if (queryClienteSolicitacao.LastOrDefault() != null) { // já existe solicitação para este cliente. dataUltimaSolicitacaov3 = queryClienteSolicitacao.Last().DatCriacao.ToString("dd/MM/yyyy"); } ViewBag.DataUltimaSolicitacao = String.IsNullOrEmpty(dataUltimaSolicitacaov3) ? dataUltimaSolicitacaov2 : dataUltimaSolicitacaov3; ViewBag.DataUltimaSolicitacaov2 = dataUltimaSolicitacaov2; string valorFaturamento1; string valorFaturamento2; string valorFaturamento3; string dataFaturamento1; string dataFaturamento2; string dataFaturamento3; string mediaFaturamentoTrimestre; clienteSapiensBLL.ObterDadosFaturamentoCliente(s.CodCliente, out valorFaturamento1, out valorFaturamento2, out valorFaturamento3, out dataFaturamento1, out dataFaturamento2, out dataFaturamento3, out mediaFaturamentoTrimestre); ViewBag.ValorFaturamento1 = dataFaturamento1 + " R$ " + valorFaturamento1; ViewBag.ValorFaturamento2 = dataFaturamento2 + " R$ " + valorFaturamento2; ViewBag.ValorFaturamento3 = dataFaturamento3 + " R$ " + valorFaturamento3; ViewBag.MediaFaturamentoTrimestre = " " + mediaFaturamentoTrimestre; #endregion } else { // se ainda não é cliente, devo marcar como S pra exibir os valores solicitados na tela. ViewBag.HouveAlteracaoLimite = "S"; ViewBag.HouveAlteracaoFormaPagamento = "S"; ViewBag.HouveAlteracaoPrazo = "S"; string limiteSolicitado = String.Format("{0:C}", s.Definicoes.Last().VlrLimite); if(!String.IsNullOrEmpty(limiteSolicitado)) { ViewBag.LimiteSolicitado = String.Format("{0:C}", Decimal.Parse(limiteSolicitado)); } else { ViewBag.HouveAlteracaoLimite = "N"; ViewBag.LimiteSolicitado = "---"; } } #endregion if (s.CodTipoSolicitacao == 3) { ViewBag.PrecisaValidar = "N"; }// TODO : desativar a validação em caso de inativação. Session["Parecer"] = p; return View("Analise", p); // sem as dependencias. } catch (Exception ex) { return Json(new { msg = "Não foi possível abrir a Solicitação nº " + s.Codigo + " , ERRO -> " + ex.Message }, JsonRequestBehavior.AllowGet); } } }