public ActionResult Nova() { Solicitacao s = null; //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. "); } try { var usuario = (UsuarioSapiens)Session["ConexaoSapiens"]; //Incluir uma nova solicitação. using (var dadoPrincipalBLL = new DadoPrincipalSolicitacaoBLL()) { s = new Solicitacao(); dadoPrincipalBLL.PreencheDependencias(s.DadosPrincipaisSolicitacao.Last()); // Custo -> 16 MB s.DatAlteracao = DateTime.Now; Session["Solicitacao"] = s; return View(s); } } catch (Exception) { throw; } // obter a filial, o usuário // ao avançar, validar e criar um ticket em caso de validação positiva. }
/// <summary> /// Busca as dependencias dos relacionamentos. EX: as caracteristicas da solicitacao e as caracteristicas para as dropdowns /// </summary> /// <param name="chavePrimaria"></param> /// <returns></returns> public override Solicitacao ObterPorCodigo(int chavePrimaria) { try { var sol = base.ObterPorCodigo(chavePrimaria); //sol.CodCliente = sol.DadosPrincipaisSolicitacao.Last().CodClienteDadoPrincipalSol; using (var dadoBLL = new DadoPrincipalSolicitacaoBLL()) { var dadoPrincipalBLL = new DadoPrincipalAprovacaoBLL(); var definicoesBLL = new DefinicoesClienteAprovacaoBLL(); var carBLL = new CaracteristicaSapiensBLL(); dadoBLL.PreencheDependencias(sol.DadosPrincipaisSolicitacao.Last()); foreach (var c in sol.Caracteristicas) { carBLL.ObterNomes(c); } } sol.Definicoes = sol.Definicoes.Count > 0 ? sol.Definicoes : new List<DefinicoesClienteSolicitacao>() { new DefinicoesClienteSolicitacao() }; sol.EnderecosCobranca = sol.EnderecosCobranca.Count > 0 ? sol.EnderecosCobranca : new List<EnderecoCobrancaClienteSolicitacao>(); sol.EnderecosEntrega = sol.EnderecosEntrega.Count > 0 ? sol.EnderecosEntrega : new List<EnderecoEntregaClienteSolicitacao>(); sol.Referencias = sol.Referencias.Count > 0 ? sol.Referencias : new List<ReferenciaClienteSolicitacao>(); sol.Contatos = sol.Contatos.Count > 0 ? sol.Contatos : new List<ContatoClienteSolicitacao>(); sol.DocumentosAnexados = sol.DocumentosAnexados.OrderBy(c => c.CodTipoDocumento).ToList(); //foreach (var d in sol.DocumentosAnexados) //{ // switch (d.CodTipoDocumento) // { // case 1: d.TipoDocumento = "Serasa"; break; // case 2: d.TipoDocumento = "Contrato Social"; break; // case 3: d.TipoDocumento = "Arquivos Limite/Prazo"; break; // case 4: d.TipoDocumento = "Arquivos Ativação/Inativação"; break; // case 5: d.TipoDocumento = "Contrato de Desconto"; break; // case 6: d.TipoDocumento = "Comercial 4"; break; // } //} sol.Socios = sol.Socios.Count > 0 ? sol.Socios : new List<SocioEmpresaSolicitacao>() { /*new SocioEmpresaSolicitacao()*/ }; var ajaxGridFactory = new AjaxGridFactory(); sol.GridCaracteristicas = ajaxGridFactory.CreateAjaxGrid(sol.Caracteristicas.AsQueryable(), 1, false); sol.GridEnderecosCobranca = ajaxGridFactory.CreateAjaxGrid(sol.EnderecosCobranca.AsQueryable(), 1, false); sol.GridEnderecosEntrega = ajaxGridFactory.CreateAjaxGrid(sol.EnderecosEntrega.AsQueryable(), 1, false); sol.GridReferencias = ajaxGridFactory.CreateAjaxGrid(sol.Referencias.AsQueryable(), 1, false); sol.GridContatos = ajaxGridFactory.CreateAjaxGrid(sol.Contatos.AsQueryable(), 1, false); sol.GridAnexos = ajaxGridFactory.CreateAjaxGrid(sol.DocumentosAnexados.AsQueryable(), 1, false); sol.GridSocios = ajaxGridFactory.CreateAjaxGrid(sol.Socios.AsQueryable(), 1, false); sol.GridIntegracoes = ajaxGridFactory.CreateAjaxGrid(sol.Integracoes.AsQueryable(), 1, false); return sol; } catch (Exception ex) { throw ex; } }