public static void RegisterRoutes(RouteCollection routes, IDependencyInjectionContainer container) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); // TODO: Make custom FavIcons per tenant routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" }); routes.MapRoute( name: "Error - 404", url: "not-found", defaults: new { controller = "System", action = "Status404" } ); routes.MapRoute( name: "Error - 500", url: "server-error", defaults: new { controller = "System", action = "Status500" } ); routes.Add(container.Resolve<LowercaseRedirectRoute>()); routes.Add(container.Resolve<TrailingSlashRedirectRoute>()); routes.Add(container.Resolve<DefaultLocaleRedirectRoute>()); routes.Add("Page", container.Resolve<PageRoute>()); routes.Add("Product", container.Resolve<ProductRoute>()); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); }
public static void RegisterRoutes(RouteCollection routes, IDependencyInjectionContainer container) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); // TODO: Make custom FavIcons per tenant routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" }); routes.MapRoute( name: "Error - 404", url: "not-found", defaults: new { controller = "System", action = "Status404" } ); routes.MapRoute( name: "Error - 500", url: "server-error", defaults: new { controller = "System", action = "Status500" } ); routes.Add(container.Resolve <LowercaseRedirectRoute>()); routes.Add(container.Resolve <TrailingSlashRedirectRoute>()); routes.Add(container.Resolve <DefaultLocaleRedirectRoute>()); routes.Add("Page", container.Resolve <PageRoute>()); routes.Add("Product", container.Resolve <ProductRoute>()); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); }
public IHttpActionResult ObterTodos(String email, String ip, String hash, String tipo = "0") { var hashGerado = DomainUtil.GerarHashMD5(String.Concat(email, email, ip, ip)); if (tipo == "0") { if (hashGerado != hash) { var atividadeAtual = new Atividade() { Usuario = null, IP = ip, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.PossivelTentativaDeHack), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = "O usuário com o e-mail " + email + " tentou acessar a consulta de serviço com a Hash errada." }; container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual); return(Json(new { erro = "S", mensagem = "Hash incorreto, esta tentativa de consulta foi logada e enviada ao Administrador." })); } } List <ServicoVO> servicosVO = null; servicosVO = container.Resolve <IServicoRepository>().ObterTodosAtivos(); if (servicosVO != null) { var atividadeAtual = new Atividade() { Usuario = null, IP = ip, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.ConsultaServico), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = "O usuário com o e-mail " + email + " solicitou consulta de serviços." }; container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual); } return(Json(new { erro = "N", itens = servicosVO != null ? servicosVO : new List <ServicoVO>() })); }
/// <summary> /// Executes the program with the specified path parameter. /// </summary> /// <param name="pathParam">The path parameter.</param> private static void Execute(string pathParam) { string specifiedPath; if (pathParam == null) { Console.WriteLine(Consts.AssumingCurrentPathMessage); specifiedPath = "."; } else { string[] pathParamSplit = pathParam.Split(Consts.ParamValueSeparator); if (pathParam == null || pathParamSplit.Length != 2) { Console.WriteLine(Consts.UsageMessage); return; } if (!string.Equals(pathParamSplit[0], Consts.PathParamName, StringComparison.InvariantCultureIgnoreCase)) { Console.WriteLine(Consts.UsageMessage); return; } specifiedPath = pathParamSplit[1]; } ConsoleBootrapper consoleBootstrapper = new ConsoleBootrapper(); consoleBootstrapper.Bootstrap(); IDependencyInjectionContainer dependencyInjectionContainer = consoleBootstrapper.DependencyInjectionContainer; PathResolver pathResolver = new PathResolver(); string resolvedPath = pathResolver.ResolvePath(specifiedPath); IFileDiscoveryService filePathDiscoveryService = dependencyInjectionContainer.Resolve <IFileDiscoveryService>(); IEnumerable <FileDiscoveryInfo> scriptFiles = filePathDiscoveryService.DiscoverFiles(resolvedPath); IScriptingService scriptingService = dependencyInjectionContainer.Resolve <IScriptingService>(); foreach (var scriptFile in scriptFiles) { ConsoleKeyInfo consoleKeyInfo = new ConsoleKeyInfo(); while (!Program.ValidKey(consoleKeyInfo)) { Console.Write($"Run script '{ scriptFile.FileName }'? (y/n) "); consoleKeyInfo = Console.ReadKey(); Console.WriteLine(); } if (consoleKeyInfo.Key == ConsoleKey.Y) { scriptingService.ExecuteScriptAsync(scriptFile).Wait(); } } }
protected void Application_BeginRequest(Object sender, EventArgs e) { container.Resolve <TenantInitializer>(); container.Resolve <LocaleInitializer>(); // TODO: 302 redirect if the preferred culture from the // HttpContext.Current.Request.UserLanguages exists for the given page and // the UrlReferrer is not the current site. }
public void Salvar(Credito credito) { var uow = container.Resolve <IUnitOfWork>(); var repository = container.Resolve <ICreditoRepository>(); uow.BeginTransaction(); repository.Save(credito); uow.Commit(); }
public void Salvar(PessoaFisica2 pessoa) { var uow = container.Resolve <IUnitOfWork>(); var repository = container.Resolve <IPessoaFisica2Repository>(); uow.BeginTransaction(); repository.Save(pessoa); uow.Commit(); }
public void Salvar(Assinatura assinatura) { var uow = container.Resolve <IUnitOfWork>(); var repository = container.Resolve <IAssinaturaRepository>(); uow.BeginTransaction(); repository.Save(assinatura); uow.Commit(); }
public void Salvar(LogConsulta log) { var uow = container.Resolve <IUnitOfWork>(); var repository = container.Resolve <ILogConsultaRepository>(); uow.BeginTransaction(); repository.Save(log); uow.Commit(); }
private void RegisterIntentHandler() { var intentManager = mContainer.Resolve <IIntentManager>(); // Register the AcxiomTabFactory with the Intent Manager, in order for AcxiomTabIntent to be handled. var acxiomTabFactory = mContainer.Resolve <AcxiomTabFactory>(); intentManager.Register(acxiomTabFactory); }
public void Salvar(Atividade atividade) { var uow = container.Resolve <IUnitOfWork>(); var repository = container.Resolve <IAtividadeRepository>(); uow.BeginTransaction(); repository.Save(atividade); uow.Commit(); }
protected void ValidaCPF(ConsultaCPFCNPJVO vo, ErroConsulta erro) { if (String.IsNullOrEmpty(vo.CPF)) { TemErro = true; erroVO.erro = "S"; erroVO.mensagem = "O CPF não foi informado."; SalvarErro(erro, erroVO.mensagem); } else { if (!DomainUtil.CPFEhValido(vo.CPF)) { TemErro = true; erroVO.erro = "S"; erroVO.mensagem = "O CPF informado não é válido."; SalvarErro(erro, erroVO.mensagem); } else { var CPFRepo = container.Resolve <ICPFBloqueadoRepository>(); if (CPFRepo.VerificaCPFBloqueado(vo.CPF)) { TemErro = true; erroVO.erro = "S"; erroVO.mensagem = "O CPF informado não pode ser consultado devido a solicitação do portador."; SalvarErro(erro, erroVO.mensagem); } } } }
public void Salvar(Exception excecao) { var uow = container.Resolve <IUnitOfWork>(); ErroSistema erro = new ErroSistema(); erro.Data = DateTime.Now; erro.Excecao = excecao.Message.Length < 500 ? excecao.Message : excecao.Message.Substring(0, 499); erro.ExcecaoInterna = (excecao.InnerException != null && !String.IsNullOrEmpty(excecao.InnerException.Message) ? excecao.InnerException.Message : String.Empty); erro.Descricao = excecao.ToString().Substring(0, excecao.ToString().Length < 5000 ? excecao.ToString().Length : 4999); var repository = container.Resolve <IErroSistemaRepository>(); uow.BeginTransaction(); repository.Save(erro); uow.Commit(); }
private void RegisterContextCommands() { var registry = mContainer.Resolve <IGenericContextMenuCommandProviderFactoryRegistry>(); var commandsFactoryType = mContainer.CreateAssistedInterfaceFactoryType(typeof(IGenericContextMenuCommandProviderFactory <ICommandsContext>), typeof(ItemDetailsCommandProvider)); var commandsFactory = (IGenericContextMenuCommandProviderFactory <ICommandsContext>)mContainer.Resolve(commandsFactoryType); registry.Register <ICommandsContext>(commandsFactory); }
public static void Register(IDependencyInjectionContainer container) { // CSLA 4 Configuration // NOTE: For some reason this doesn't work even though the correct type is configured in the DI container //var modelBinder = container.Resolve<IModelBinder>(); var modelBinder = new CslaModelBinder(); ModelBinders.Binders.DefaultBinder = modelBinder; // Localization var modelMetadataProvider = container.Resolve<LocalizedModelMetadataProvider>(); ModelMetadataProviders.Current = modelMetadataProvider; var modelValidatorProvider = container.Resolve<LocalizedModelValidatorProvider>(); ModelValidatorProviders.Providers.Clear(); ModelValidatorProviders.Providers.Add(modelValidatorProvider); }
public static void Register(IDependencyInjectionContainer container) { // Configure AutoMapper - all work done in constructor container.Resolve <IDataInitializer>(); // TODO: Remove the initializer before deploying to production Database.SetInitializer(new ComplexCommerceSeeder()); }
private static ILoggerFactory GetLoggerFactoryInternal(IDependencyInjectionContainer container) { if (!container.IsRegistered <ILoggerFactory>()) { throw new InvalidOperationException($"Please Register the {nameof(ILoggingModule)} Module at the IOC."); } return(container.Resolve <ILoggerFactory>()); }
public static void Register(IDependencyInjectionContainer container) { // Configure AutoMapper - all work done in constructor container.Resolve<IDataInitializer>(); // TODO: Remove the initializer before deploying to production Database.SetInitializer(new ComplexCommerceSeeder()); }
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType) { if (controllerType == null) { return(base.GetControllerInstance(requestContext, controllerType)); } return(container.Resolve(controllerType) as IController); }
public static void Register(IDependencyInjectionContainer container) { // CSLA 4 Configuration // NOTE: For some reason this doesn't work even though the correct type is configured in the DI container //var modelBinder = container.Resolve<IModelBinder>(); var modelBinder = new CslaModelBinder(); ModelBinders.Binders.DefaultBinder = modelBinder; // Localization var modelMetadataProvider = container.Resolve <LocalizedModelMetadataProvider>(); ModelMetadataProviders.Current = modelMetadataProvider; var modelValidatorProvider = container.Resolve <LocalizedModelValidatorProvider>(); ModelValidatorProviders.Providers.Clear(); ModelValidatorProviders.Providers.Add(modelValidatorProvider); }
/// <summary> /// Adds a new button to the Intelligence Portal header. /// </summary> /// <param name="headerButtonCaption">The caption to display in the button.</param> /// <param name="headerButtonTooltip">The text to display in the tooltip when a user hovers the mouse over the button.</param> /// <param name="buttonCommand">The command to run when the button is clicked.</param> public void RegisterHeaderCommand( string headerButtonCaption, string headerButtonTooltip, SimpleCommand buttonCommand) { // We may well be called before the header bar is actually on screen, so // we need to loop until it's there (or the initialization code times us out) var timer = mContainer.Resolve <IDispatcherTimer>(); timer.Interval = TimeSpan.FromMilliseconds(10); timer.Tick += delegate { var toolboxView = Application.Current.RootVisual.GetVisualDescendants().OfType <ToolboxView>().SingleOrDefault(); if (toolboxView == null) { // Toolbox not visible yet. return; } // Toolbox is visible now. timer.Stop(); // Find the grid that contains the buttons var layoutGrid = (Grid)toolboxView.Content; var grid2 = (Grid)layoutGrid.Children[0]; var grid3 = (Grid)grid2.Children[0]; var grid4 = (Grid)grid3.Children[0]; var destinationGrid = grid4; // Add a new column definition var existingColCount = destinationGrid.ColumnDefinitions.Count; destinationGrid.ColumnDefinitions.Add(new ColumnDefinition()); // Add the button. var button = new HeaderButton(); button.HeaderButtonTextBlockBase.Text = headerButtonCaption; button.HeaderButtonTextBlockHighlight.Text = headerButtonCaption; var tooltip = ToolTipService.GetToolTip(button.ButtonControl) as ToolTip; if (tooltip != null) { tooltip.Content = headerButtonTooltip; } button.ButtonControl.Command = buttonCommand; button.SetValue(Grid.ColumnProperty, existingColCount); destinationGrid.Children.Add(button); }; timer.Start(); }
protected void ValidaEmail(String email, ErroConsulta erro) { if (String.IsNullOrEmpty(email)) { TemErro = true; erroVO.erro = "S"; erroVO.mensagem = "O e-mail deve ser informado."; SalvarErro(erro, erroVO.mensagem); } else { var usuarioRepo = container.Resolve <IUsuarioRepository>(); if (!usuarioRepo.VerificarSeUsuarioExiste(email)) { TemErro = true; erroVO.erro = "S"; erroVO.mensagem = "O e-mail informado não está cadastrado."; SalvarErro(erro, erroVO.mensagem); } } }
private void RegisterIntentHandler() { var intentManager = mContainer.Resolve <IIntentManager>(); // Register the DomainToolTabFactory with the Intent Manager, in order for DomainToolTabIntent to be handled. var domainToolTabFactory = mContainer.Resolve <DomainToolsTabFactory>(); intentManager.Register(domainToolTabFactory); }
private void RegisterContextCommands() { // Ask unity to give us the central registry for holding on to // context menu command provider factories. var registry = mContainer.Resolve <IGenericContextMenuCommandProviderFactoryRegistry>(); // Create an assisted implementation of the context menu command // provider factory, for producing ExampleCommandProvider factory // instances. var commandsFactoryType = mContainer.CreateAssistedInterfaceFactoryType( factoryInterfaceType: typeof(IGenericContextMenuCommandProviderFactory <ICommandsContext>), implementationType: typeof(ExampleCommandProvider)); // Create an instance of our ExampleCommandProvider factory. var commandsFactory = (IGenericContextMenuCommandProviderFactory <ICommandsContext>)mContainer.Resolve(commandsFactoryType); // Register our factory with the central registry. registry.Register <ICommandsContext>(commandsFactory); }
public IHttpActionResult LogarUsuarioMobile(String email, String senha, String city, String countryCode, String isp, String org, String ip, String region, String modeloCel, String numeroIMEI, String operadora) { String novacity = String.Empty; String novocountryCode = String.Empty; String novoisp = String.Empty; String novoorg = String.Empty; String novoip = String.Empty; String novaregion = String.Empty; String novomodeloCel = String.Empty; String novonumeroIMEI = String.Empty; String novaoperadora = String.Empty; novacity = !String.IsNullOrEmpty(city) ? city.Substring(0, city.Length > 50 ? 50 : city.Length) : String.Empty; novocountryCode = !String.IsNullOrEmpty(countryCode) ? countryCode.Substring(0, countryCode.Length > 50 ? 50 : countryCode.Length) : String.Empty; novoisp = !String.IsNullOrEmpty(isp) ? isp.Substring(0, isp.Length > 50 ? 50 : isp.Length) : String.Empty; novoorg = !String.IsNullOrEmpty(org) ? org.Substring(0, org.Length > 50 ? 50 : org.Length) : String.Empty; novoip = !String.IsNullOrEmpty(ip) ? ip.Substring(0, ip.Length > 50 ? 50 : ip.Length) : String.Empty; novaregion = !String.IsNullOrEmpty(region) ? region.Substring(0, region.Length > 50 ? 50 : region.Length) : String.Empty; novomodeloCel = !String.IsNullOrEmpty(modeloCel) ? modeloCel.Substring(0, modeloCel.Length > 50 ? 50 : modeloCel.Length) : String.Empty; novonumeroIMEI = !String.IsNullOrEmpty(numeroIMEI) ? numeroIMEI.Substring(0, numeroIMEI.Length > 20 ? 20 : numeroIMEI.Length) : String.Empty; novaoperadora = !String.IsNullOrEmpty(operadora) ? operadora.Substring(0, operadora.Length > 20 ? 20 : operadora.Length) : String.Empty; var resultado = ValidarLogon(email, senha); if (resultado != null) { return(resultado); } try { IErroLoginRepository repositoryErro = container.Resolve <IErroLoginRepository>(); var bloqueado = repositoryErro.CometeuMuitosErrosLogin(email); if (bloqueado) { return(NotFound()); } IUsuarioRepository repository = container.Resolve <IUsuarioRepository>(); var ultimaAssinatura = String.Empty; var ultimoLogon = String.Empty; var usuarioExistente = repository.ObterPeloEmailESenha(email, senha); if (usuarioExistente != null) { if (!String.IsNullOrEmpty(usuarioExistente.Ativo) && usuarioExistente.Ativo == "N") { return(Json(new { erro = "S", mensagem = String.Format("Seu cadastro está inativado pelo seguinte motivo: {0}", usuarioExistente.MotivoInativo) })); } IAssinaturaRepository assinaturaRepo = container.Resolve <IAssinaturaRepository>(); var dataFim = assinaturaRepo.ObterDataFimAssinaturaMaisRecentePeloEmailDoUsuario(email); if (!String.IsNullOrEmpty(dataFim)) { ultimaAssinatura = dataFim; } IAtividadeRepository atividadeRepo = container.Resolve <IAtividadeRepository>(); var ultimoLogonBD = atividadeRepo.ObterUltimoLogonPeloEmail(email); if (!String.IsNullOrEmpty(ultimoLogonBD)) { ultimoLogon = ultimoLogonBD; } var atividadeAtual = new Atividade() { Usuario = usuarioExistente, IP = ip, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.LogonUsuario), Origem = Convert.ToInt32(OrigemAcesso.Android), Descricao = "O usuário com o e-mail " + email + " logou no sistema.", IMEI = novonumeroIMEI, Cidade = novacity, ModeloCelular = novomodeloCel, Operadora = novaoperadora, Pais = novocountryCode, Provedor = ObterProvedor(org, isp) }; Task.Run(() => { //SalvarAtividadeHelper.SalvarAtividade(atividadeAtual); }); return(Json(new { erro = "N", mensagem = "OK", nome = usuarioExistente.Nome, email = usuarioExistente.Email, cadastrado = String.Format("{0:dd/MM/yyyy}", usuarioExistente.DataCadastro), dataassinatura = ultimaAssinatura, logon = ultimoLogon, codigoIndicacao = usuarioExistente.Id + 1000 })); } else { ErroLogin erro = new ErroLogin(); erro.Email = email; erro.IMEI = numeroIMEI; erro.Data = DateTime.Now; erro.Operadora = operadora; erro.IP = ip; erro.Senha = senha; //SalvarErroLoginHelper.SalvarErro(erro); return(Json(new { erro = "S", mensagem = "E-mail não cadastrado ou senha incorreta." })); } } catch (Exception ex) { //SalvarErroSistemaHelper.SalvarErro(ex); String mensagem = !String.IsNullOrEmpty(ex.Message) ? ex.Message : String.Empty; String mensagemInterna = ex.InnerException != null && String.IsNullOrEmpty(ex.InnerException.Message) ? ex.InnerException.Message : String.Empty; String assunto = "Erro na API de Login de usuário "; String mensagem2 = String.Format("Exceção: {0} \n Exceção interna: {1}, \n Data/Hora: {2} \n Email: {3}: ", mensagem, mensagemInterna, DateTime.Now, email); //EmailHelper.EnviarEmail(assunto, "*****@*****.**", mensagem2); return(Json(new { erro = "S", mensagem = "Ocorreu um erro inesperado ao tentar realizar o seu login, não se preocupe, o suporte já foi acionado e vai resolver o problema e te informar assim que for verificado." })); } }
public IHttpActionResult ObterPessoaFisicaPeloCPF(RequisicaoConsultaVO requisicao) { Boolean usaCredito = false; var erro = new ErroConsulta(); erro.Cpfcnpj = requisicao.cpf; erro.Email = requisicao.email; erro.Aplicativo = requisicao.aplicativo; erro.Data = DateTime.Now; erro.Versao = requisicao.versao; erro.Ip = requisicao.ip; var consultaVO = new ConsultaCPFCNPJVO(); consultaVO.CPF = requisicao.cpf; consultaVO.Email = requisicao.email; consultaVO.Versao = requisicao.versao; consultaVO.IP = requisicao.ip; consultaVO.Hash = requisicao.hash; var hashGerado = DomainUtil.GerarHashMD5(String.Concat(requisicao.cpf, requisicao.email, requisicao.ip, requisicao.cpf)); consultaVO.Hash = requisicao.senha; var validacao = container.Resolve <ValidacaoConsultaCPFService>(); validacao.Validate(consultaVO); if (!validacao.TemErro) { var pessoaFisicaRepository = container.Resolve <IPessoaFisicaRepository>(); var pessoa = pessoaFisicaRepository.ObterUltimaConsultaPessoaFisicaPeloCPF(requisicao.cpf); var usuario = container.Resolve <IUsuarioRepository>().ObterPeloEmail(requisicao.email); if ((TipoAplicativoEnum)requisicao.aplicativo == TipoAplicativoEnum.Android) { var telefoneUsuarioRepo = container.Resolve <ITelefoneUsuarioRepository>(); var telefone = telefoneUsuarioRepo.ObterTelefonePorUsuarioEIMEI(usuario.Id, requisicao.imei); if (telefone != null && requisicao.imei != telefone.IMEI) { return(Json(new { erro = "S", mensagem = String.Format("Já existe um telefone com outro IMEI cadastrado para esta conta. Fabricante: {0} Modelo: {1} - Caso tenha trocado de aparelho contate o desenvolvedor para fazer a atualização de IMEI do seu cadastro.", telefone.Fabricante, telefone.Modelo) })); } else { TelefoneUsuario tel = new TelefoneUsuario(); tel.DataCadastro = DateTime.Now; tel.Fabricante = requisicao.fabricante; tel.IMEI = requisicao.imei; tel.Modelo = requisicao.modelo; tel.Numero = requisicao.numero; tel.Operadora = requisicao.operadora; tel.Usuario = usuario; } } if (pessoa != null && !String.IsNullOrEmpty(pessoa.Nome) && pessoa.Vitalicio != "S") { if (pessoa.DataCadastro.Date.AddDays(+90) < DateTime.Now.Date) { ILimiteUsuarioRepository limiteRepository = container.Resolve <ILimiteUsuarioRepository>(); var limite = limiteRepository.ObterLimiteUsuarioPeloEmail(requisicao.email); if (limite != null) { ICreditoRepository creditoRepo = container.Resolve <ICreditoRepository>(); var credito = creditoRepo.ObterCreditoPeloUsuario(Convert.ToInt32(usuario.Id)); if (credito == null) { if (limite.Quantidade >= limite.LimiteConsultas && usuario.Especial != "S") { return(Json(new { erro = "S", mensagem = String.Format("O seu usuário já atingiu o limite diário de consultas, que são {0} consultas, caso queira fazer novas consultas aguarde até o próximo dia ou adquira um pacote de consultas avulsas.", limite.LimiteConsultas) })); } } else { usaCredito = true; } } else { usaCredito = true; } pessoa = pessoaFisicaRepository.ObterNovaPessoaPeloCPF(requisicao.cpf); if (pessoa.Id == 0) { pessoa.Id = (Int32?)null; } var logConsulta = new LogConsulta(); logConsulta.Origem = Convert.ToInt32(OrigemConsultaEnum.SeekLoc); logConsulta.Tipo = Convert.ToInt32(TipoConsultaEnum.CPF); logConsulta.Usuario = usuario; logConsulta.CPFCNPJ = requisicao.cpf; logConsulta.DataCadastro = DateTime.Now; logConsulta.TemResultado = (pessoa != null && !String.IsNullOrEmpty(pessoa.Nome)) ? "S" : "N"; container.Resolve <LogConsultaCRUDService>().Salvar(logConsulta); if (pessoa != null) { var atividadeAtual = new Atividade() { Usuario = usuario, IP = requisicao.ip, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.ConsultaPessoaFisicaCPF), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = "O usuário com o e-mail " + requisicao.email + " fez uma pesquisa de CPF com o número " + requisicao.cpf }; container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual); if (usaCredito) { container.Resolve <CreditoCRUDService>().Remover(Convert.ToInt32(usuario.Id), 1); } pessoa.UsuarioConsulta = usuario; pessoa.CPF = requisicao.cpf; pessoa.DataCadastro = DateTime.Now; container.Resolve <PessoaFisica2CRUDService>().Salvar(pessoa); pessoa.Enderecos.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Veiculos.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Emails.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Empregos.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Vizinhos.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Parentes.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Telefones.ToList().ForEach(x => x.PessoaFisica2 = null); if (pessoa.Veiculos != null) { pessoa.Veiculos.ToList().ForEach(x => x.CombustivelTexto = DomainUtil.ObterCombustivelTexto(x.Combustivel)); pessoa.Veiculos.ToList().ForEach(x => x.EspecieTexto = DomainUtil.ObterEspecieVeiculoTexto(x.Especie)); pessoa.Veiculos.ToList().ForEach(x => x.TipoTexto = DomainUtil.ObterTipoVeiculoTexto(x.Tipo)); } return(Json(new { erro = "N", Nome = pessoa.Nome, CPF = pessoa.CPF, DataNascimento = pessoa.DataNascimento, NomeMae = pessoa.NomeMae, Enderecos = pessoa.Enderecos, Veiculos = pessoa.Veiculos, Emails = pessoa.Emails, Empregos = pessoa.Empregos, Vizinhos = pessoa.Vizinhos, Parentes = pessoa.Parentes, Telefones = pessoa.Telefones, Importado = pessoa.Importado, Hash = Guid.NewGuid().ToString(), HoraConsulta = DateTime.Now.ToString("HH:mm:ss"), DataConsulta = DateTime.Now.ToString("dd/MM/yyyy"), NovaAPI = pessoa.APISeekLoc })); } } else { pessoa.Enderecos.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Veiculos.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Emails.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Empregos.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Vizinhos.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Parentes.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Telefones.ToList().ForEach(x => x.PessoaFisica2 = null); if (pessoa.Veiculos != null) { pessoa.Veiculos.ToList().ForEach(x => x.CombustivelTexto = DomainUtil.ObterCombustivelTexto(x.Combustivel)); pessoa.Veiculos.ToList().ForEach(x => x.EspecieTexto = DomainUtil.ObterEspecieVeiculoTexto(x.Especie)); pessoa.Veiculos.ToList().ForEach(x => x.TipoTexto = DomainUtil.ObterTipoVeiculoTexto(x.Tipo)); } return(Json(new { erro = "N", Nome = pessoa.Nome, CPF = pessoa.CPF, DataNascimento = pessoa.DataNascimento, NomeMae = pessoa.NomeMae, Enderecos = pessoa.Enderecos, Veiculos = pessoa.Veiculos, Emails = pessoa.Emails, Empregos = pessoa.Empregos, Vizinhos = pessoa.Vizinhos, Parentes = pessoa.Parentes, Telefones = pessoa.Telefones, Importado = pessoa.Importado, Hash = Guid.NewGuid().ToString(), HoraConsulta = DateTime.Now.ToString("HH:mm:ss"), DataConsulta = DateTime.Now.ToString("dd/MM/yyyy") })); } } else { ILimiteUsuarioRepository limiteRepository = container.Resolve <ILimiteUsuarioRepository>(); var limite = limiteRepository.ObterLimiteUsuarioPeloEmail(requisicao.email); if (limite != null) { ICreditoRepository creditoRepo = container.Resolve <ICreditoRepository>(); var credito = creditoRepo.ObterCreditoPeloUsuario(Convert.ToInt32(usuario.Id)); if (credito == null) { if (limite.Quantidade >= limite.LimiteConsultas && usuario.Especial != "S") { return(Json(new { erro = "S", mensagem = String.Format("O seu usuário já atingiu o limite diário de consultas, que são {0} consultas, caso queira fazer novas consultas aguarde até o próximo dia ou adquira um pacote de consultas avulsas.", limite.LimiteConsultas) })); } } else { usaCredito = true; } } else { usaCredito = true; } pessoa = pessoaFisicaRepository.ObterNovaPessoaPeloCPF(requisicao.cpf); if (pessoa != null) { if (usaCredito) { container.Resolve <CreditoCRUDService>().Remover(Convert.ToInt32(usuario.Id), 1); } } var logConsulta = new LogConsulta(); logConsulta.Origem = Convert.ToInt32(OrigemConsultaEnum.SeekLoc); logConsulta.Tipo = Convert.ToInt32(TipoConsultaEnum.CPF); logConsulta.Usuario = usuario; logConsulta.CPFCNPJ = requisicao.cpf; logConsulta.DataCadastro = DateTime.Now; logConsulta.TemResultado = (pessoa != null && !String.IsNullOrEmpty(pessoa.Nome)) ? "S" : "N"; container.Resolve <LogConsultaCRUDService>().Salvar(logConsulta); if (pessoa != null && String.IsNullOrEmpty(pessoa.Mensagem)) { var atividadeAtual = new Atividade() { Usuario = usuario, IP = requisicao.ip, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.ConsultaPessoaFisicaCPF), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = "O usuário com o e-mail " + requisicao.email + " fez uma pesquisa de CPF com o número " + requisicao.cpf }; container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual); pessoa.UsuarioConsulta = usuario; pessoa.CPF = requisicao.cpf; pessoa.Hash = requisicao.hash; pessoa.DataCadastro = DateTime.Now; container.Resolve <PessoaFisica2CRUDService>().Salvar(pessoa); pessoa.Enderecos.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Veiculos.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Emails.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Empregos.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Vizinhos.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Parentes.ToList().ForEach(x => x.PessoaFisica2 = null); pessoa.Telefones.ToList().ForEach(x => x.PessoaFisica2 = null); if (pessoa.Veiculos != null) { pessoa.Veiculos.ToList().ForEach(x => x.CombustivelTexto = DomainUtil.ObterCombustivelTexto(x.Combustivel)); pessoa.Veiculos.ToList().ForEach(x => x.EspecieTexto = DomainUtil.ObterEspecieVeiculoTexto(x.Especie)); pessoa.Veiculos.ToList().ForEach(x => x.TipoTexto = DomainUtil.ObterTipoVeiculoTexto(x.Tipo)); } return(Json(new { erro = "N", Nome = pessoa.Nome, CPF = pessoa.CPF, DataNascimento = pessoa.DataNascimento, NomeMae = pessoa.NomeMae, Enderecos = pessoa.Enderecos, Veiculos = pessoa.Veiculos, Emails = pessoa.Emails, Empregos = pessoa.Empregos, Vizinhos = pessoa.Vizinhos, Parentes = pessoa.Parentes, Telefones = pessoa.Telefones, Importado = pessoa.Importado, Hash = Guid.NewGuid().ToString(), HoraConsulta = DateTime.Now.ToString("HH:mm:ss"), DataConsulta = DateTime.Now.ToString("dd/MM/yyyy") })); } else { return(Json(new { erro = "S", mensagem = "Sem resultado para este CPF." })); } } } else { return(Json(new { erro = "S", mensagem = validacao.erroVO.mensagem })); } return(Json(new { erro = "S", mensagem = "Sem resultado" })); }
protected override object DoGetInstance(Type serviceType, string key) { return(_container.Resolve(serviceType)); }
public static void Register(IDependencyInjectionContainer container) { // Setup global sitemap loader MvcSiteMapProvider.SiteMaps.Loader = container.Resolve<ISiteMapLoader>(); }
public static void Register(IDependencyInjectionContainer container) { // Setup global sitemap loader MvcSiteMapProvider.SiteMaps.Loader = container.Resolve <ISiteMapLoader>(); }
public IHttpActionResult GravarPedidoTecnico(String emailUsuario, String senhaUsuario, Int16 motivo, String descricao, String cpf) { try { var tipo = (TipoPedidoTecnico)motivo; var usuario = container.Resolve <IUsuarioRepository>().ObterPeloEmailESenha(emailUsuario, senhaUsuario); if (usuario == null) { return(Json(new { erro = "S", mensagem = "Usuário não possui acesso a este serviço." })); } else { var repository = container.Resolve <IPedidoTecnicoRepository>(); if (tipo == TipoPedidoTecnico.DadosCPFDesatualizados || tipo == TipoPedidoTecnico.ErroConsultarCPF) { var pedidos = repository.ObterPedidosTecnicosUsuarioPeloCPF(usuario.Id, cpf); if (pedidos != null && pedidos.Count > 0) { var pedido = pedidos[0]; return(Json(new { erro = "S", mensagem = String.Format("Já existe o chamado técnico {0} para verificação deste CPF.", pedido.Id.ToString()) })); } else { PedidoTecnico pedidoTecnico = new PedidoTecnico(); pedidoTecnico.CPF = cpf; pedidoTecnico.DataCadastro = DateTime.Now; pedidoTecnico.Descricao = descricao; pedidoTecnico.Status = (Int16)StatusPedidoTecnico.Pendente; pedidoTecnico.Usuario = usuario; pedidoTecnico.Motivo = (Int16)motivo; repository.Save(pedidoTecnico); return(Json(new { erro = "N", mensagem = "Gravado com sucesso." })); } } else { PedidoTecnico pedidoTecnico = new PedidoTecnico(); pedidoTecnico.CPF = cpf; pedidoTecnico.DataCadastro = DateTime.Now; pedidoTecnico.Descricao = descricao; pedidoTecnico.Status = (Int16)StatusPedidoTecnico.Pendente; pedidoTecnico.Usuario = usuario; pedidoTecnico.Motivo = (Int16)motivo; repository.Save(pedidoTecnico); return(Json(new { erro = "N", mensagem = "Gravado com sucesso." })); } } } catch (Exception) { return(Json(new { erro = "S", mensagem = "Erro ao gravar o chamado técnico, envie um e-mail para o desenvolvedor informando o ocorrido." })); } }
public IPersistenceContext GetContext() { return(container.Resolve(contextType) as IPersistenceContext); }
public static T Resolve <T>(this IDependencyInjectionContainer container) { return((T)container.Resolve(typeof(T))); }
public IHttpActionResult ObterNotificacao([FromBody] NotificacaoPagSeguroVO notificacao) { Boolean sandbox = true; String ArquivoConfiguracaoPagSeguro = @"C:\temp\PagSeguroConfig.xml"; if (notificacao == null) { Task.Run(() => { String assunto = "Erro ao ObterNotificacao - "; String mensagem2 = String.Format("Ocorreu um problema ao receber uma notificação (objeto nulo) do pagseguro: Data: {0}", DateTime.Now.ToString("dd/MM/yyyy - HH:mm:ss")); container.Resolve <IEmailService>().EnviarEmail(Constantes.EMAIL_DESTINATARIO, Constantes.EMAIL_REMETENTE, "Suporte ", assunto, mensagem2, false); }); return(BadRequest()); } try { var configuracaoRepo = container.Resolve <IConfiguracaoRepository>(); var configuracao = configuracaoRepo.GetById(1); if (configuracao != null) { ArquivoConfiguracaoPagSeguro = configuracao.ArquivoConfiguracaoPagSeguro; sandbox = configuracao.AmbienteProducao == "N"; } // PagSeguroConfiguration.UrlXmlConfiguration = @"C:\temp\PagSeguroConfig.xml"; EnvironmentConfiguration.ChangeEnvironment(sandbox); AccountCredentials credentials = PagSeguroConfiguration.Credentials(sandbox); Transaction transaction = NotificationService.CheckTransaction(credentials, notificacao.notificationCode); if (transaction != null) { if (!String.IsNullOrEmpty(transaction.Reference)) { var pedidoRepo = container.Resolve <IPedidoRepository>(); var pedido = pedidoRepo.GetById(Convert.ToInt32(transaction.Reference)); pedidoRepo.Evict(pedido); try { if (pedido != null) { if (transaction.TransactionStatus == TransactionStatus.Cancelled) { pedido.Status = (Int32)StatusPedido.Cancelado; pedido.Motivo = "Cancelado pelo PagSeguro"; pedido.CodigoAutorizacao = transaction.Code; pedido.DataAlteracaoStatus = DateTime.Now; pedidoRepo.Save(pedido); var atividadeAtual = new Atividade() { Usuario = pedido.Usuario, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.MudancaStatusPedido), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = String.Format("O pagseguro mudou o status do pedido {0} para cancelado.", pedido.Id) }; container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual); } else if (transaction.TransactionStatus == TransactionStatus.InAnalysis) { pedido.Status = (Int32)StatusPedido.Pendente; pedido.Motivo = "Em análise pelo PagSeguro"; pedido.CodigoAutorizacao = transaction.Code; pedido.DataAlteracaoStatus = DateTime.Now; pedidoRepo.Save(pedido); var atividadeAtual = new Atividade() { Usuario = pedido.Usuario, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.MudancaStatusPedido), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = String.Format("O pagseguro mudou o status do pedido {0} para em análise.", pedido.Id) }; container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual); } else if (transaction.TransactionStatus == TransactionStatus.Initiated) { pedido.Status = (Int32)StatusPedido.Pendente; pedido.Motivo = "Iniciado pelo PagSeguro"; pedido.CodigoAutorizacao = transaction.Code; pedido.DataAlteracaoStatus = DateTime.Now; pedidoRepo.Save(pedido); var atividadeAtual = new Atividade() { Usuario = pedido.Usuario, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.MudancaStatusPedido), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = String.Format("O pagseguro mudou o status do pedido {0} para iniciado.", pedido.Id) }; container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual); } else if (transaction.TransactionStatus == TransactionStatus.WaitingPayment) { pedido.Status = (Int32)StatusPedido.Pendente; pedido.Motivo = "Aguardando pagamento pelo PagSeguro"; pedido.CodigoAutorizacao = transaction.Code; pedido.DataAlteracaoStatus = DateTime.Now; pedidoRepo.Save(pedido); var atividadeAtual = new Atividade() { Usuario = pedido.Usuario, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.MudancaStatusPedido), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = String.Format("O pagseguro mudou o status do pedido {0} para aguardando pagamento.", pedido.Id) }; container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual); } else if (transaction.TransactionStatus == TransactionStatus.Available) { pedido.Status = (Int32)StatusPedido.Pago; pedido.Motivo = "Saldo disponível no PagSeguro"; pedido.CodigoAutorizacao = transaction.Code; pedido.DataAlteracaoStatus = DateTime.Now; pedidoRepo.Save(pedido); var atividadeAtual = new Atividade() { Usuario = pedido.Usuario, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.MudancaStatusPedido), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = String.Format("O pagseguro mudou o status do pedido {0} para disponível.", pedido.Id) }; container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual); } else if (transaction.TransactionStatus == TransactionStatus.Paid) { if (pedido.Status == (Int32)StatusPedido.Pago || pedido.Status == (Int32)StatusPedido.Fechado || pedido.Status == (Int32)StatusPedido.Cancelado) { var atividadeAtual1 = new Atividade() { Usuario = pedido.Usuario, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.AtividadeIncomumPagSeguro), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = String.Format("O pagseguro aparentemente tentou mudar o status do pedido {0} que está pago/fechado/cancelado ", pedido.Id) }; container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual1); return(Ok()); } pedido.Status = (Int32)StatusPedido.Pago; pedido.Motivo = "Pagamento confirmado pelo PagSeguro"; pedido.CodigoAutorizacao = transaction.Code; pedido.DataAlteracaoStatus = DateTime.Now; pedidoRepo.Save(pedido); if (pedido.Servico.GeraMeses == "S") { //verifica se o usuário tem alguma assinatura vigente var assinaturaRepo = container.Resolve <IAssinaturaRepository>(); var assinatura = assinaturaRepo.ObterAssinaturaMaisRecentePeloEmailDoUsuario(pedido.Usuario.Email); DateTime novaData = (assinatura != null && assinatura.DataFim > DateTime.Now) ? assinatura.DataFim : DateTime.Now; var novaAssinatura = new Assinatura(); novaAssinatura.Pedido = pedido; novaAssinatura.DataCadastro = DateTime.Now; novaAssinatura.DataInicio = novaData; Int32 Quantidade = Convert.ToInt32(pedido.Servico.QuantidadeMeses); novaAssinatura.DataFim = novaData.AddMonths(Quantidade); novaAssinatura.Usuario = pedido.Usuario; container.Resolve <AssinaturaCRUDService>().Salvar(novaAssinatura); Task.Run(() => { String assunto = " - Pagamento de pedido confirmado"; String mensagem2 = String.Format("Olá {0} <br><br> O pagamento do seu pedido {1} foi confirmado pelo pagseguro.<br><br>A vigência da sua nova assinatura do serviço de consulta é de {2} até {3}. <br><br> Atenciosamente, Equipe Subcode23", pedido.Usuario.Nome, pedido.Id, novaAssinatura.DataInicio.ToString("dd/MM/yyyy - HH:mm:ss"), novaAssinatura.DataFim.ToString("dd/MM/yyyy - HH:mm:ss")); container.Resolve <IEmailService>().EnviarEmail(Constantes.EMAIL_DESTINATARIO, Constantes.EMAIL_REMETENTE, "Suporte ", assunto, mensagem2, true); }); } else if (pedido.Servico.GeraCredito == "S") { var creditoRepo = container.Resolve <ICreditoRepository>(); var novoCredito = new Credito(); novoCredito.Pedido = pedido; novoCredito.DataCadastro = DateTime.Now; novoCredito.DataCadastro = DateTime.Now; Int32 Quantidade = Convert.ToInt32(pedido.Servico.QuantidadeCredito); novoCredito.Usuario = pedido.Usuario; creditoRepo.Save(novoCredito); } var atividadeAtual = new Atividade() { Usuario = pedido.Usuario, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.MudancaStatusPedido), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = String.Format("O pagseguro mudou o status do pedido {0} para pago.", pedido.Id) }; container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual); } } } catch (Exception ex) { Task.Run(() => { String assunto = "Erro no método ObterNotificacao - "; String mensagem2 = String.Format("Ocorreu um erro - Exceção: {0} - Exceção interna: {1} - Data: {2}", ex.Message, (ex.InnerException != null && ex.InnerException.Message != null) ? ex.InnerException.Message : "Exceção interna não definida", DateTime.Now.ToString("dd/MM/yyyy - HH:mm:ss")); container.Resolve <IEmailService>().EnviarEmail(Constantes.EMAIL_DESTINATARIO, Constantes.EMAIL_REMETENTE, "Suporte ", assunto, mensagem2, false); //SalvarErroSistemaHelper.SalvarErro(ex); }); return(BadRequest()); } } else { return(Ok()); } return(Ok()); } } catch (PagSeguroServiceException ex) { String mensagem = String.Empty; Task.Run(() => { String assunto = "Erro de PagSeguroServiceException no método ObterNotificacao - Subcode 23"; if (ex.Errors.Count > 0) { mensagem = ex.Errors[0].Code + " - " + ex.Errors[0].Message; } String mensagem2 = String.Format("Ocorreu um erro - Erro do pagseguro {0} - Data: {1}", mensagem, DateTime.Now.ToString("dd/MM/yyyy - HH:mm:ss")); container.Resolve <IEmailService>().EnviarEmail(Constantes.EMAIL_DESTINATARIO, Constantes.EMAIL_REMETENTE, "Suporte ", assunto, mensagem2, false); }); return(BadRequest()); } return(Ok()); }