public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); if (Construtora.Imagem != null) { var _imagemLogotipo = await VerificadoresRetornos .EnviarImagemAzure(Construtora.Imagem, 307200, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) { Construtora.Logotipo = _imagemLogotipo; } } _context.Construtoras.Add(Construtora); await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnGetAsync() { ViewData["TotalRegistros"] = _context.AppPerfil.Count() + _context.AppConfiguracoes.Count() + _context.AppConfiguracoes_Aplicativo.Count() + _context.AppConfiguracoes_Azure.Count(); var _meuip = VerificadoresRetornos.GetPublicIP(); var _novoobjip2loc = new ObjetoIP2Loc(); var _resultado_GEO = await ChamaREST .Current .GetAsync <ObjetoIP2Loc>($"http://xnspirit.api.depoisdalinha.com.br/api/buscar/{_meuip}", false); if (_resultado_GEO != null) { _novoobjip2loc.ip = _meuip; _novoobjip2loc.cep = _resultado_GEO.cep; _novoobjip2loc.cidade = _resultado_GEO.cidade; _novoobjip2loc.codpais = _resultado_GEO.codpais; _novoobjip2loc.estado = _resultado_GEO.estado; _novoobjip2loc.lat = _resultado_GEO.lat; _novoobjip2loc.lon = _resultado_GEO.lon; _novoobjip2loc.nomepais = _resultado_GEO.nomepais; _novoobjip2loc.timezone = _resultado_GEO.timezone; ObjetoIP2LocModelo = _novoobjip2loc; } return(Page()); }
public async Task <object> MensagensNaoLidas() { try { var _u = await _context.Users.FirstOrDefaultAsync(x => x.UserName == User.Identity.Name); var _retorno = new List <object>(); var _mensNaoLidas = _context .tblHubConversas .Where(x => x.Para == _u.Id && !x.Lida) .ToList(); var _agrupadoRecebido = _context .tblHubConversas .Where(x => x.Para == _u.Id && !x.Lida) .GroupBy(e => new { e.De, e.DeCnxId, e.Para, e.DTHR, e.Id, e.Lida, e.Mensagem, e.ParaCnxId }) .Select(g => g.First()) .OrderByDescending(x => x.DTHR) .Distinct(d => d.De); foreach (var item in _agrupadoRecebido) { var _ude = _context.Users.FirstOrDefault(x => x.Id == item.De); _retorno.Add(new { item.Id, dthr = VerificadoresRetornos.TemposAtras(item.DTHR), item.De, de_nome = _ude.Nome + " " + _ude.Sobrenome, de_avatar = _ude.AvatarUsuario, menscortada = item.Mensagem.Length > 80 ? item.Mensagem.Substring(0, 80) + " ..." : item.Mensagem, mens = item.Mensagem, lida = !item.Lida ? 0 : 1 }); } return(new { status = "ok", dados = _retorno }); } catch (Exception) { } return(new { status = "erro", dados = "" }); }
public async Task <IActionResult> OnPostAsync() { if (ModelState.IsValid) { var user = await _userManager.FindByEmailAsync(Input.Email); if (user == null || !(await _userManager.IsEmailConfirmedAsync(user))) { // Don't reveal that the user does not exist or is not confirmed return(RedirectToPage("./ForgotPasswordConfirmation")); } // For more information on how to enable account confirmation and password reset please // visit https://go.microsoft.com/fwlink/?LinkID=532713 var code = await _userManager.GeneratePasswordResetTokenAsync(user); var callbackUrl = Url.Page( "/Account/ResetPassword", pageHandler: null, values: new { code }, protocol: Request.Scheme); // instanciar objeto email var _configAplicacoes = _contexto.AppConfiguracoes_Aplicativo .FirstOrDefault(); var _objemail = new ObjetoEmailEnvio() { ASSUNTO = "[ESQUECEU SUA SENHA] House2Invest", COPIA = _configAplicacoes.mailToAdd, mailFrom = _configAplicacoes.mailFrom, MENSAGEM = string.Format($"Olá!!!{Environment.NewLine}<br/>Você solicitou um reset de senha.<br/>Clique <a href='" + callbackUrl + "'>AQUI</a> para alterar a sua senha."), PARA = Input.Email, smtpCredentialsEmail = _configAplicacoes.smtpCredentialsEmail, smtpCredentialsSenha = _configAplicacoes.smtpCredentialsSenha, smtpEnableSsl = _configAplicacoes.smtpEnableSsl, smtpHost = _configAplicacoes.smtpHost, smtpPort = _configAplicacoes.smtpPort, smtpUseDefaultCredentials = _configAplicacoes.smtpUseDefaultCredentials }; var _enviou = await VerificadoresRetornos.EnviarEmail(_objemail); //await _emailSender.SendEmailAsync( // Input.Email, // "Reset Password", // $"Please reset your password by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); return(RedirectToPage("./ForgotPasswordConfirmation")); } return(Page()); }
public async Task <object> Historico(string de) { try { var _para = await _context.Users.FirstOrDefaultAsync(x => x.UserName == User.Identity.Name); var _retorno = new List <object>(); var _historico = _context.tblHubConversas .Where(x => x.De == de && x.Para == _para.Id || x.Para == de && x.De == _para.Id) .OrderBy(x => x.DTHR); var _lista = _historico.ToList(); foreach (var item in _lista) { var _item = await _context.tblHubConversas .FirstOrDefaultAsync(x => x.Id == item.Id); if (_item != null) { _item.Lida = true; //_context.Attach(_item).State = EntityState.Modified; await _context.SaveChangesAsync(); } } foreach (var item in _historico) { _retorno.Add(new { dthr = VerificadoresRetornos.TemposAtras(item.DTHR), mens = item.Mensagem, flag = item.De == de ? "R" : "E" }); } return(new { status = "ok", dados = _retorno }); } catch (Exception) { } return(new { status = "erro", dados = "" }); }
public async Task <IActionResult> OnPost(string returnUrl = null) { await _signInManager.SignOutAsync(); try { var _usu = _context.Users .Where(x => x.UserName == User.Identity.Name) .FirstOrDefault(); //-------------------------------- // LOGCENTRAL //-------------------------------- var ip = _accessor.HttpContext?.Connection?.RemoteIpAddress?.ToString(); var _ips = new string[] { ip, "value2" }; await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-sign-out-alt text-warning'></i>", MENSAGEM = $"<img src='{_usu.AvatarUsuario}' style='border-radius:100%;max-width:100%;height:24px;margin-right:5px;'/> <b>{_usu.Nome} {_usu.Sobrenome}</b> usando o email <b>{_usu.Email}</b> fez <b style='color:darkblue;'>LOGOFF</b> na plataforma.", ACAO = $"LOGOFF", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "SUCESSO", TIPO = "ACESSO A PLATAFORMA", UsuarioAppId = _usu.Id, VALOR = 0, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); } catch (System.Exception) { } //_logger.LogInformation("User logged out."); //if (returnUrl != null) //{ // return LocalRedirect(returnUrl); //} //else //{ // return Page(); //} return(Redirect("/")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //var user = await _userManager.GetUserAsync(User); var user = await _context.Users .Where(x => x.UserName.ToLower().Trim() == Input.UserName.ToLower().Trim()) .FirstOrDefaultAsync(); if (user == null) { return(NotFound($"Não pude carregar dados do usuário ID '{_userManager.GetUserId(User)}'.")); } try { user.Nome = Input.Nome; user.Sobrenome = Input.Sobrenome; user.Contato_CEP = Input.Contato_CEP; user.Contato_Logradouro = Input.Contato_Logradouro; user.Contato_LogradouroNum = Input.Contato_LogradouroNum; user.Contato_Complemento = Input.Contato_Complemento; user.Contato_Bairro = Input.Contato_Bairro; user.Contato_Cidade = Input.Contato_Cidade; user.Contato_Estado = Input.Contato_Estado; user.Financeiro_Banco_Nome = Input.Financeiro_Banco_Nome; user.Financeiro_Banco_CC = Input.Financeiro_Banco_CC; user.Financeiro_Banco_Ag = Input.Financeiro_Banco_Ag; var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); var _errosValidacoes = false; if (Input.ImagemSelfieFRENTE != null) { var _imagemLogotipo = await VerificadoresRetornos .EnviarImagemAzure(Input.ImagemSelfieFRENTE, 614200, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) { user.Sistema_URLSelfieDocFRENTE = _imagemLogotipo; } else { ModelState.AddModelError(string.Empty, "A imagem é muito grande"); _errosValidacoes = true; } } //else //{ // ModelState.AddModelError(string.Empty, "Selecione uma imagem do seu computador"); // _errosValidacoes = true; //} if (Input.ImagemSelfieVERSO != null) { var _imagemLogotipo = await VerificadoresRetornos .EnviarImagemAzure(Input.ImagemSelfieVERSO, 614200, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) { user.Sistema_URLSelfieDocVERSO = _imagemLogotipo; } else { ModelState.AddModelError(string.Empty, "A imagem é muito grande"); _errosValidacoes = true; } } //else //{ // ModelState.AddModelError(string.Empty, "Selecione uma imagem do seu computador"); // _errosValidacoes = true; //} if (_errosValidacoes) { Input.Sistema_URLSelfieDocFRENTE = @"/images/220px-Modelo_da_nova_carteira_de_identidade_brasileira.png"; Input.Sistema_URLSelfieDocVERSO = @"/images/220px-Modelo_da_nova_carteira_de_identidade_brasileira.png"; return(Page()); } _context.Attach(user).State = EntityState.Modified; await _context.SaveChangesAsync(); } catch (Exception) { } var email = await _userManager.GetEmailAsync(user); if (Input.UserName != email) { var setEmailResult = await _userManager.SetEmailAsync(user, Input.Email); if (!setEmailResult.Succeeded) { var userId = await _userManager.GetUserIdAsync(user); throw new InvalidOperationException($"Ocorreu um erro inesperado ao configurar o email para o usuário com o ID '{userId}'."); } } var phoneNumber = await _userManager.GetPhoneNumberAsync(user); if (Input.PhoneNumber != phoneNumber) { var setPhoneResult = await _userManager.SetPhoneNumberAsync(user, Input.PhoneNumber); if (!setPhoneResult.Succeeded) { var userId = await _userManager.GetUserIdAsync(user); throw new InvalidOperationException($"Ocorreu um erro inesperado ao definir o número de telefone do usuário com o ID '{userId}'."); } } //await _signInManager.RefreshSignInAsync(user); StatusMessage = "Seu perfil foi atualizado"; return(Redirect("/Identity/Account/Manage")); }
/* * RE 2e. Evidência de que a plataforma restitui os montantes investidos * para os investidores, num prazo de até 5 dias úteis, nos casos de * revogação (após suspensão) ou cancelamento da oferta. * * CONTROLE DE TRANSFERÊNCIAS EM CASO DE: * SITUAÇÃO: * (I) SUSPENSÃO DA OFERTA: * a. H2i deve Informar por e-mail que a CVM suspendeu oferta e a h2i * tem 30 dias para atender a exigência. * b. O investidor pode enviar e-mail solicitando a revogação da oferta. * Se mandar, a H2i deverá restituir o valor integral em até * 5 dias contados do recebimento do e-mail * * (II) SUSPENSÃO CONVALIDAR EM CANCELAMENTO * a. Se a CVM cancelar a oferta, os investidores devem ser * restituídos em 5 dias úteis contados do cancelamento. * * (III) Encerramento da Oferta – Concluído o processo de captação com êxito * a. Transferência para SPE o montante final captado no prazo * de até 5 dias úteis após a data do encerramento. * * b. Devolução do valor investido acrescido da remuneração do capital * ao final do período contratado ao final do prazo de validade do título * * (IV) Restituição do montante final investido quando o valor * alvo mínimo não atingir 2/3 (dois terços) do valor alvo máximo; * */ public async Task <JsonResult> OnPostAsync() { /* * Evidenciar a tipificação do investidor de acordo com o montante: * a) novo investidor investindo menos de 10mil * b) novo investidor investindo mais de 10 mil * c) investidor fazendo novo aporte em oferta, com total menor de 10mil (acumulado) * d) investidor fazendo novo aporte em oferta, com total maior de 10mil (acumulado) * e) investidor fazendo novo aporte em oferta, com total menor de 100mil (acumulado) * f) autodeclaração de valores acumulados multiplataforma */ double _valormoeda = 0; try { if (modelo.ArquivoComprovResid == null) { return(new JsonResult(new { status = "arq_comprov_resid", mens = "Você precisa enviar um comprovante de residência" })); } if (modelo.AceitouTermos == false) { return(new JsonResult(new { status = "termos", mens = "Você precisa ler e aceitar os Termos desta oferta" })); } if (string.IsNullOrEmpty(modelo.usuarioObjeto.Financeiro_Banco_Nome) || string.IsNullOrEmpty(modelo.usuarioObjeto.Financeiro_Banco_Ag) || string.IsNullOrEmpty(modelo.usuarioObjeto.Financeiro_Banco_CC)) { return(new JsonResult(new { status = "info_usu_banco", mens = "Você precisa corrigir suas informações bancárias." })); } if (string.IsNullOrEmpty(modelo.usuarioObjeto.Sistema_URLSelfieDocFRENTE) || string.IsNullOrEmpty(modelo.usuarioObjeto.Sistema_URLSelfieDocVERSO)) { return(new JsonResult(new { status = "info_usu_selfies", mens = "Envie um documento com foto (Frente/Verso) antes de solicitar uma reserva.<br> <a href='/Identity/Account/Manage'>Clique aqui para resolver isso</a>" })); } if (string.IsNullOrEmpty(modelo.PerfilInvestidorInformado)) { return(new JsonResult(new { status = "perfil_investidor", mens = "Você precisa selecionar um PERFIL DE INVESTIDOR" })); } var _usuario = _context.Users .Where(x => x.UserName == User.Identity.Name) .FirstOrDefault(); _valormoeda = Convert.ToDouble(modelo.ValorInvestido); var _bloco = _context.BlocoProjInvestimentos .Where(x => x.Id == Convert.ToInt32(modelo.blocoProjInvestimento.Id)) .FirstOrDefault(); //if (_valormoeda > 10000 && _usuario.Financeiro_Investidor_Perfil == "C") //{ // return Page(); // //return new // //{ // // Status = "erro", // // Mens = $"VALOR SUPERIOR A <b>R$ 10.000,00</b>.<br> Deseja alterar o seu perfil de investidor? Clique <a href='/Correio/Conversas?uid=2751483e-2c65-4629-84b5-abc20c940c1c&idinv=" + modelo.blocoProjInvestimento.Id + "' target='_blank'><b>AQUI</b></a>.", // // Dados = "", // // Total = 0 // //}; //} //if (_valormoeda > 1000000 && _usuario.Financeiro_Investidor_Perfil == "B") //{ // return Page(); // //return new // //{ // // Status = "erro", // // Mens = $"VALOR SUPERIOR A <b>R$ 1.000.000,00</b>.<br> Deseja alterar o seu perfil de investidor? Clique <a href='/Correio/Conversas?uid=2751483e-2c65-4629-84b5-abc20c940c1c&idinv=" + modelo.blocoProjInvestimento.Id + "' target='_blank'><b>AQUI</b></a>.", // // Dados = "", // // Total = 0 // //}; //} var _valortotalgeral = 0.0; try { _valortotalgeral = _context.INVEST_Lancamentos //.Where(x => x.BlocoProjInvestimentosId == _bloco.Id && x.Status == "A") .Where(x => x.BlocoProjInvestimentosId == _bloco.Id) .Sum(x => x.Valor); } catch (Exception) { } var _valorbloco = Convert.ToDouble(_bloco.Valor); if (_valormoeda + _valortotalgeral > _valorbloco) { return(new JsonResult(new { status = "valor", mens = $"Infelizmente não podemos aportar o valor total da sua reserva, pois o valor informado ultrapassa o limite esperado desta oferta.<br>O valor excedido foi de: <b>{(_valormoeda + _valortotalgeral - _valorbloco).ToString("C2")}</b>" })); //return Page(); //return new //{ // Status = "erro", // Mens = $"O VALOR QUE VOCÊ DESEJA INVESTIR, ULTRAPASSA O VALOR TOTAL DA OFERTA. INVISTA UM VALOR MENOR.", // Dados = "", // Total = 0 //}; } //var _totalinvestido = 0.0; //try //{ // _totalinvestido = _context.INVEST_Lancamentos // .Where(x => x.UsuarioAppId == _usuario.Id) // .Sum(x => x.Valor); //} //catch (Exception) { } //if (_valormoeda + _totalinvestido > _valorbloco) ////if (_valormoeda + _totalinvestido > (_usuario.Financeiro_Investidor_Perfil == "C" ? 10000 : _usuario.Financeiro_Investidor_Perfil == "B" ? 1000000 : 10000)) //{ // //var _valorfinal = ((_usuario.Financeiro_Investidor_Perfil == "C" ? 10000 : _usuario.Financeiro_Investidor_Perfil == "B" ? 1000000 : 10000) - _totalinvestido); // var _valorfinal = _valormoeda + _totalinvestido; // //return Page(); // return new JsonResult(new // { // status = "valor", // mens = $"VOCÊ ULTRAPASSOU O LIMITE DE INVESTIMENTO PARA O SEU PERFIL.<br> ULTRAPASSADO: <b>R$ " + (_valorfinal - _valorbloco).ToString("C2") + "</b>.<br> Deseja alterar seu perfil? Clique <a href='/Correio/Conversas?uid=2751483e-2c65-4629-84b5-abc20c940c1c&idinv=" + modelo.blocoProjInvestimento.Id + "' target='_blank'>AQUI</a>." // }); // //return new // //{ // // Status = "erro", // // Mens = $"VOCÊ ULTRAPASSOU O LIMITE DE INVESTIMENTO PARA O SEU PERFIL.<br> SEU SALDO É DE: <b>R$ " + _valorfinal.ToString("C2") + "</b>.<br> Deseja alterar seu perfil? Clique <a href='/Correio/Conversas?uid=2751483e-2c65-4629-84b5-abc20c940c1c&idinv=" + modelo.blocoProjInvestimento.Id + "' target='_blank'>AQUI</a>.", // // Dados = "", // // Total = 0 // //}; //} //_context.BlocoProjInvestimentoValores.Add(new BlocoProjInvestimentoValor() //{ // BlocoProjInvestimentoId = Convert.ToInt32(_id), // UsuarioAppId = _usuario.Id, // Valor = _valormoeda //}); //await _context.SaveChangesAsync(); //------------------- // OBJETO USUARIO //------------------- //var _pegaUsu = // _context.Users // .Where(x => x.UserName == User.Identity.Name) // .FirstOrDefault(); //------------------- // LOGS FINANCEIROS //------------------- // LANCAMENTO var _novoLancamento = new INVEST_Lancamento() { BlocoProjInvestimentosId = Convert.ToInt32(modelo.blocoProjInvestimento.Id), UsuarioAppId = _usuario.Id, TP = "E", Valor = _valormoeda, Status = "P", PerfilInvestidorInformado = modelo.PerfilInvestidorInformado }; _context.INVEST_Lancamentos.Add(_novoLancamento); await _context.SaveChangesAsync(); var ip = _accessor.HttpContext?.Connection?.RemoteIpAddress?.ToString(); var _ips = new string[] { ip, "value2" }; //var _valormindoc = Convert.ToDouble(_context.BlocoProjInvestimentos.Where(x => x.Id == Convert.ToInt32(modelo.blocoProjInvestimento.Id)).FirstOrDefault().ValorMinimoDocs); //if (_valormoeda > _valormindoc) //{ // LANCAMENTOS DOC var _listaItensDoc = await _context.BlocoProjInvestimento_ItemDocs .Include(x => x.INVEST_ModeloDoc) .Where(x => x.BlocoProjInvestimentoId == _novoLancamento.BlocoProjInvestimentosId) .ToListAsync(); var _indiceCuringaModeloDocProblemaReferencia = 0; foreach (var item in _listaItensDoc) { var _novoLancamentoDoc = new INVEST_LancamentoDoc() { INVEST_LancamentoId = _novoLancamento.Id, INVEST_ModeloDocId = item.INVEST_ModeloDocId, URLDoc = "", TP = "A" }; _context.INVEST_LancamentoDocs.Add(_novoLancamentoDoc); await _context.SaveChangesAsync(); _indiceCuringaModeloDocProblemaReferencia = item.INVEST_ModeloDocId; } foreach (var item in _listaItensDoc) { await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-file-signature text-primary'></i>", MENSAGEM = $"ASSINOU DIGITALMENTE {item.INVEST_ModeloDoc.Titulo}", ACAO = $"ASSINATURA DIGITAL", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "", TIPO = "NOTIFICAÇÃO", UsuarioAppId = _usuario.Id, VALOR = _novoLancamento.Valor, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); } var _textoAnexos = ""; var fileName = ""; var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); //---------- // ANEXO4-C //---------- if (modelo.PerfilInvestidorInformado == "C") { _textoAnexos += $"<div style='text-align:center;'><b>ANEXO 4-C</b></div>"; _textoAnexos += $"<div style='text-align:center;margin-top:0px;margin-bottom:25px;'><b>{HttpUtility.HtmlEncode("DECLARAÇÃO")}</b></div>"; _textoAnexos += $"<div style='text-align:justify !important;'>"; _textoAnexos += $"Declaro, sob as penas da lei, que:<br>"; _textoAnexos += $"1. o valor de meu investimento na oferta de <b style='font-size:14px;color:grey !important;margin-left:15px;margin-right:15px;font-weight:normal !important;'>[emissor]</b>, quando somado ao valor de <b style='font-size:14px;color:grey !important;margin-left:15px;margin-right:15px;font-weight:normal !important;'>[montante]</b> que {HttpUtility.HtmlEncode("já")} investi no {HttpUtility.HtmlEncode("ano-calendário")} em ofertas dispensadas de registro na {HttpUtility.HtmlEncode("Comissão de Valores Mobiliários (CVM)")} por meio de plataformas {HttpUtility.HtmlEncode("eletrônicas")} investimento participativo (crowdfunding de investimento), {HttpUtility.HtmlEncode("não")} ultrapassa R$ 10.000,00 (dez mil reais).<br><br>"; _textoAnexos += $"2. entendo que o limite de R$ 10.000,00 (dez mil reais) tem por objetivo proteger os investidores em {HttpUtility.HtmlEncode("razão do nível")} de risco e da falta de liquidez associados aos investimentos por meio de crowdfunding.<br><br>"; _textoAnexos += $"3. entendo ser minha responsabilidade observar que o valor total de meus investimentos realizados no {HttpUtility.HtmlEncode("ano-calendário")} em todas as plataformas de crowdfunding de investimento combinadas {HttpUtility.HtmlEncode("não")} ultrapassa o limite.<br>"; _textoAnexos += $"</div><br><br><br>"; _textoAnexos += $"<b>{HttpUtility.HtmlEncode("SÃO PAULO")}, {DateTime.Now.ToLongDateString().ToUpper()}</b><br><br><br><br><br><br><br>"; _textoAnexos += $"<hr style='display:block;width:60%;margin-top:0px;margin-bottom:0px;float:left;'><br>"; _textoAnexos += $"<b style='margin-top:-25px;'>{HttpUtility.HtmlEncode(_usuario.Nome)} {_usuario.Sobrenome} /// {_usuario.Documentacao_CPF}</b><br>"; _textoAnexos += $"<br><br><br><br>"; _textoAnexos += $"<div style='margin-top:25px;'>"; _textoAnexos += $"<b style='color:grey!important;font-size:8px!important;font-weight:normal!important;'>Registro H2I: Esse ANEXO4-C foi assinado digitalmente por {HttpUtility.HtmlEncode("você")} no dia {DateTime.Now.ToShortDateString()} {HttpUtility.HtmlEncode("às")} {DateTime.Now.ToShortTimeString()} a partir do IP: {_ips.FirstOrDefault()} referente a reserva de {_valormoeda.ToString("C2")} na oferta {HttpUtility.HtmlEncode(_bloco.Titulo)} </i>"; _textoAnexos += $"</div>"; fileName = $"{Guid.NewGuid().ToString()}-anexo4c.html"; } else if (modelo.PerfilInvestidorInformado == "B") { _textoAnexos += $"<div style='text-align:center;'><b>ANEXO 4-B</b></div>"; _textoAnexos += $"<div style='text-align:center;margin-top:0px;margin-bottom:25px;'><b>{HttpUtility.HtmlEncode("DECLARAÇÃO")}</b></div>"; _textoAnexos += $"<div style='text-align:justify !important;'>"; _textoAnexos += $"Declaro, sob as penas da lei, que:<br>"; _textoAnexos += $"1. possuo renda bruta anual ou investimentos financeiros em valor superior a R$ 100.000,00 (cem mil reais).<br><br>"; _textoAnexos += $"2. o valor de meu investimento na oferta de <b style='font-size:14px;color:grey !important;margin-left:15px;margin-right:15px;font-weight:normal !important;'>[ emissor ]</b>, quando somado ao valor de R$ <b style='font-size:14px;color:grey !important;margin-left:15px;margin-right:15px;font-weight:normal !important;'>[ montante ]</b> que {HttpUtility.HtmlEncode("já")} investi no {HttpUtility.HtmlEncode("ano-calendário")} em ofertas dispensadas de registro na {HttpUtility.HtmlEncode("Comissão de Valores Mobiliários (CVM)")} por meio de plataformas {HttpUtility.HtmlEncode("eletrônicas")} investimento participativo (crowdfunding de investimento), {HttpUtility.HtmlEncode("não")} ultrapassa 10% (dez por cento) do maior entre: (a) minha renda bruta anual; ou (b) o montante total de meus investimentos financeiros.<br><br>"; _textoAnexos += $"3. entendo que o limite de 10% (dez por cento) tem por objetivo proteger os investidores em {HttpUtility.HtmlEncode("razão do nível")} de risco e da falta de liquidez associados aos investimentos por meio de crowdfunding.<br><br>"; _textoAnexos += $"4. entendo ser minha responsabilidade observar que o valor total de meus investimentos realizados no {HttpUtility.HtmlEncode("ano-calendário")} em todas as plataformas de crowdfunding de investimento combinadas {HttpUtility.HtmlEncode("não")} ultrapassa o limite."; _textoAnexos += $"</div><br><br><br>"; _textoAnexos += $"<b>{HttpUtility.HtmlEncode("SÃO PAULO")}, {DateTime.Now.ToLongDateString().ToUpper()}</b><br><br><br><br><br><br><br>"; _textoAnexos += $"<hr style='display:block;width:60%;margin-top:0px;margin-bottom:0px;float:left;'><br>"; _textoAnexos += $"<b style='margin-top:-25px;'>{HttpUtility.HtmlEncode(_usuario.Nome)} {_usuario.Sobrenome} /// {_usuario.Documentacao_CPF}</b><br>"; _textoAnexos += $"<br><br><br><br>"; _textoAnexos += $"<div style='margin-top:25px;'>"; _textoAnexos += $"<b style='color:grey!important;font-size:8px!important;font-weight:normal!important;'>Registro H2I: Esse ANEXO4-B foi assinado digitalmente por {HttpUtility.HtmlEncode("você")} no dia {DateTime.Now.ToShortDateString()} {HttpUtility.HtmlEncode("às")} {DateTime.Now.ToShortTimeString()} a partir do IP: {_ips.FirstOrDefault()} referente a reserva de {_valormoeda.ToString("C2")} na oferta {HttpUtility.HtmlEncode(_bloco.Titulo)} </i>"; _textoAnexos += $"</div>"; fileName = $"{Guid.NewGuid().ToString()}-anexo4b.html"; } else if (modelo.PerfilInvestidorInformado == "A") { _textoAnexos += $"<div style='text-align:center;'><b>ANEXO 4-A</b></div>"; _textoAnexos += $"<div style='text-align:center;margin-top:0px;margin-bottom:25px;'><b>{HttpUtility.HtmlEncode("DECLARAÇÃO")}</b></div>"; _textoAnexos += $"<div style='text-align:justify !important;'>"; _textoAnexos += $"Ao assinar este termo, afirmo minha {HttpUtility.HtmlEncode("condição")} de investidor qualificado e declaro possuir conhecimento sobre o mercado financeiro suficiente para que {HttpUtility.HtmlEncode("não")} me sejam {HttpUtility.HtmlEncode("aplicáveis")} um conjunto de {HttpUtility.HtmlEncode("proteções")} legais e regulamentares conferidas aos investidores que {HttpUtility.HtmlEncode("não")} sejam qualificados.<br><br>"; _textoAnexos += $"Como investidor qualificado, atesto ser capaz de entender e ponderar os riscos financeiros relacionados {HttpUtility.HtmlEncode("à aplicação")} de meus recursos em oferta {HttpUtility.HtmlEncode("pública de distribuição de valores mobiliários de emissão de sociedades empresárias")} de pequeno porte, realizada com dispensa de registro na {HttpUtility.HtmlEncode("Comissão de Valores Mobiliários (CVM)")}, por meio de plataforma {HttpUtility.HtmlEncode("eletrônica")} de investimento participativo.<br><br>"; _textoAnexos += $"Declaro, sob as penas da lei, que possuo investimentos financeiros em valor superior a R$ 1.000.000,00 {HttpUtility.HtmlEncode("(um milhão de reais)")}.<br><br>"; _textoAnexos += $"</div><br><br><br>"; _textoAnexos += $"<b>{HttpUtility.HtmlEncode("SÃO PAULO")}, {DateTime.Now.ToLongDateString().ToUpper()}</b><br><br><br><br><br><br><br>"; _textoAnexos += $"<hr style='display:block;width:60%;margin-top:0px;margin-bottom:0px;float:left;'><br>"; _textoAnexos += $"<b style='margin-top:-25px;'>{HttpUtility.HtmlEncode(_usuario.Nome)} {_usuario.Sobrenome} /// {_usuario.Documentacao_CPF}</b><br>"; _textoAnexos += $"<br><br><br><br>"; _textoAnexos += $"<div style='margin-top:25px;'>"; _textoAnexos += $"<b style='color:grey!important;font-size:8px!important;font-weight:normal!important;'>Registro H2I: Esse ANEXO4-A foi assinado digitalmente por {HttpUtility.HtmlEncode("você")} no dia {DateTime.Now.ToShortDateString()} {HttpUtility.HtmlEncode("às")} {DateTime.Now.ToShortTimeString()} a partir do IP: {_ips.FirstOrDefault()} referente a reserva de {_valormoeda.ToString("C2")} na oferta {HttpUtility.HtmlEncode(_bloco.Titulo)} </i>"; _textoAnexos += $"</div>"; fileName = $"{Guid.NewGuid().ToString()}-anexo4a.html"; } string sWebRootFolder = _hostingEnvironment.WebRootPath; string fullPath = Path.Combine(sWebRootFolder + "//Upload", fileName); FileStream file = new FileStream(fullPath, FileMode.Create, FileAccess.Write); var htmlDoc = new HtmlAgilityPack.HtmlDocument(); htmlDoc.LoadHtml(_textoAnexos); htmlDoc.Save(file); file.Close(); SelectPdf.HtmlToPdf converter = new SelectPdf.HtmlToPdf(); converter.Options.PdfPageSize = SelectPdf.PdfPageSize.A4; converter.Options.PdfPageOrientation = SelectPdf.PdfPageOrientation.Landscape; //converter.Options.WebPageWidth = webPageWidth; //converter.Options.WebPageHeight = webPageHeight; //PdfDocument doc_ = converter.ConvertHtmlString(innerHtml); SelectPdf.PdfDocument doc_ = converter.ConvertUrl(fullPath); doc_.Save(fullPath.Replace("html", "pdf")); doc_.Close(); System.IO.File.Delete(fullPath); // ENVIAR PRA CLOUD AZURE FileStream _arquivoPDFCriado = new FileStream(fullPath.Replace("html", "pdf"), FileMode.Open, FileAccess.Read); string pegaurl = ""; try { var _strcnx = ""; _strcnx = string.Format("DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1}", _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey); CloudStorageAccount storageAccount = CloudStorageAccount.Parse(_strcnx); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference(_config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); CloudBlockBlob blockBlob = container.GetBlockBlobReference(fileName); blockBlob.Properties.ContentType = "application/pdf"; await blockBlob.UploadFromStreamAsync(_arquivoPDFCriado); pegaurl = blockBlob.Uri.AbsoluteUri; var _novoLancamentoDoc = new INVEST_LancamentoDoc() { INVEST_LancamentoId = _novoLancamento.Id, // USO UM INDICE VALIDO COLHIDO LÁ EM CIMA // PARA SANAR UM PROBLEMA DE REFERENCIA DE CHAVE // ESTRANGEIRA COM MODELOS DOC. AFINAL DE CONTAS // GERO O PDF DO ZERO, NÃO EXISTE ASSOCIACAO // AINDA, ATEH O ATO DE CRIAR E PUBLICAR O PDF. INVEST_ModeloDocId = _indiceCuringaModeloDocProblemaReferencia, URLDoc = pegaurl, TP = "A" }; _context.INVEST_LancamentoDocs.Add(_novoLancamentoDoc); await _context.SaveChangesAsync(); await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-file-signature text-primary'></i>", MENSAGEM = "<i style='font-size:11px;font-family:monospace;line-height:10px;text-align:justify!important;'>" + _textoAnexos + "</i>" + $"<br> <div><a href='{pegaurl}' target='_blank'>Ver doc.</a></div>", ACAO = $"INFORMOU PERFIL ANEXO4-{modelo.PerfilInvestidorInformado}", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "", TIPO = "NOTIFICAÇÃO", UsuarioAppId = _usuario.Id, VALOR = _novoLancamento.Valor, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); } catch (Exception err) { var erro = err; } //// LOGCENTRAL //_context.LOGCENTRALs.Add(new LOGCENTRAL() //{ // ACAO = "INVESTIU", // INVEST_LancamentoId = _novoLancamento.Id, // INVEST_ModeloDocId = _novoLancamento.Id, // TP = _novoLancamento.TP, // URLDOC = "", // VALOR = _valormoeda, // STATUS = _novoLancamento.Status, // UsuarioAppId = _novoLancamento.UsuarioAppId, // IP = _ips.FirstOrDefault() //}); //await _context.SaveChangesAsync(); //// CONTROLE TRANSF - USU //_context.INVEST_ControleTransfs.Add(new INVEST_ControleTransf() //{ // BlocoProjInvestimentosId = _novoLancamento.BlocoProjInvestimentosId, // Status = "P", // UsuarioAppId = _novoLancamento.UsuarioAppId, // Valor = _novoLancamento.Valor //}); //await _context.SaveChangesAsync(); //// CONTROLE TRANSF - ADM //_context.INVEST_ControleTransfs.Add(new INVEST_ControleTransf() //{ // BlocoProjInvestimentosId = _novoLancamento.BlocoProjInvestimentosId, // Status = "P", // UsuarioAppId = "bbf7b44d-faa0-4276-b163-295b780a062c", // Valor = _novoLancamento.Valor //}); //await _context.SaveChangesAsync(); //return Page(); //if (modelo.ArquivoComprovResid != null) //{ // var _imagemLogotipo = // await VerificadoresRetornos // .EnviarImagemAzure(modelo.ArquivoComprovResid, 550000, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); // if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) // BlocoProjInvestimento.UrlImgPrinc = _imagemLogotipo; // else // { // ModelState.AddModelError(string.Empty, "A imagem é muito grande"); // _errosValidacoes = true; // } //} //else //{ // ModelState.AddModelError(string.Empty, "Selecione uma imagem do seu computador"); // _errosValidacoes = true; //} //} //// LOGCENTRAL //_context.LOGCENTRALs.Add(new LOGCENTRAL() //{ // ACAO = "ENVIO DE EMAIL - INVESTIU", // INVEST_LancamentoId = _novoLancamento.Id, // INVEST_ModeloDocId = _novoLancamento.Id, // TP = _novoLancamento.TP, // URLDOC = "", // VALOR = _valormoeda, // STATUS = _novoLancamento.Status, // UsuarioAppId = _novoLancamento.UsuarioAppId, // IP = _ips.FirstOrDefault() //}); //await _context.SaveChangesAsync(); var _token = Guid.NewGuid().ToString(); var _novaconfirm = new InvestimentoConfirmacao() { BlocoProjInvestimentoId = modelo.blocoProjInvestimento.Id, Confirmado = false, Token = _token, UsuarioAppId = _usuario.Id, Valor = _valormoeda, INVEST_LancamentoId = _novoLancamento.Id }; _context.InvestimentoConfirmacoes.Add(_novaconfirm); await _context.SaveChangesAsync(); await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-wallet text-warning'></i>", MENSAGEM = $"O usuário <b>{_novoLancamento.UsuarioApp.Nome} {_novoLancamento.UsuarioApp.Sobrenome}</b> fez uma reserva de <b>{_novoLancamento.Valor.ToString("C2")}</b> na oferta <b>{_novoLancamento.BlocoProjInvestimentos.Titulo}</b>.<br> Geramos o seguinte token ao investidor: <i>{_token}</i>", ACAO = $"RESERVA", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = VerificadoresRetornos.PROC__RetornaStatusLiteralLancamento(_novoLancamento.Status), TIPO = "INVESTIMENTOS", UsuarioAppId = _novoLancamento.UsuarioAppId, VALOR = _valormoeda, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); /* * E-mail confirmação de reserva de investimento e envio do Código de Validação * * * Olá [Nome Investidor], * * Recebemos a sua reserva no valor de R$ [ ] ( mil reais). * Para confirmá-la, insira o código de validação a seguir : * [código] * * * Atenciosamente, * Equipe House2Invest */ // instanciar objeto email var _configAplicacoes = _context.AppConfiguracoes_Aplicativo .FirstOrDefault(); string _textoEmail = $"Olá {_novoLancamento.UsuarioApp.Nome}, <br>"; _textoEmail += $"Recebemos o seu pedido de reserva no valor de {_novoLancamento.Valor.ToString("C2")}. <br>"; _textoEmail += $"Para confirmá-la, insira o código de validação a seguir:<br>"; _textoEmail += $"<code>{_token}</code> <br><br>"; _textoEmail += $"Atenciosamente, <br>"; _textoEmail += $"<b>Equipe House2invest</b> <br>"; var _objemail = new ObjetoEmailEnvio() { ASSUNTO = "[INVESTIMENTO] House2Invest", COPIA = _configAplicacoes.mailToAdd, mailFrom = _configAplicacoes.mailFrom, MENSAGEM = _textoEmail, //MENSAGEM = string.Format($"Olá {_usuario.Nome},<br/><br/><br/>Recebemos a sua reserva no valor de <b>{_valormoeda.ToString("C2")}</b>.<br/> Para confirmá-la, insira o código de validação a seguir:<br> <b>{_token}</b>.<br/><br/><br/>Atenciosamente,<br>Equipe House2Invest"), //MENSAGEM = string.Format($"Olá!!!{Environment.NewLine}<br/>Você fez um investimento de <b>{_valormoeda.ToString("C2")}</b> em <b>{_context.BlocoProjInvestimentos.Where(x => x.Id == Convert.ToInt32(modelo.blocoProjInvestimento.Id)).FirstOrDefault().Titulo}</b>. Para validá-lo, digite esse código <b>{_token}</b> no campo correspondente."), PARA = _usuario.Email, smtpCredentialsEmail = _configAplicacoes.smtpCredentialsEmail, smtpCredentialsSenha = _configAplicacoes.smtpCredentialsSenha, smtpEnableSsl = _configAplicacoes.smtpEnableSsl, smtpHost = _configAplicacoes.smtpHost, smtpPort = _configAplicacoes.smtpPort, smtpUseDefaultCredentials = _configAplicacoes.smtpUseDefaultCredentials }; var _enviou = await VerificadoresRetornos.EnviarEmail(_objemail); await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-envelope text-primary'></i>", MENSAGEM = "<i style='font-size:11px;font-family:monospace;line-height:10px;text-align:justify!important;'>" + _textoEmail + "</i>" + $"<br> <div> <a href='javascript:ReenviarEmailLog({_novoLancamento.Id});' class='btn btn-sm bg-success' title='Reenviar email' style='padding:0.25rem 0.4rem;font-size:14px;'><i class='fas fa-paper-plane'></i></a></div>", ACAO = $"ENVIOU EMAIL", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = VerificadoresRetornos.PROC__RetornaStatusLiteralLancamento(_novoLancamento.Status), TIPO = "NOTIFICAÇÃO", UsuarioAppId = _novoLancamento.UsuarioAppId, VALOR = _novoLancamento.Valor, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); //var _enviou = // await VerificadoresRetornos // .EnviarEmail(_usuario.Email, "", "[INVESTIMENTO] House2Invest", string.Format($"Olá!!!{Environment.NewLine}<br/>Você fez um investimento de <b>{_valormoeda.ToString("C2")}</b> em <b>{_context.BlocoProjInvestimentos.Where(x => x.Id == Convert.ToInt32(modelo.blocoProjInvestimento.Id)).FirstOrDefault().Titulo}</b>. Para validá-lo, digite esse código <b>{_token}</b> no campo correspondente.")); //return new //{ // Status = "ok", // Mens = $"Seu investimento foi registrado em nosso sistema. Acompanhe o andamento em sua área protegida.", // Dados = "", // Total = 0 //}; //return Page(); //return Redirect("/"); return(new JsonResult(new { status = "ok", mens = $"PARABÉNS" })); } catch (Exception err) { //return Page(); return(new JsonResult(new { status = "erro", mens = $"Nada foi feito. Verifique o log de saída.", errobruto = err.InnerException.Message // Dados = "", // Total = 0 })); } }
public async Task <IActionResult> OnPostAsync() { var _totaldeelementos = Request.Form.Count - 1; var _listaimagens = new List <ImagensEnvio>(); var _idperfil = AppPerfilId; if (Request.Form.Files.Count > 0) { // CRIA ALBUM var _novoalbum = new Models.GaleriaPerfilAlbum() { AppPerfilId = _idperfil, Nome = Request.Form["GaleriaPerfilAlbum.Nome"].ToString(), Descricao = string.IsNullOrEmpty(Request.Form["GaleriaPerfilAlbum.Descricao"].ToString()) ? "" : Request.Form["GaleriaPerfilAlbum.Descricao"].ToString() }; // SALVA ALBUM await _context.GaleriaPerfilAlbum.AddAsync(_novoalbum); await _context.SaveChangesAsync(); if (_novoalbum.Id > 0) { for (int i = 0; i < _totaldeelementos; i++) { var _nomeimg = Request.Form["inputarq_" + i]; var _des = Request.Form["descricao_" + i].ToString(); _des = string.IsNullOrEmpty(_des) ? "" : _des; var _buscafilearray = Request.Form.Files .Where(x => x.FileName == _nomeimg).FirstOrDefault(); if (_buscafilearray != null) { _listaimagens.Add(new ImagensEnvio() { GaleriaPerfilAlbumId = _novoalbum.Id, Url = _buscafilearray.FileName.ToString(), Descricao = _des, Arquivo = _buscafilearray }); } } var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); foreach (var item in _listaimagens) { var _imagemLogotipo = await VerificadoresRetornos .EnviarImagemAzure(item.Arquivo, 512000, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz, _config.AppConfiguracoes.AppConfiguracoes_Azure.UsarSimuladorLocal, _config.AppConfiguracoes.AppConfiguracoes_Azure.EnderecoArmazLocal); Uri uriResult; bool result = Uri.TryCreate(_imagemLogotipo, UriKind.Absolute, out uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps); if (result) { item.Url = _imagemLogotipo; } else { item.Url = ""; } } var _listarange = new List <Models.GaleriaPerfilImagem>(); foreach (var registro in _listaimagens) { if (!string.IsNullOrEmpty(registro.Url)) { _listarange.Add(new Models.GaleriaPerfilImagem() { GaleriaPerfilAlbumId = registro.GaleriaPerfilAlbumId, Descricao = registro.Descricao, Url = registro.Url }); } } if (_listarange.Count > 0) { await _context.GaleriaPerfilImagem.AddRangeAsync(_listarange); await _context.SaveChangesAsync(); } } } else { ModelState.AddModelError("", "Você precisa selecionar ao menos uma imagem para criar um álbum. Clique no botão CARREGAR IMAGENS para selecionar à partir do seu dispositivo."); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnGet(string u, string p, string c) { var _mensretorno = ""; ResgatarVoucher = new ResgatarVoucherViewModelo(); // SEM PARÂMETROS if (string.IsNullOrEmpty(u) || string.IsNullOrEmpty(p) || string.IsNullOrEmpty(c)) { _mensretorno += ""; //ResgatarVoucher.MensagemRetorno = "Dados inválidos"; return(Page()); } // USUÁRIO AUTENTICADO? if (User.Identity.IsAuthenticated) { await _signInManager.SignOutAsync(); //return Redirect("/"); } // JÁ EXISTE USUÁRIO? if (_context.Users.FirstOrDefault(x => x.UserName == p) != null) { return(Redirect("/")); } var _pegavoucher = _context.Vouchers .Where(x => x.UsuarioAppId == u && x.EmailDestino == p && x.CodigoUnico == c && x.STATUS == "A") .FirstOrDefault(); if (_pegavoucher == null) { ResgatarVoucher.MensagemRetorno = "Esse Voucher não existe em nossa plataforma, ou, já está em uso."; } else { if (_pegavoucher.DataLimite < DateTime.Now || _pegavoucher.STATUS != "A") { ResgatarVoucher.MensagemRetorno = "Esse Voucher não existe em nossa plataforma, ou, já está em uso."; } ResgatarVoucher.EhValido = true; // CRIA CONTA var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); var _novaSenha = VerificadoresRetornos.GerarSenha(8); var user = new UsuarioApp { AppConfiguracoesId = _context.AppConfiguracoes.FirstOrDefault().Id, Nome = "Usuário", Sobrenome = "", Nascimento = new System.DateTime(1978, 2, 14), UserName = _pegavoucher.EmailDestino, NormalizedUserName = _pegavoucher.EmailDestino, Email = _pegavoucher.EmailDestino, NormalizedEmail = _pegavoucher.EmailDestino, EmailConfirmed = true, PasswordHash = _novaSenha, SecurityStamp = string.Empty, AvatarUsuario = "/images/sem-imagem.png", Sistema_FuncaoUsuario = "USUARIO", Bio = "Olá mundo", ContatoAutenticacao_Email = _pegavoucher.EmailDestino, ContatoAutenticacao_EmailAlternativo = _pegavoucher.EmailDestino, ContatoAutenticacao_Fone = "00123456789", ContatoAutenticacao_FoneAlternativo = "00123456789", Contato_Bairro = "NI", Contato_CEP = "00000-000", Contato_Cidade = "NI", Contato_Complemento = "NI", Contato_Escritorio = "NI", Contato_Estado = "NI", Contato_FoneCelular = "", Contato_FoneComercial = "00123456789", Contato_Logradouro = "NI", Contato_Pais = "BRASIL", Contato_Website = "", Genero = "NI", EstadoCivil = "NI", ImagemFundoPerfil = "/images/fundo_padrao_perfil.png", Documentacao_CNPJ = "", Documentacao_CPF = "", Documentacao_RG = "", Documentacao_TPPessoa = "PF", Financeiro_Banco_Ag = "", Financeiro_Banco_CC = "", Financeiro_Banco_Nome = "", Sistema_AcessoBloqueado = false, MidiasSociais_Facebook = "", MidiasSociais_GooglePlus = "", MidiasSociais_Instagram = "", MidiasSociais_Linkedin = "", MidiasSociais_Pinterest = "", MidiasSociais_Twitter = "", MidiasSociais_Youtube = "", PhoneNumber = "00123456789", PhoneNumberConfirmed = true, LockoutEnabled = false, Trabalho_Empresa = "NÃO INFORMADO", Trabalho_Cargo = "NÃO INFORMADO", Trabalho_Departamento = "NÃO INFORMADO", Trabalho_Gerente = "NÃO INFORMADO", TwoFactorEnabled = false, TrocaSenhaProxLogin = true }; var result = await _userManager.CreateAsync(user, _novaSenha); if (result.Succeeded) { await _userManager.AddToRoleAsync(user, "USU"); // CONTA CRIADA? ALTERA O STATUS DO VOUCHER _pegavoucher.STATUS = "U"; _context.Attach(_pegavoucher).State = EntityState.Modified; await _context.SaveChangesAsync(); // FAÇO LOGIN await _signInManager.PasswordSignInAsync(_pegavoucher.EmailDestino, _novaSenha, false, lockoutOnFailure : true); //_mensretorno += "<b style='color:green;font-size:20px;margin-top:35px;'>"; //_mensretorno += "Muito bom!!! Sua conta foi criada com sucesso."; //_mensretorno += "</b>"; //_mensretorno += "<div style='color:grey;font-size:16px;color:#000;margin:10px auto;'>"; //_mensretorno += "Aproveite ao máximo o seu tempo de avaliação em nossa plataforma.<br>Ahhhh... O tempo de avaliação termina em: <b>" + _pegavoucher.DataLimite.ToLongDateString() + " às " + _pegavoucher.DataLimite.ToLongTimeString() + "</b><br><br>"; //_mensretorno += "Clique <a href='/Correio/Conversas' class=''>AQUI</a> para acessar nosso Chat.<br>"; //_mensretorno += "</div>"; //_mensretorno += "<b style='color:red;font-size:25px;margin-top:35px;'>"; //_mensretorno += "MUITO IMPORTANTE: A SENHA ABAIXO É PROVISÓRIA.<br>ALTERE-A AGORA <a href='/Identity/Account/Manage/ChangePassword'>CLICANDO AQUI</a>"; //_mensretorno += "</b>"; //_mensretorno += "<br>"; //_mensretorno += $"<b style='color:grey !important;font-size:70px !important;font-weight:lighter !important;'>{_novaSenha}"; //_mensretorno += "</b>"; //_mensretorno += "<br>"; //ResgatarVoucher.MensagemRetorno = _mensretorno; _mensretorno += "<b style='color:green;font-size:30px;margin-top:45px;display:block;'>"; _mensretorno += "Sua conta foi criada com sucesso."; _mensretorno += "</b>"; _mensretorno += "<div style='color:grey;font-size:16px;color:#000;margin:10px auto;'>"; _mensretorno += "Aproveite ao máximo o seu tempo de avaliação em nossa plataforma.<br>Ahhhh... O tempo de avaliação termina em: <b>" + _pegavoucher.DataLimite.ToLongDateString().ToUpper() + " às " + _pegavoucher.DataLimite.ToLongTimeString() + "</b>"; _mensretorno += "</div>"; _mensretorno += "<b style='color:red;font-size:18px;margin-top:35px;'>"; _mensretorno += "MUITO IMPORTANTE: A SENHA ABAIXO É PROVISÓRIA.<br>COPIE A SENHA PROVISÓRIA E CRIE UMA NOVA SENHA <a href='/Identity/Account/Manage/ChangePassword'>CLICANDO AQUI</a>"; _mensretorno += "</b>"; _mensretorno += "<br>"; _mensretorno += $"<b style='color:grey !important;font-size:70px !important;font-weight:lighter !important;margin:15px auto;display:block;'>{_novaSenha}"; _mensretorno += "</b>"; _mensretorno += "<br>"; ResgatarVoucher.MensagemRetorno = _mensretorno; } } return(Page()); }
public async Task <IActionResult> OnPostAsync() { var _errosValidacoes = false; if (!ModelState.IsValid) { _errosValidacoes = true; } var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); var registro = _context .BlocoProjInvestimentos .Where(x => x.Id == BlocoProjInvestimento.Id) .FirstOrDefault(); registro.BlocoProjInvest_ExibTitulo = BlocoProjInvestimento.BlocoProjInvest_ExibTitulo; registro.Contador_DataFinal = BlocoProjInvestimento.Contador_DataFinal; registro.Contador_Exib = BlocoProjInvestimento.Contador_Exib; registro.Titulo = BlocoProjInvestimento.Titulo; registro.Ativo = BlocoProjInvestimento.Ativo; registro.DescricaoDetalhadaProjeto = BlocoProjInvestimento.DescricaoDetalhadaProjeto; registro.Valor = BlocoProjInvestimento.Valor; registro.LanceMinimo = BlocoProjInvestimento.LanceMinimo; registro.ValorMinimoDocs = BlocoProjInvestimento.ValorMinimoDocs; //registro.Status = BlocoProjInvestimento.Status; registro.GaleriaPerfilAlbumId = BlocoProjInvestimento.GaleriaPerfilAlbumId; registro.Contato_CEP = BlocoProjInvestimento.Contato_CEP; registro.Contato_Logradouro = BlocoProjInvestimento.Contato_Logradouro; registro.Contato_LogradouroNum = BlocoProjInvestimento.Contato_LogradouroNum; registro.Contato_Bairro = BlocoProjInvestimento.Contato_Bairro; registro.Contato_Cidade = BlocoProjInvestimento.Contato_Cidade; registro.Contato_Complemento = BlocoProjInvestimento.Contato_Complemento; registro.Contato_Estado = BlocoProjInvestimento.Contato_Estado; registro.LinkVideoProjeto = BlocoProjInvestimento.LinkVideoProjeto; registro.Rentabilidade_TIR_TIT = BlocoProjInvestimento.Rentabilidade_TIR_TIT; registro.Rentabilidade_TIR_INI = BlocoProjInvestimento.Rentabilidade_TIR_INI; registro.Rentabilidade_TIR_FIM = BlocoProjInvestimento.Rentabilidade_TIR_FIM; registro.Rentabilidade_PRE_TIT = BlocoProjInvestimento.Rentabilidade_PRE_TIT; registro.Rentabilidade_PRE_INI = BlocoProjInvestimento.Rentabilidade_PRE_INI; registro.Rentabilidade_PRE_FIM = BlocoProjInvestimento.Rentabilidade_PRE_FIM; registro.Rentabilidade_ROI_TIT = BlocoProjInvestimento.Rentabilidade_ROI_TIT; registro.Rentabilidade_ROI_INI = BlocoProjInvestimento.Rentabilidade_ROI_INI; registro.Rentabilidade_ROI_FIM = BlocoProjInvestimento.Rentabilidade_ROI_FIM; registro.AndamentoObra = BlocoProjInvestimento.AndamentoObra; registro.AndamentoObraAcabamento = BlocoProjInvestimento.AndamentoObraAcabamento; if (BlocoProjInvestimento.ImagemDestaque != null) { var _imagemLogotipo = await VerificadoresRetornos .EnviarImagemAzure(BlocoProjInvestimento.ImagemDestaque, 550000, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) { registro.UrlImgPrinc = _imagemLogotipo; } else { ModelState.AddModelError(string.Empty, "A imagem é muito grande"); _errosValidacoes = true; } } if (Convert.ToDouble(BlocoProjInvestimento.LanceMinimo) > Convert.ToDouble(BlocoProjInvestimento.Valor)) { ModelState.AddModelError(string.Empty, "O Lance mínimo deve ser INFERIOR ao VALOR TOTAL DO INVESTIMENTO"); _errosValidacoes = true; } if (VerificadoresRetornos.ConverteStringParaDateTime(BlocoProjInvestimento.Contador_DataFinal) < DateTime.Now) { ModelState.AddModelError(string.Empty, "A data limite do contador deve ser SUPERIOR a data de hoje"); _errosValidacoes = true; } if (Convert.ToDouble(BlocoProjInvestimento.Valor) <= 0) { ModelState.AddModelError(string.Empty, "Necessário: VALOR TOTAL DO INVESTIMENTO"); _errosValidacoes = true; } if (Convert.ToDouble(BlocoProjInvestimento.LanceMinimo) <= 0) { ModelState.AddModelError(string.Empty, "Necessário: VALOR LANCE MÍNIMO"); _errosValidacoes = true; } if (_errosValidacoes) { BlocoProjInvestimento.UrlImgPrinc = BlocoProjInvestimento.UrlImgPrinc; return(Page()); } _context.Attach(registro).State = EntityState.Modified; try { await _context.SaveChangesAsync(); //if (BlocoProjInvestimento.Status == "C" || // BlocoProjInvestimento.Status == "E") //{ // var _todoslancamentos = new List<INVEST_Lancamento>(); // _todoslancamentos = _context.INVEST_Lancamentos // .Where(x => x.BlocoProjInvestimentosId == BlocoProjInvestimento.Id) // .ToList(); // foreach (var lanca in _todoslancamentos) // { // lanca.Status = "C"; // _context.Attach(lanca).State = EntityState.Modified; // await _context.SaveChangesAsync(); // } // var _todastransfs = new List<INVEST_ControleTransf>(); // _todastransfs = _context.INVEST_ControleTransfs // .Where(x => x.BlocoProjInvestimentosId == BlocoProjInvestimento.Id) // .ToList(); // foreach (var transf in _todastransfs) // { // transf.Status = "C"; // _context.Attach(transf).State = EntityState.Modified; // await _context.SaveChangesAsync(); // } // var _usu = _context.Users // .Where(x => x.UserName == User.Identity.Name) // .FirstOrDefault(); // var ip = _accessor.HttpContext?.Connection?.RemoteIpAddress?.ToString(); // var _ips = new string[] { ip, "value2" }; // foreach (var item in _todoslancamentos) // { // // LOGCENTRAL // _context.LOGCENTRALs.Add(new LOGCENTRAL() // { // ACAO = "CANCELOU INVESTIMENTO", // INVEST_LancamentoId = item.Id, // INVEST_ModeloDocId = item.Id, // TP = item.TP, // URLDOC = "", // VALOR = item.Valor, // STATUS = item.Status, // UsuarioAppId = _usu.Id, // IP = _ips.FirstOrDefault() // }); // await _context.SaveChangesAsync(); // var _usuemail = _context.Users.FirstOrDefault(x => x.Id == item.UsuarioAppId).Email; // var _titbloc = _context.BlocoProjInvestimentos.Where(x => x.Id == item.BlocoProjInvestimentosId).FirstOrDefault().Titulo; // // instanciar objeto email // var _configAplicacoes = // _context.AppConfiguracoes_Aplicativo // .FirstOrDefault(); // var _objemail = new ObjetoEmailEnvio() // { // ASSUNTO = "[INVESTIMENTO] House2Invest", // COPIA = _configAplicacoes.mailToAdd, // mailFrom = _configAplicacoes.mailFrom, // MENSAGEM = string.Format($"Olá!!!{Environment.NewLine}<br/>O investimento <b>{_titbloc}</b> foi CANCELADO."), // PARA = _usuemail, // smtpCredentialsEmail = _configAplicacoes.smtpCredentialsEmail, // smtpCredentialsSenha = _configAplicacoes.smtpCredentialsSenha, // smtpEnableSsl = _configAplicacoes.smtpEnableSsl, // smtpHost = _configAplicacoes.smtpHost, // smtpPort = _configAplicacoes.smtpPort, // smtpUseDefaultCredentials = _configAplicacoes.smtpUseDefaultCredentials // }; // var _enviou = await VerificadoresRetornos.EnviarEmail(_objemail); // } //} } catch (DbUpdateConcurrencyException) { if (!BlocoProjInvestimentoExists(BlocoProjInvestimento.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); var _erroValid = false; try { if (!Input.Termos) { ModelState.AddModelError(string.Empty, "Leia e Aceite os Termos de Uso antes de prosseguir"); _erroValid = true; } if (string.IsNullOrEmpty(Input.Email)) { ModelState.AddModelError(string.Empty, "Preencha o campo EMAIL"); _erroValid = true; } if (string.IsNullOrEmpty(Input.Password)) { ModelState.AddModelError(string.Empty, "Preencha o campo SENHA"); _erroValid = true; } if (string.IsNullOrEmpty(Input.ConfirmPassword)) { ModelState.AddModelError(string.Empty, "Preencha o campo CONFIRME SUA SENHA"); _erroValid = true; } if (string.IsNullOrEmpty(Input.Nome)) { ModelState.AddModelError(string.Empty, "Preencha o campo NOME"); _erroValid = true; } if (string.IsNullOrEmpty(Input.Sobrenome)) { ModelState.AddModelError(string.Empty, "Preencha o campo SOBRENOME"); _erroValid = true; } if (Convert.ToDateTime(Input.Nascimento).Year == 0001) { ModelState.AddModelError(string.Empty, "Preencha o campo DATA DE NASCIMENTO"); _erroValid = true; } //if (Input.ImagemDocDigitalizado == null) //{ // ModelState.AddModelError(string.Empty, "Necessário o envio de um documento com sua foto"); // _erroValid = true; //} if (_erroValid) { return(Page()); } var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); //if (Input.ImagemDocDigitalizado != null) //{ // var _imagemLogotipo = // await VerificadoresRetornos // .EnviarImagemAzure(Input.ImagemDocDigitalizado, 502000, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); // if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) // { // Input.Sistema_URLFotoDoc = _imagemLogotipo; // } //} //if (Input.ImagemSelfie != null) //{ // var _imagemLogotipo = // await VerificadoresRetornos // .EnviarImagemAzure(Input.ImagemSelfie, 502000, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); // // if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) // { // Input.AvatarUsuario = _imagemLogotipo; // } //} var user = new UsuarioApp { AppConfiguracoesId = _context.AppConfiguracoes.FirstOrDefault().Id, Nome = Input.Nome, Sobrenome = Input.Sobrenome, Nascimento = Input.Nascimento, UserName = Input.Email, NormalizedUserName = Input.Email, Email = Input.Email, NormalizedEmail = Input.Email, EmailConfirmed = false, PasswordHash = Input.Password, SecurityStamp = string.Empty, AvatarUsuario = "/images/avatar-depois-da-linha.png", Sistema_FuncaoUsuario = "USUARIO", Bio = "Olá mundo", ContatoAutenticacao_Email = Input.Email, ContatoAutenticacao_EmailAlternativo = Input.ContatoAutenticacao_EmailAlternativo, ContatoAutenticacao_Fone = Input.Contato_FoneCelular, ContatoAutenticacao_FoneAlternativo = Input.Contato_FoneComercial, Contato_Bairro = Input.Contato_Bairro, Contato_CEP = Input.Contato_CEP, Contato_Cidade = Input.Contato_Cidade, Contato_Complemento = Input.Contato_Complemento, Contato_Escritorio = Input.Contato_Escritorio, Contato_Estado = Input.Contato_Estado, Contato_FoneCelular = Input.Contato_FoneCelular, Contato_FoneComercial = Input.Contato_FoneComercial, Contato_Logradouro = Input.Contato_Logradouro, Contato_Pais = "BRASIL", Contato_Website = Input.Contato_Website, Genero = Input.Genero, EstadoCivil = Input.EstadoCivil, ImagemFundoPerfil = "/images/fundo_padrao_perfil.png", Documentacao_CNPJ = Input.Documentacao_CNPJ, Documentacao_CPF = Input.Documentacao_CPF, Documentacao_RG = Input.Documentacao_RG, Documentacao_TPPessoa = Input.Documentacao_TPPessoa, Financeiro_Banco_Ag = "", Financeiro_Banco_CC = "", Financeiro_Banco_Nome = "", Sistema_AcessoBloqueado = true, //Sistema_DataDeclaracaoCienciaTermos = DateTime.Now, //Sistema_DeclaracaoCienciaTermos = Input.Termos, //Sistema_URLComprovanteResidencia = "", //Sistema_URLDeclaracaoResidencia = "", MidiasSociais_Facebook = "", MidiasSociais_GooglePlus = "", MidiasSociais_Instagram = "", MidiasSociais_Linkedin = "", MidiasSociais_Pinterest = "", MidiasSociais_Twitter = "", MidiasSociais_Youtube = "", PhoneNumber = Input.Contato_FoneCelular, PhoneNumberConfirmed = true, LockoutEnabled = false, Trabalho_Empresa = "NÃO INFORMADO", Trabalho_Cargo = "NÃO INFORMADO", Trabalho_Departamento = "NÃO INFORMADO", Trabalho_Gerente = "NÃO INFORMADO", TwoFactorEnabled = false, //Sistema_URLFotoDoc = Input.Sistema_URLFotoDoc, //Sistema_URLSelfieDoc = Input.Sistema_URLSelfieDoc, //Financeiro_Investidor_Perfil = Input.Financeiro_Investidor_Perfil }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { await _userManager.AddToRoleAsync(user, "USU"); _logger.LogInformation("Usuário criado."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { userId = user.Id, code }, protocol: Request.Scheme); var _enviou = await VerificadoresRetornos .EnviarEmail(user.Email, callbackUrl, "[CONFIRME SEU EMAIL] SmartSale", string.Format($"Olá!!!{Environment.NewLine}Falta pouco. Por favor, confirme o seu email clicando <a href='{HtmlEncoder.Default.Encode(callbackUrl)}' style='color:#000 !important;'>AQUI</a> e prove que vc não é um robô.")); // LOGCENTRAL _context.LOGCENTRALs.Add(new LOGCENTRAL() { ACAO = "ENVIO EMAIL - CONFIRME SEU EMAIL", INVEST_LancamentoId = 0, INVEST_ModeloDocId = 0, TP = "", URLDOC = "", VALOR = 0, STATUS = "", UsuarioAppId = user.Id }); await _context.SaveChangesAsync(); if (_enviou == "ok") { return(Redirect("/Identity/Account/RegisterAgradec?userId=" + user.Id + "&code=" + code)); } else { ModelState.AddModelError(string.Empty, _enviou); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } catch (Exception erro) { //ModelState.AddModelError(string.Empty, erro.Message); return(Redirect("/Identity/Account/RegisterAgradec?userId=3&code=1")); } return(Page()); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); var registro = _context .AppConfiguracoes_Aplicativo .Where(x => x.Id == AppConfiguracoes_Aplicativo.Id) .FirstOrDefault(); registro.Bairro = AppConfiguracoes_Aplicativo.Bairro; registro.Celular = AppConfiguracoes_Aplicativo.Celular; registro.CEP = AppConfiguracoes_Aplicativo.CEP; registro.Cidade = AppConfiguracoes_Aplicativo.Cidade; registro.Complemento = AppConfiguracoes_Aplicativo.Complemento; registro.CPFCNPJ = AppConfiguracoes_Aplicativo.CPFCNPJ; registro.EmailContato = AppConfiguracoes_Aplicativo.EmailContato; registro.EmailSuporte = AppConfiguracoes_Aplicativo.EmailSuporte; registro.EmailVendas = AppConfiguracoes_Aplicativo.EmailVendas; registro.Empresa = AppConfiguracoes_Aplicativo.Empresa; registro.Estado = AppConfiguracoes_Aplicativo.Estado; registro.Fone = AppConfiguracoes_Aplicativo.Fone; registro.FoneRecados = AppConfiguracoes_Aplicativo.FoneRecados; registro.Logradouro = AppConfiguracoes_Aplicativo.Logradouro; registro.mailFrom = AppConfiguracoes_Aplicativo.mailFrom; registro.mailToAdd = AppConfiguracoes_Aplicativo.mailToAdd; registro.smtpCredentialsEmail = AppConfiguracoes_Aplicativo.smtpCredentialsEmail; registro.smtpCredentialsSenha = AppConfiguracoes_Aplicativo.smtpCredentialsSenha; registro.smtpEnableSsl = AppConfiguracoes_Aplicativo.smtpEnableSsl; registro.smtpHost = AppConfiguracoes_Aplicativo.smtpHost; registro.smtpPort = AppConfiguracoes_Aplicativo.smtpPort; registro.smtpUseDefaultCredentials = AppConfiguracoes_Aplicativo.smtpUseDefaultCredentials; registro.dumpSQLHost = AppConfiguracoes_Aplicativo.dumpSQLHost; registro.dumpSQLUser = AppConfiguracoes_Aplicativo.dumpSQLUser; registro.dumpSQLPass = AppConfiguracoes_Aplicativo.dumpSQLPass; registro.temporizaLmiteMaximoOfertaSuspensa = AppConfiguracoes_Aplicativo.temporizaLmiteMaximoOfertaSuspensa; registro.temporizaLmiteMaximoRevogaInvestimento = AppConfiguracoes_Aplicativo.temporizaLmiteMaximoRevogaInvestimento; registro.temporizaLmiteMaximoCancelaInvestimento = AppConfiguracoes_Aplicativo.temporizaLmiteMaximoCancelaInvestimento; if (AppConfiguracoes_Aplicativo.App_ImagemLogo != null) { var _imagemLogotipo = await VerificadoresRetornos .EnviarImagemAzure(AppConfiguracoes_Aplicativo.App_ImagemLogo, 307200, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) { registro.LogotipoEmpresa = _imagemLogotipo; } //AppConfiguracoes_Aplicativo.LogotipoEmpresa = _imagemLogotipo; } _context.Attach(registro).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AppConfiguracoes_AplicativoExists(AppConfiguracoes_Aplicativo.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); var _errosValidacoes = false; if (modelo.ArquivoComprovTransf != null) { var _imagemLogotipo = await VerificadoresRetornos .EnviarImagemAzure(modelo.ArquivoComprovTransf, 614200, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) { modelo.URLComprovTransf = _imagemLogotipo; } else { ModelState.AddModelError(string.Empty, "A imagem é muito grande"); _errosValidacoes = true; } } else { ModelState.AddModelError(string.Empty, "Selecione uma imagem do seu computador"); _errosValidacoes = true; } //if (modelo.ArquivoPerfilInvestidor != null) //{ // var _imagemLogotipo = // await VerificadoresRetornos // .EnviarImagemAzure(modelo.ArquivoPerfilInvestidor, 614200, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); // if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) // modelo.URLPerfilInvest = _imagemLogotipo; // else // { // ModelState.AddModelError(string.Empty, "A imagem é muito grande"); // _errosValidacoes = true; // } //} //else //{ // ModelState.AddModelError(string.Empty, "Selecione uma imagem do seu computador"); // _errosValidacoes = true; //} //if (Convert.ToDouble(BlocoProjInvestimento.LanceMinimo) > Convert.ToDouble(BlocoProjInvestimento.Valor)) //{ // ModelState.AddModelError(string.Empty, "O Lance mínimo deve ser INFERIOR ao VALOR TOTAL DO INVESTIMENTO"); // _errosValidacoes = true; //} //if (VerificadoresRetornos.ConverteStringParaDateTime(BlocoProjInvestimento.Contador_DataFinal) < DateTime.Now) //{ // ModelState.AddModelError(string.Empty, "A data limite do contador deve ser SUPERIOR a data de hoje"); // _errosValidacoes = true; //} //if (Convert.ToDouble(BlocoProjInvestimento.Valor) <= 0) //{ // ModelState.AddModelError(string.Empty, "Necessário: VALOR TOTAL DO INVESTIMENTO"); // _errosValidacoes = true; //} //if (Convert.ToDouble(BlocoProjInvestimento.LanceMinimo) <= 0) //{ // ModelState.AddModelError(string.Empty, "Necessário: VALOR LANCE MÍNIMO"); // _errosValidacoes = true; //} if (_errosValidacoes) { modelo.URLComprovTransf = @"/temas/dpslintm1/assets/images/sem-imagem-modelo-projetos.png"; modelo.URLPerfilInvest = @"/temas/dpslintm1/assets/images/sem-imagem-modelo-projetos.png"; return(Page()); } _context.INVEST_LancamentoImagens.Add(modelo); await _context.SaveChangesAsync(); //var _enviou = // await VerificadoresRetornos // .EnviarEmail(_usuario.Email, "", "[INVESTIMENTO] House2Invest", string.Format($"Olá!!!{Environment.NewLine}<br/>Você fez um investimento de <b>{_valormoeda.ToString("C2")}</b> em <b>{_context.BlocoProjInvestimentos.Where(x => x.Id == Convert.ToInt32(_id)).FirstOrDefault().Titulo}</b>.")); var _Lancamento = _context.INVEST_Lancamentos .Include(x => x.UsuarioApp) .Include(x => x.BlocoProjInvestimentos) .Where(x => x.Id == modelo.INVEST_LancamentoId) .FirstOrDefault(); modelo.INVEST_Lancamento = _Lancamento; var ip = _accessor.HttpContext?.Connection?.RemoteIpAddress?.ToString(); var _ips = new string[] { ip, "value2" }; //// LOGCENTRAL await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-image text-success'></i>", MENSAGEM = $"O usuário <b>{_Lancamento.UsuarioApp.Nome} {_Lancamento.UsuarioApp.Sobrenome}</b> <b style='color:green;'>ENVIOU</b> os comprovantes digitalizados para a reserva de <b>{_Lancamento.Valor.ToString("C2")}</b> na oferta <b>{_Lancamento.BlocoProjInvestimentos.Titulo}</b>.", ACAO = $"ENVIO DE IMAGEM (TED)", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "ENVIADO", TIPO = "CONFIRMAÇÕES", UsuarioAppId = _Lancamento.UsuarioAppId, VALOR = _Lancamento.Valor, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); //_context.LOGCENTRALs.Add(new LOGCENTRAL() //{ // ACAO = "INVESTIMENTO - ENVIO DA IMAGEM (TED)", // INVEST_LancamentoId = modelo.INVEST_Lancamento.Id, // INVEST_ModeloDocId = modelo.INVEST_Lancamento.Id, // TP = modelo.INVEST_Lancamento.TP, // URLDOC = "", // VALOR = modelo.INVEST_Lancamento.Valor, // STATUS = modelo.INVEST_Lancamento.Status, // UsuarioAppId = modelo.INVEST_Lancamento.UsuarioAppId, // IP = _ips.FirstOrDefault() //}); //await _context.SaveChangesAsync(); // USU LOGADO var _usu = _context.Users .Where(x => x.UserName == User.Identity.Name) .FirstOrDefault(); // LANCAMENTO EM QUESTÃO var _lanca = _context.INVEST_Lancamentos .Include(x => x.BlocoProjInvestimentos) .Where(x => x.Id == modelo.INVEST_LancamentoId) .FirstOrDefault(); //-------------------------------- // APLICACAO PADRAO //-------------------------------- var _configAplicacoes = _context.AppConfiguracoes_Aplicativo .FirstOrDefault(); // instanciar objeto email var _objemail = new ObjetoEmailEnvio() { ASSUNTO = "[INVESTIMENTO] House2Invest", COPIA = _configAplicacoes.mailToAdd, mailFrom = _configAplicacoes.mailFrom, MENSAGEM = string.Format($"Olá!!!{Environment.NewLine}<br/>A documentação referente a aprovação do investimento <b>" + _lanca.BlocoProjInvestimentos.Titulo + "</b> foi ENVIADA COM SUCESSO. Estamos analisando sua documentação."), PARA = _usu.Email, smtpCredentialsEmail = _configAplicacoes.smtpCredentialsEmail, smtpCredentialsSenha = _configAplicacoes.smtpCredentialsSenha, smtpEnableSsl = _configAplicacoes.smtpEnableSsl, smtpHost = _configAplicacoes.smtpHost, smtpPort = _configAplicacoes.smtpPort, smtpUseDefaultCredentials = _configAplicacoes.smtpUseDefaultCredentials }; var _enviou = await VerificadoresRetornos.EnviarEmail(_objemail); return(RedirectToPage("./Index")); }
public async Task Correio() { try { var _dadosform = Request.Form; var _de = _dadosform["de"]; var _para = _dadosform["para"]; //var _paracnxid = _dadosform["cnxpara"]; //var _decnxid = _dadosform["cnxde"]; var _mens = _dadosform["mens"]; //var _de = _dadosform["de"]; //COM VISITANTE //var _de = User.Identity.IsAuthenticated ? User.Identity.Name.Replace("@", "").Replace(".", "") : "visitante"; //var _de = User.Identity.Name.Replace("@", "").Replace(".", ""); //var _email_de = _dadosform["emailde"]; //var _avatar_de = _dadosform["avatarde"]; //var _decnxid = _dadosform["cnxde"]; //var _canal = _dadosform["canal"]; //------------ // SIGNALR //------------ //await _hubNotificacoes.Clients.Client(_canal).SendAsync("enviarmens", _de, _para, _mens); //await _hubNotificacoes // .Clients // .Client(_paracnxid) // .SendAsync("enviarmens", _de, _para, _mens); var _usulogado = await _context.Users .FirstOrDefaultAsync(x => x.Email == User.Identity.Name); //------------ // SALVA TUDO //------------ var _pegaCNXID = _context.tblUsuSalaVIPs .Where(x => x.UsuarioAppId == _usulogado.Id) .OrderByDescending(x => x.DTHR) .FirstOrDefault(); var _pegaCNXID_PARA = _context.tblUsuSalaVIPs .Where(x => x.UsuarioAppId == _para) .OrderByDescending(x => x.DTHR) .FirstOrDefault(); //if (_pegaCNXID != null) //{ // if (_pegaCNXID.Status == "ENTROU") // _paracnxid = _pegaCNXID.CnxId; //} //if (_pegaCNXID_PARA != null) //{ // if (_pegaCNXID_PARA.Status == "ENTROU") // _paracnxid = _pegaCNXID.CnxId; //} // LOG NO BANCO var _novamens = new tblHubConversa() { De = _de, DeCnxId = _pegaCNXID != null ? (_pegaCNXID.Status == "ENTROU" ? _pegaCNXID.CnxId : "") : "", Para = _para, ParaCnxId = _pegaCNXID_PARA != null ? (_pegaCNXID_PARA.Status == "ENTROU" ? _pegaCNXID_PARA.CnxId : "") : "", Mensagem = _mens, Lida = false }; _context.tblHubConversas.Add(_novamens); await _context.SaveChangesAsync(); //await _hubNotificacoes // .Clients.All // .SendAsync("enviarmens", _novamens.DeCnxId, _de, _para, _mens); var conteudotraduzido = await VerificadoresRetornos.TranslateText(_mens, "en|pt-br"); await _hubMensagens .Clients .Client(_novamens.ParaCnxId) .SendAsync("correio", _de, _para, conteudotraduzido, _novamens.DeCnxId, _novamens.ParaCnxId); } catch (System.Exception) { //return new { mens = "Não foi possível concluir sua solicitação." }; } //await _hubContext.Clients.All.SendAsync("Notify", $"Página carregada"); //return new { mens = "ok" }; }
public async Task <IActionResult> OnGetAsync(string userId, string code) { var ip = _accessor.HttpContext?.Connection?.RemoteIpAddress?.ToString(); var _ips = new string[] { ip, "value2" }; if (userId == null || code == null) { return(Redirect("/")); } var user = await _userManager.FindByIdAsync(userId); if (user == null) { await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-times text-danger'></i>", MENSAGEM = $"<img src='/images/sem-imagem.png' style='border-radius:100%;max-width:100%;height:24px;margin-right:5px;'/> <b>{userId}</b> usando o código <b>{code}</b> <b style='color:red;'>FALHOU</b> ao <b style='color:red;'>CONFIRMAR O EMAIL</b> na plataforma.", ACAO = $"CONFIRMAÇÃO DO EMAIL", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "FALHA", TIPO = "ACESSO A PLATAFORMA", UsuarioAppId = userId, VALOR = 0, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); return(NotFound()); } var result = await _userManager.ConfirmEmailAsync(user, code); if (!result.Succeeded) { await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-times text-danger'></i>", MENSAGEM = $"<img src='{user.AvatarUsuario}' style='border-radius:100%;max-width:100%;height:24px;margin-right:5px;'/> <b>{user.Nome} {user.Sobrenome}</b> usando o email <b>{user.Email}</b> <b style='color:red;'>FALHOU</b> ao <b style='color:red;'>CONFIRMAR O EMAIL</b> na plataforma.", ACAO = $"CONFIRMAÇÃO DO EMAIL", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "FALHA", TIPO = "ACESSO A PLATAFORMA", UsuarioAppId = userId, VALOR = 0, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); return(NotFound()); //throw new InvalidOperationException($"Error confirming email for user with ID '{userId}':"); } await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-check-circle text-success'></i>", MENSAGEM = $"<img src='{user.AvatarUsuario}' style='border-radius:100%;max-width:100%;height:24px;margin-right:5px;'/> <b>{user.Nome} {user.Sobrenome}</b> usando o email <b>{user.Email}</b> <b style='color:green;'>OBTEVE ÊXITO</b> em <b style='color:green;'>CONFIRMAR O EMAIL</b> na plataforma.", ACAO = $"REGISTRO", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "SUCESSO", TIPO = "ACESSO A PLATAFORMA", UsuarioAppId = user.Id, VALOR = 0, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); //// LOGCENTRAL //_context.LOGCENTRALs.Add(new LOGCENTRAL() //{ // ACAO = "ENVIO EMAIL - EMAIL CONFIRMADO", // INVEST_LancamentoId = 0, // INVEST_ModeloDocId = 0, // TP = "", // URLDOC = "", // VALOR = 0, // STATUS = "", // UsuarioAppId = user.Id, // IP = _ips.FirstOrDefault() //}); //await _context.SaveChangesAsync(); return(Page()); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { var ip = _accessor.HttpContext?.Connection?.RemoteIpAddress?.ToString(); var _ips = new string[] { ip, "value2" }; returnUrl = returnUrl ?? Url.Content("~/"); if (ModelState.IsValid) { var resultadoLogin = await _signInManager .PasswordSignInAsync(Input.Email, Input.Password, false, true); // FLAG ERROS DE LOGIN EM VALIDACOES var _permitoLogin = true; if (resultadoLogin.Succeeded) { try { var _usu = _context.Users .Where(x => x.UserName.ToLower().Trim() == Input.Email.ToLower().Trim()) .FirstOrDefault(); if (_usu != null) { //***************************************************** // EMAIL CONFIRMADO? //***************************************************** if (!_usu.EmailConfirmed) { await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-exclamation-circle text-warning'></i>", MENSAGEM = $"O usuário com o email <b>{_usu.Email}</b> teve o <b>ACESSO NEGADO</b> a plataforma.<br> Motivo: <b style='color:red;'>EMAIL NÃO CONFIRMADO</b>. <br><i style='color:red;'>Clique <a href='/CMSUsuarios/Edit?id={_usu.Id}'>AQUI</a> para acessar a conta deste usuário.</i>", ACAO = $"BLOQUEIO", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "EMAIL NÃO CONFIRMADO", TIPO = "ACESSO A PLATAFORMA", UsuarioAppId = _usu.Id, VALOR = 0, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); ModelState.AddModelError(string.Empty, "Email ainda não foi confirmado."); _permitoLogin = false; } //***************************************************** // ACESSO BLOQUEADO? //***************************************************** if (_usu.Sistema_AcessoBloqueado) { await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-exclamation-circle text-warning'></i>", MENSAGEM = $"O usuário <b>{_usu.Email}</b> teve o <b>ACESSO NEGADO</b> a plataforma.<br> Motivo: <b style='color:red;'>ACESSO BLOQUEADO</b>. <br><i style='color:red;'>Clique <a href='/CMSUsuarios/Edit?id={_usu.Id}'>AQUI</a> para acessar a conta deste usuário.</i>", ACAO = $"BLOQUEIO", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "AVALIAÇÃO DE FICHA PENDENTE", TIPO = "ACESSO A PLATAFORMA", UsuarioAppId = _usu.Id, VALOR = 0, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); ModelState.AddModelError(string.Empty, "Estamos analisando as informações da sua conta. Logo menos, entramos em contato. Obrigado pela paciência."); _permitoLogin = false; } } //********************************************************** // ERRO DESCONHECIDO. NÃO CONSEGUI INSTANCIAR O OBJETO _usu //********************************************************** else { ModelState.AddModelError(string.Empty, "Não podemos verificar o seu login neste momento. Por favor, tente novamente mais tarde. Sentimos pelo ocorrido."); } if (!_permitoLogin) { await _signInManager.SignOutAsync(); } else { await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-sign-in-alt text-success'></i>", MENSAGEM = $"<img src='{_usu.AvatarUsuario}' style='border-radius:100%;max-width:100%;height:24px;margin-right:5px;'/> <b>{_usu.Nome} {_usu.Sobrenome}</b> usando o email <b>{_usu.Email}</b> fez <b style='color:darkgreen;'>LOGIN</b> na plataforma.", ACAO = $"LOGIN", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "SUCESSO", TIPO = "ACESSO A PLATAFORMA", UsuarioAppId = _usu.Id, VALOR = 0, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); return(LocalRedirect(returnUrl)); } } catch (Exception _err) { var erro = _err; } } //***************************************************** // DADOS INVÁLIDOS DE LOGIN. EMAIL E/OU SENHA INVÁLIDOS //***************************************************** else { var _usu = new UsuarioApp(); try { _usu = _context.Users.Where(x => x.UserName == Input.Email).FirstOrDefault(); } catch (Exception) { } await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-user-shield text-danger'></i>", MENSAGEM = $"Tentativa de login com o email <b>{Input.Email}</b>, recebeu como resposta <b>ACESSO NEGADO</b>.<br> <b style='color:red;'>Motivo: DADOS DE LOGIN INVÁLIDOS.</b><br>TOT. LOCKOUT: <b style='color:purple;'>{(_usu != null ? _usu.AccessFailedCount.ToString() : "?")}</b>", ACAO = $"LOGIN", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "ACESSO NEGADO", TIPO = "ACESSO A PLATAFORMA", UsuarioAppId = _usu != null ? _usu.Id : "b1aadecb-4357-457d-bfea-27e153505497", VALOR = 0, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); ModelState.AddModelError(string.Empty, "Dados inválidos de login. Verifique com atenção o campo USUÁRIO OU EMAIL e o campo SENHA."); if (_usu != null) { if (_usu.AccessFailedCount > 3) { ModelState.AddModelError(string.Empty, "Não conseguimos validar suas credenciais em nosso servidor. Entre em contato com a House2Invest e informe este problema."); try { await _signInManager.UserManager.SetLockoutEnabledAsync(_usu, true); } catch (Exception) { } try { await _signInManager.SignOutAsync(); } catch (Exception) { } try { _usu.LockoutEnabled = true; _usu.Sistema_AcessoBloqueado = true; _usu.AccessFailedCount = 0; _usu.LockoutEnd = null; _context.Attach(_usu).State = EntityState.Modified; await _context.SaveChangesAsync(); await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-user-lock text-warning'></i>", MENSAGEM = $"O usuário <img src='{_usu.AvatarUsuario}' style='border-radius:100%;max-width:100%;height:24px;margin-right:5px;' /> <b>{_usu.Nome} {_usu.Sobrenome}</b> email <b>{_usu.Email}</b>, recebeu <b style='color:red;'>LOCKOUT</b> em sua conta.<br> <b style='color:red;'>Motivo: SUCESSIVAS TENTATIVAS DE LOGIN INVÁLIDAS.</b><br>TOT. LOCKOUT: <b style='color:purple;'>{(_usu != null ? _usu.AccessFailedCount.ToString() : "?")}</b>", ACAO = $"ATIVADO", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "LOCKOUT NA CONTA", TIPO = "ACESSO A PLATAFORMA", UsuarioAppId = _usu != null ? _usu.Id : "b1aadecb-4357-457d-bfea-27e153505497", VALOR = 0, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); } catch (Exception) { } return(Page()); } } } } //***************************************** // DADOS INVÁLIDOS DE LOGIN. FALTAM CAMPOS //***************************************** else { ModelState.AddModelError(string.Empty, "Por favor, informe o email e a senha da sua conta antes de prosseguir."); } return(Page()); //if (ModelState.IsValid) //{ // var _usu = // _context.Users // .Where(x => x.UserName.ToLower().Trim() == Input.Email.ToLower().Trim()) // .FirstOrDefault(); // try // { // if (_usu.AccessFailedCount > 3) // { // //await _signInManager.UserManager.SetLockoutEnabledAsync(_usu, true); // _usu.LockoutEnabled = true; // _usu.Sistema_AcessoBloqueado = true; // _context.Attach(_usu).State = EntityState.Modified; // await _context.SaveChangesAsync(); // await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() // { // ICOMENS = "<i class='fas fa-user-lock text-danger'></i>", // MENSAGEM = $"O USUÁRIO <i>{_usu.Email}</i> TEVE O ACESSO BLOQUEADO A PLATAFORMA. MOTIVO: <b style='color:red;'>5 TENTATIVAS INVÁLIDAS DE ACESSO EM UM CURTO ESPAÇO DE TEMPO</b>. <br><i style='color:red;'>Clique <a href='/CMSUsuarios/Edit?id={_usu.Id}'>AQUI</a> para acessar a conta deste usuário.</i>", // ACAO = $"LOCKOUT", // DTHR = DateTime.Now, // IP = _ips.FirstOrDefault(), // STATUS = "BLOQUEADO", // TIPO = "ACESSO A PLATAFORMA", // UsuarioAppId = _usu.Id, // VALOR = 0, // UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" // }, _context); // //_context.LOGCENTRALs.Add(new LOGCENTRAL() // //{ // // ACAO = "ENTRADA NO SISTEMA", // // INVEST_LancamentoId = 0, // // INVEST_ModeloDocId = 0, // // TP = "LOCKOUT", // // URLDOC = "", // // VALOR = 0, // // STATUS = "ATIVADO", // // UsuarioAppId = _usu.Id, // // IP = _ips.FirstOrDefault() // //}); // //await _context.SaveChangesAsync(); // ModelState.AddModelError(string.Empty, "Não conseguimos validar suas credenciais em nosso servidor. Entre em contato com a House2Invest e informe este problema."); // try { await _signInManager.SignOutAsync(); } catch (System.Exception) { } // return Page(); // } // } // catch (Exception err) // { // var erro = err; // await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() // { // ICOMENS = "<i class='fas fa-bug text-danger'></i>", // MENSAGEM = $"{erro.Message}<br><code>{erro.StackTrace}</code>", // ACAO = $"ERRO", // DTHR = DateTime.Now, // IP = _ips.FirstOrDefault(), // STATUS = "ERRO INTERNO", // TIPO = "ACESSO A PLATAFORMA", // UsuarioAppId = _usu.Id, // VALOR = 0, // UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" // }, _context); // return Page(); // } // //-------------------------------- // // LOGCENTRAL // //-------------------------------- // var result = await _signInManager.PasswordSignInAsync(Input.Email, Input.Password, false, true); // if (result.Succeeded) // { // //var _usu = _context.Users.Where(x => x.UserName.ToLower().Trim() == Input.Email.ToLower().Trim()).FirstOrDefault(); // if (_usu != null) // { // //if (_usu.AccessFailedCount > 3) // //{ // // await _signInManager.UserManager.SetLockoutEnabledAsync(_usu, true); // // ModelState.AddModelError(string.Empty, "Não conseguimos validar suas credenciais em nosso servidor. Entre em contato com a House2Invest e informe este problema."); // // try { await _signInManager.SignOutAsync(); } catch (System.Exception) { } // // return Page(); // //} // if (!_usu.EmailConfirmed) // { // await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() // { // ICOMENS = "<i class='fas fa-sign-in-alt text-danger'></i>", // MENSAGEM = $"O USUÁRIO <i>{_usu.Email}</i> TEVE O ACESSO NEGADO A PLATAFORMA. MOTIVO: <b style='color:red;'>EMAIL AINDA NÃO CONFIRMADO</b>. <br><i style='color:red;'>Clique <a href='/CMSUsuarios/Edit?id={_usu.Id}'>AQUI</a> para acessar a conta deste usuário.</i>", // ACAO = $"BLOQUEIO", // DTHR = DateTime.Now, // IP = _ips.FirstOrDefault(), // STATUS = "EMAIL NÃO CONFIRMADO", // TIPO = "ACESSO A PLATAFORMA", // UsuarioAppId = _usu.Id, // VALOR = 0, // UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" // }, _context); // ModelState.AddModelError(string.Empty, "Email ainda não foi confirmado."); // //_context.LOGCENTRALs.Add(new LOGCENTRAL() // //{ // // ACAO = "ENTRADA NO SISTEMA", // // INVEST_LancamentoId = 0, // // INVEST_ModeloDocId = 0, // // TP = "LOGIN", // // URLDOC = "", // // VALOR = 0, // // STATUS = "EMAIL NÃO CONFIRMADO", // // UsuarioAppId = _usu.Id, // // IP = _ips.FirstOrDefault() // //}); // //await _context.SaveChangesAsync(); // try { await _signInManager.SignOutAsync(); } catch (System.Exception) { } // return Page(); // } // if (_usu.Sistema_AcessoBloqueado) // { // await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() // { // ICOMENS = "<i class='fas fa-sign-in-alt text-danger'></i>", // MENSAGEM = $"O USUÁRIO <i>{_usu.Email}</i> TEVE O ACESSO NEGADO A PLATAFORMA. MOTIVO: <b style='color:red;'>ACESSO BLOQUEADO</b>. <br><i style='color:red;'>Clique <a href='/CMSUsuarios/Edit?id={_usu.Id}'>AQUI</a> para acessar a conta deste usuário.</i>", // ACAO = $"BLOQUEIO", // DTHR = DateTime.Now, // IP = _ips.FirstOrDefault(), // STATUS = "AVALIAÇÃO DE FICHA PENDENTE", // TIPO = "ACESSO A PLATAFORMA", // UsuarioAppId = _usu.Id, // VALOR = 0, // UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" // }, _context); // ModelState.AddModelError(string.Empty, "Estamos analisando as informações da sua conta. Logo menos, entramos em contato. Obrigado pela paciência."); // //_context.LOGCENTRALs.Add(new LOGCENTRAL() // //{ // // ACAO = "ENTRADA NO SISTEMA", // // INVEST_LancamentoId = 0, // // INVEST_ModeloDocId = 0, // // TP = "LOGIN", // // URLDOC = "", // // VALOR = 0, // // STATUS = "ACESSO BLOQUEADO", // // UsuarioAppId = _usu.Id, // // IP = _ips.FirstOrDefault() // //}); // //await _context.SaveChangesAsync(); // try { await _signInManager.SignOutAsync(); } catch (System.Exception) { } // return Page(); // } // } // _logger.LogInformation("User logged in."); // await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() // { // ICOMENS = "<i class='fas fa-sign-in-alt text-success'></i>", // MENSAGEM = $"<b>{_usu.Email}</b> <i>FEZ LOGIN</i> NA PLATAFORMA.", // ACAO = $"LOGIN", // DTHR = DateTime.Now, // IP = _ips.FirstOrDefault(), // STATUS = "SUCESSO", // TIPO = "ACESSO A PLATAFORMA", // UsuarioAppId = _usu.Id, // VALOR = 0, // UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" // }, _context); // try // { // ////-------------------------------- // //// LOGCENTRAL // ////-------------------------------- // //_context.LOGCENTRALs.Add(new LOGCENTRAL() // //{ // // ACAO = "ACESSO A PLATAFORMA", // // INVEST_LancamentoId = 0, // // INVEST_ModeloDocId = 0, // // TP = "LOGIN", // // URLDOC = "", // // VALOR = 0, // // STATUS = "SUCESSO", // // UsuarioAppId = _usu.Id, // // IP = _ips.FirstOrDefault() // //}); // //await _context.SaveChangesAsync(); // } // catch (System.Exception) { } // return LocalRedirect(returnUrl); // } // if (result.RequiresTwoFactor) // { // return RedirectToPage("./LoginWith2fa", new { ReturnUrl = returnUrl, Input.RememberMe }); // } // //if (result.IsLockedOut) // //{ // // ModelState.AddModelError(string.Empty, "Não conseguimos validar suas credenciais em nosso servidor. Entre em contato com a House2Invest e informe este problema."); // // _context.LOGCENTRALs.Add(new LOGCENTRAL() // // { // // ACAO = "ENTRADA NO SISTEMA", // // INVEST_LancamentoId = 0, // // INVEST_ModeloDocId = 0, // // TP = "LOGIN", // // URLDOC = "", // // VALOR = 0, // // STATUS = "LOCKOUT", // // UsuarioAppId = _usu.Id, // // IP = _ips.FirstOrDefault() // // }); // // await _context.SaveChangesAsync(); // // try { await _signInManager.SignOutAsync(); } catch (System.Exception) { } // // return RedirectToPage("./Lockout"); // // //_logger.LogWarning("User account locked out."); // // //return RedirectToPage("./Lockout"); // //} // //else // //{ // await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() // { // ICOMENS = "<i class='fas fa-sign-in-alt text-danger'></i>", // MENSAGEM = $"O USUÁRIO <i>{_usu.Email}</i> TEVE ACESSO NEGADO A PLATAFORMA. MOTIVO: Dados de login inválidos.", // ACAO = $"LOGIN", // DTHR = DateTime.Now, // IP = _ips.FirstOrDefault(), // STATUS = "ACESSO NEGADO", // TIPO = "ACESSO A PLATAFORMA", // UsuarioAppId = _usu.Id, // VALOR = 0, // UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" // }, _context); // ModelState.AddModelError(string.Empty, "Dados de login inválidos."); // return Page(); // //} //} //return Page(); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); var _erroValid = false; var ip = _accessor.HttpContext?.Connection?.RemoteIpAddress?.ToString(); var _ips = new string[] { ip, "value2" }; try { if (!Input.Termos) { ModelState.AddModelError(string.Empty, "Leia e Aceite os Termos de Uso antes de prosseguir"); _erroValid = true; } if (string.IsNullOrEmpty(Input.Email)) { ModelState.AddModelError(string.Empty, "Preencha o campo EMAIL"); _erroValid = true; } if (string.IsNullOrEmpty(Input.Password)) { ModelState.AddModelError(string.Empty, "Preencha o campo SENHA"); _erroValid = true; } if (string.IsNullOrEmpty(Input.ConfirmPassword)) { ModelState.AddModelError(string.Empty, "Preencha o campo CONFIRME SUA SENHA"); _erroValid = true; } if (string.IsNullOrEmpty(Input.Nome)) { ModelState.AddModelError(string.Empty, "Preencha o campo NOME"); _erroValid = true; } if (string.IsNullOrEmpty(Input.Sobrenome)) { ModelState.AddModelError(string.Empty, "Preencha o campo SOBRENOME"); _erroValid = true; } if (Convert.ToDateTime(Input.Nascimento).Year == 0001) { ModelState.AddModelError(string.Empty, "Preencha o campo DATA DE NASCIMENTO"); _erroValid = true; } //if (Input.ImagemDocDigitalizado == null) //{ // ModelState.AddModelError(string.Empty, "Necessário o envio de um documento com sua foto"); // _erroValid = true; //} if (Input.ImagemSelfie == null) { ModelState.AddModelError(string.Empty, "Necessário o envio de uma foto sua"); _erroValid = true; } //if (Input.ImagemComprovanteResidencia == null) //{ // ModelState.AddModelError(string.Empty, "Necessário o envio de um comprovante de residência"); // _erroValid = true; //} if (Input.Password != Input.ConfirmPassword) { ModelState.AddModelError(string.Empty, "A nova senha e a sua confirmação não conferem. Digite novamente"); _erroValid = true; } if (_erroValid) { return(Page()); } var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); //if (Input.ImagemDocDigitalizado != null) //{ // var _imagemLogotipo = // await VerificadoresRetornos // .EnviarImagemAzure(Input.ImagemDocDigitalizado, 502000, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); // if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) // { // Input.Sistema_URLFotoDoc = _imagemLogotipo; // } //} if (Input.ImagemSelfie != null) { var _imagemLogotipo = await VerificadoresRetornos .EnviarImagemAzure(Input.ImagemSelfie, 502000, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) { Input.Sistema_URLSelfieDocVERSO = _imagemLogotipo; } } //if (Input.ImagemComprovanteResidencia != null) //{ // var _imagemLogotipo = // await VerificadoresRetornos // .EnviarImagemAzure(Input.ImagemComprovanteResidencia, 502000, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); // if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) // { // Input.Sistema_URLComprovanteResidencia = _imagemLogotipo; // } //} var user = new UsuarioApp { AppConfiguracoesId = _context.AppConfiguracoes.FirstOrDefault().Id, Nome = Input.Nome, Sobrenome = Input.Sobrenome, Nascimento = Input.Nascimento, UserName = Input.Email, NormalizedUserName = Input.Email, Email = Input.Email, NormalizedEmail = Input.Email, EmailConfirmed = false, PasswordHash = Input.Password, SecurityStamp = string.Empty, AvatarUsuario = Input.Sistema_URLSelfieDocVERSO, Sistema_FuncaoUsuario = "USUARIO", Bio = "Olá mundo", ContatoAutenticacao_Email = Input.Email, ContatoAutenticacao_EmailAlternativo = Input.ContatoAutenticacao_EmailAlternativo, ContatoAutenticacao_Fone = Input.Contato_FoneCelular, ContatoAutenticacao_FoneAlternativo = Input.Contato_FoneComercial, Contato_Bairro = Input.Contato_Bairro, Contato_CEP = Input.Contato_CEP, Contato_Cidade = Input.Contato_Cidade, Contato_Complemento = Input.Contato_Complemento, Contato_Escritorio = Input.Contato_Escritorio, Contato_Estado = Input.Contato_Estado, Contato_FoneCelular = Input.Contato_FoneCelular, Contato_FoneComercial = Input.Contato_FoneComercial, Contato_Logradouro = Input.Contato_Logradouro, Contato_LogradouroNum = Input.Contato_LogradouroNum, Contato_Pais = "BRASIL", Contato_Website = Input.Contato_Website, Genero = Input.Genero, EstadoCivil = Input.EstadoCivil, ImagemFundoPerfil = "/images/fundo_padrao_perfil.png", Documentacao_CNPJ = Input.Documentacao_CNPJ, Documentacao_CPF = Input.Documentacao_CPF, Documentacao_RG = Input.Documentacao_RG, Documentacao_TPPessoa = Input.Documentacao_TPPessoa, Financeiro_Banco_Ag = string.IsNullOrEmpty(Input.Financeiro_Banco_Ag) ? "" : Input.Financeiro_Banco_Ag, Financeiro_Banco_CC = string.IsNullOrEmpty(Input.Financeiro_Banco_CC) ? "" : Input.Financeiro_Banco_CC, Financeiro_Banco_Nome = string.IsNullOrEmpty(Input.Financeiro_Banco_Nome) ? "" : Input.Financeiro_Banco_Nome, Sistema_AcessoBloqueado = true, Sistema_DataDeclaracaoCienciaTermos = DateTime.Now, Sistema_DeclaracaoCienciaTermos = Input.Termos, Sistema_URLComprovanteResidencia = Input.Sistema_URLComprovanteResidencia, Sistema_URLSelfieDocFRENTE = "", MidiasSociais_Facebook = "", MidiasSociais_GooglePlus = "", MidiasSociais_Instagram = "", MidiasSociais_Linkedin = "", MidiasSociais_Pinterest = "", MidiasSociais_Twitter = "", MidiasSociais_Youtube = "", PhoneNumber = Input.Contato_FoneCelular, PhoneNumberConfirmed = true, LockoutEnabled = false, Trabalho_Empresa = "NÃO INFORMADO", Trabalho_Cargo = "NÃO INFORMADO", Trabalho_Profissao = "NÃO INFORMADO", TwoFactorEnabled = false, Sistema_URLFotoDoc = Input.Sistema_URLFotoDoc, Sistema_URLSelfieDocVERSO = Input.Sistema_URLSelfieDocVERSO, Financeiro_Investidor_Perfil = Input.Financeiro_Investidor_Perfil, Sistema_DeclaracaoPessoaExposta = Input.Sistema_DeclaracaoPessoaExposta, Sistema_NaoAparecerListaProjetos = Input.Sistema_NaoAparecerListaProjetos }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { await _userManager.AddToRoleAsync(user, "USU"); _logger.LogInformation("Usuário criado."); //------------------------------------ // LOGCENTRAL //------------------------------------ await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-user-plus text-warning'></i>", MENSAGEM = $"<img src='{user.AvatarUsuario}' style='border-radius:100%;max-width:100%;height:24px;margin-right:5px;'/> <b>{user.Nome} {user.Sobrenome}</b>,<br> com o email <b>{user.Email}</b><br> <b style='color:green;'>CRIOU UMA CONTA</b> na plataforma.", ACAO = $"REGISTRO", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "PENDENTE", TIPO = "ACESSO A PLATAFORMA", UsuarioAppId = user.Id, VALOR = 0, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { userId = user.Id, code }, protocol: Request.Scheme); //var _conteudohtml = "<div style='font-size:20px;line-height:30px;'>"; var _conteudohtml = "<div style='line-height: 16px;'>"; _conteudohtml += $"Bem-vindo <b>{user.Nome} {user.Sobrenome}</b>,<br>"; _conteudohtml += $"Recebemos sua solicitação para cadastro na HOUSE2INVEST.<br>"; _conteudohtml += $"Para acessar a plataforma de investimentos da HOUSE2INVEST, você deve ativar o seu cadastro. Para isso, utilize o link abaixo e confirme os dados que você informou:<br>"; _conteudohtml += $"USUÁRIO: <b>{user.Email}</b> com o CPF: <b>{user.Documentacao_CPF}</b><br><br>"; _conteudohtml += $"Clique <a href='{callbackUrl}'>aqui</a> e ative a sua conta, ou copie e cole o link abaixo no seu navegador de preferência.<br><br><br>"; _conteudohtml += $"Atenciosamente,<br>"; _conteudohtml += $"Equipe House2Invest<br>"; _conteudohtml += $"<br><br>"; _conteudohtml += $"<div style='font-size:9px;font-style:italic;line-height:12px;'>"; _conteudohtml += $"Este é um e-mail automático gerado pelo sistema. Em caso de dúvidas, acesse nosso Atendimento Online. Para receber com sucesso nossos e-mails, é importante adicionar o e-mail [email protected] na sua lista de endereços confiáveis.<br>"; _conteudohtml += $"Nós valorizamos a sua privacidade. Estamos enviando esse email porque você entrou em contato com um de nossos usuários.<br>"; _conteudohtml += $"AVISO LEGAL: Algumas mensagens enviadas por nós podem conter conteúdos escritos e publicadas por usuários terceiros não ligados ao site, cuja responsabilidade pelas informações é exclusiva do autor - entre em contato conosco em caso de dúvidas. Ao ler este e-mail você declara que leu e aceita nossos <a href='https://depoisdalinha.blob.core.windows.net/house2invest/docs/novosdocs_usuarios/TERMO_DE_USO_H2I.pdf'>Termos de uso e privacidade</a>.<br>"; _conteudohtml += $"</div>"; _conteudohtml += $"</div>"; // instanciar objeto email var _configAplicacoes = _context.AppConfiguracoes_Aplicativo .FirstOrDefault(); var _objemail = new ObjetoEmailEnvio() { ASSUNTO = "[CONFIRME SEU EMAIL] House2Invest", COPIA = _configAplicacoes.mailToAdd, mailFrom = _configAplicacoes.mailFrom, MENSAGEM = _conteudohtml, PARA = user.Email, smtpCredentialsEmail = _configAplicacoes.smtpCredentialsEmail, smtpCredentialsSenha = _configAplicacoes.smtpCredentialsSenha, smtpEnableSsl = _configAplicacoes.smtpEnableSsl, smtpHost = _configAplicacoes.smtpHost, smtpPort = _configAplicacoes.smtpPort, smtpUseDefaultCredentials = _configAplicacoes.smtpUseDefaultCredentials }; var _enviou = await VerificadoresRetornos.EnviarEmail(_objemail); //---------------------------------------------------- // LOGCENTRAL //---------------------------------------------------- await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-envelope text-primary'></i>", MENSAGEM = "<i style='font-size:11px;font-family:monospace;line-height:10px;text-align:justify!important;'>" + _conteudohtml + "</i>" + $"<br> <div> <a href='javascript:ReenviarEmailLog(0);' class='btn btn-sm bg-success' title='Reenviar email' style='padding:0.25rem 0.4rem;font-size:14px;'><i class='fas fa-paper-plane'></i></a></div>", ACAO = $"ENVIOU EMAIL", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "AGUARDANDO CONFIRMAÇÃO", TIPO = "NOTIFICAÇÃO", UsuarioAppId = user.Id, VALOR = 0, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); //var _enviou = // await VerificadoresRetornos // .EnviarEmail(user.Email, callbackUrl, "[CONFIRME SEU EMAIL] House2Invest", _conteudohtml); //var ip = _accessor.HttpContext?.Connection?.RemoteIpAddress?.ToString(); //var _ips = new string[] { ip, "value2" }; //// LOGCENTRAL //_context.LOGCENTRALs.Add(new LOGCENTRAL() //{ // ACAO = "ENVIO EMAIL - CONFIRME SEU EMAIL", // INVEST_LancamentoId = 0, // INVEST_ModeloDocId = 0, // TP = "", // URLDOC = "", // VALOR = 0, // STATUS = "", // UsuarioAppId = user.Id, // IP = _ips.FirstOrDefault() //}); //await _context.SaveChangesAsync(); if (_enviou == "ok") { return(Redirect("/Identity/Account/RegisterAgradec?userId=" + user.Id + "&code=" + code)); } else { ModelState.AddModelError(string.Empty, _enviou); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } catch (Exception erro) { ModelState.AddModelError(string.Empty, erro.Message); } return(Page()); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } // USUÁRIO LOGADO var _usu = _context.Users .Where(x => x.UserName == User.Identity.Name) .FirstOrDefault(); var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); var _atualizaTransf = _context.Tranferencias .Include(x => x.BlocoProjInvestimentos) .Where(x => x.Id == modelo.Id) .FirstOrDefault(); var _errosValidacoes = false; if (modelo.ArquivoComprovTransf != null) { var _imagemLogotipo = await VerificadoresRetornos .EnviarImagemAzure(modelo.ArquivoComprovTransf, 614200, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); if (!_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) { ModelState.AddModelError(string.Empty, "A imagem é muito grande"); _errosValidacoes = true; } else { _atualizaTransf.URLComprovante = _imagemLogotipo; } } else { ModelState.AddModelError(string.Empty, "Selecione uma imagem"); _errosValidacoes = true; } if (_errosValidacoes) { return(Page()); } _context.Attach(_atualizaTransf).State = EntityState.Modified; await _context.SaveChangesAsync(); var ip = _accessor.HttpContext?.Connection?.RemoteIpAddress?.ToString(); var _ips = new string[] { ip, "value2" }; // PEGO O USUARIO DA TRANSFERENCIA, CASO EXISTA var _usuTransf = new UsuarioApp(); if (!string.IsNullOrEmpty(_atualizaTransf.IdUsu)) { _usuTransf = _context.Users .Where(x => x.Id == _atualizaTransf.IdUsu) .FirstOrDefault(); } //// LOGCENTRAL await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-image text-success'></i>", MENSAGEM = $"A transferência de <b>{_atualizaTransf.Valor.ToString("C2")}</b> para o investidor <b>{_usuTransf.Nome} {_usuTransf.Sobrenome}</b> foi <b style='color:green;'>EFETUADA COM SUCESSO</b>. O comprovante digitalizado da transação é <a href='{_atualizaTransf.URLComprovante}' target='_blank'>esse aqui</a>.", ACAO = $"ENVIO DE COMPROVANTE (TRANSFERÊNCIA)", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "TRANSFERIDO", TIPO = "CONFIRMAÇÕES", UsuarioAppId = !string.IsNullOrEmpty(_atualizaTransf.IdUsu) ? _atualizaTransf.IdUsu : "b1aadecb-4357-457d-bfea-27e153505497", VALOR = _atualizaTransf.Valor, UsuarioAppCriadorId = "b1aadecb-4357-457d-bfea-27e153505497" }, _context); if (!string.IsNullOrEmpty(_atualizaTransf.IdUsu)) { //-------------------------------- // APLICACAO PADRAO //-------------------------------- var _appPadrao = _context.AppConfiguracoes_Aplicativo .FirstOrDefault(); string _textoEmail = $"Prezado {_usuTransf.Nome} <br>"; _textoEmail += $"A transferência no valor de <b>{_atualizaTransf.Valor.ToString("C2")}</b> foi <b style='color:green;'>EFETUADA COM SUCESSO</b>. <br>"; _textoEmail += $"Abaixo está o link com o comprovante: <br>"; _textoEmail += $"<a href='{_atualizaTransf.URLComprovante}' target='_blank'>Comprovante</a> <br><br>"; _textoEmail += $"Atenciosamente, <br>"; _textoEmail += $"<b>Equipe House2invest</b> <br>"; // instanciar objeto email var _objemail = new ObjetoEmailEnvio() { ASSUNTO = "[STATUS INVESTIMENTO] House2Invest", COPIA = _appPadrao.mailToAdd, mailFrom = _appPadrao.mailFrom, MENSAGEM = _textoEmail, PARA = _usuTransf.Email, smtpCredentialsEmail = _appPadrao.smtpCredentialsEmail, smtpCredentialsSenha = _appPadrao.smtpCredentialsSenha, smtpEnableSsl = _appPadrao.smtpEnableSsl, smtpHost = _appPadrao.smtpHost, smtpPort = _appPadrao.smtpPort, smtpUseDefaultCredentials = _appPadrao.smtpUseDefaultCredentials }; var _enviou = await VerificadoresRetornos.EnviarEmail(_objemail); await VerificadoresRetornos.PROC__GravaLOG(new LOGCENTRAL() { ICOMENS = "<i class='fas fa-envelope text-primary'></i>", MENSAGEM = "<i style='font-size:11px;font-family:monospace;line-height:10px;text-align:justify!important;'>" + _textoEmail + "</i>" + $"<br> <div> <a href='javascript:ReenviarEmailLog({_atualizaTransf.Id});' class='btn btn-sm bg-success' title='Reenviar email' style='padding:0.25rem 0.4rem;font-size:14px;'><i class='fas fa-paper-plane'></i></a></div>", ACAO = $"ENVIOU EMAIL", DTHR = DateTime.Now, IP = _ips.FirstOrDefault(), STATUS = "ENVIADO", TIPO = "NOTIFICAÇÃO", UsuarioAppId = !string.IsNullOrEmpty(_atualizaTransf.IdUsu) ? _atualizaTransf.IdUsu : "b1aadecb-4357-457d-bfea-27e153505497", VALOR = _atualizaTransf.Valor, UsuarioAppCriadorId = _usu.Id }, _context); } //_context.LOGCENTRALs.Add(new LOGCENTRAL() //{ // ACAO = "TRANSFERÊNCIA INVESTIMENTO", // INVEST_LancamentoId = 0, // INVEST_ModeloDocId = 0, // TP = "TRANSF", // URLDOC = "", // VALOR = _atualizaTransf.Valor, // STATUS = "SUSPENSO", // UsuarioAppId = _atualizaTransf.IdUsu, // IP = _ips.FirstOrDefault() //}); //await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); var _errosValidacoes = false; if (BlocoProjInvestimento.ImagemDestaque != null) { var _imagemLogotipo = await VerificadoresRetornos .EnviarImagemAzure(BlocoProjInvestimento.ImagemDestaque, 550000, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) { BlocoProjInvestimento.UrlImgPrinc = _imagemLogotipo; } else { ModelState.AddModelError(string.Empty, "A imagem é muito grande"); _errosValidacoes = true; } } else { ModelState.AddModelError(string.Empty, "Selecione uma imagem do seu computador"); _errosValidacoes = true; } if (Convert.ToDouble(BlocoProjInvestimento.LanceMinimo) > Convert.ToDouble(BlocoProjInvestimento.Valor)) { ModelState.AddModelError(string.Empty, "O Lance mínimo deve ser INFERIOR ao VALOR TOTAL DO INVESTIMENTO"); _errosValidacoes = true; } if (VerificadoresRetornos.ConverteStringParaDateTime(BlocoProjInvestimento.Contador_DataFinal) < DateTime.Now) { ModelState.AddModelError(string.Empty, "A data limite do contador deve ser SUPERIOR a data de hoje"); _errosValidacoes = true; } if (Convert.ToDouble(BlocoProjInvestimento.Valor) <= 0) { ModelState.AddModelError(string.Empty, "Necessário: VALOR TOTAL DO INVESTIMENTO"); _errosValidacoes = true; } if (Convert.ToDouble(BlocoProjInvestimento.LanceMinimo) <= 0) { ModelState.AddModelError(string.Empty, "Necessário: VALOR LANCE MÍNIMO"); _errosValidacoes = true; } if (_errosValidacoes) { BlocoProjInvestimento.UrlImgPrinc = @"/images/sem-imagem.png"; return(Page()); } _context.BlocoProjInvestimentos.Add(BlocoProjInvestimento); await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { var _errosValidacoes = false; if (!ModelState.IsValid) { _errosValidacoes = true; } var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); var registro = _context .Construtoras .Where(x => x.Id == Construtora.Id) .FirstOrDefault(); registro.Bairro = Construtora.Bairro; registro.CEP = Construtora.CEP; registro.Cidade = Construtora.Cidade; registro.CNPJ = Construtora.CNPJ; registro.Complemento = Construtora.Complemento; registro.DTHR = Construtora.DTHR; registro.Email = Construtora.Email; registro.Estado = Construtora.Estado; registro.Fone = Construtora.Fone; registro.Logradouro = Construtora.Logradouro; registro.LogradouroNum = Construtora.LogradouroNum; registro.NomeFantasia = Construtora.NomeFantasia; registro.Pais = Construtora.Pais; registro.RazaoSocial = Construtora.RazaoSocial; registro.Website = Construtora.Website; registro.AlertaSobreRiscos = Construtora.AlertaSobreRiscos; registro.CaracOfertaTribuAplicavel = Construtora.CaracOfertaTribuAplicavel; registro.ComunPrestInfoContAposOferta = Construtora.ComunPrestInfoContAposOferta; registro.EstudoViabEcoFinanc = Construtora.EstudoViabEcoFinanc; registro.IncorpConstrut = Construtora.IncorpConstrut; registro.InfoPlanoNegocios = Construtora.InfoPlanoNegocios; registro.InfoRemunPlataforma = Construtora.InfoRemunPlataforma; registro.InfoValorMobOfertado = Construtora.InfoValorMobOfertado; registro.OutrasInfos = Construtora.OutrasInfos; registro.SetorAtuacaoHist = Construtora.SetorAtuacaoHist; registro.SociedadeAdms = Construtora.SociedadeAdms; if (Construtora.Imagem != null) { var _imagemLogotipo = await VerificadoresRetornos .EnviarImagemAzure(Construtora.Imagem, 550000, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz); if (_imagemLogotipo.ToLower().Trim().Contains("blob.core.windows.net")) { registro.Logotipo = _imagemLogotipo; } else { ModelState.AddModelError(string.Empty, "A imagem é muito grande"); _errosValidacoes = true; } } if (_errosValidacoes) { return(Page()); } _context.Attach(registro).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { //if (!BlocoProjInvestimentoExists(BlocoProjInvestimento.Id)) //{ // return NotFound(); //} //else //{ // throw; //} } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var registro = _context.Users .Where(x => x.Id == modelo.Id) .FirstOrDefault(); try { var _oldAcessoBloqueado = registro.Sistema_AcessoBloqueado; var _newAcessoBloqueado = modelo.AcessoBloqueado; registro.EmailConfirmed = modelo.EmailConfirmado; registro.Sistema_AcessoBloqueado = modelo.AcessoBloqueado; registro.LockoutEnabled = modelo.Lockout; if (modelo.Lockout) { registro.AccessFailedCount = 0; } registro.Financeiro_Investidor_Perfil = modelo.Financeiro_Investidor_Perfil; _context.Attach(registro).State = EntityState.Modified; await _context.SaveChangesAsync(); if (registro.Sistema_AcessoBloqueado) { await _hubContext.Clients.All.SendAsync("ForceLogOff", $"{modelo.Id}"); //await _hubContextCMS.Clients.All.SendAsync("ForceLogOffCMS", $"{modelo.Id}"); } if (_oldAcessoBloqueado && !_newAcessoBloqueado) { // instanciar objeto email var _configAplicacoes = _context.AppConfiguracoes_Aplicativo .FirstOrDefault(); var _objemail = new ObjetoEmailEnvio() { ASSUNTO = "[Documentação APROVADA] House2Invest", COPIA = _configAplicacoes.mailToAdd, mailFrom = _configAplicacoes.mailFrom, MENSAGEM = string.Format($"Olá <b>{registro.Nome}</b>, td. em paz?{Environment.NewLine}Obaaa... Sua documentação está ok conosco!!!{Environment.NewLine}Nossa equipe de suporte entrará em contato com você. Fique de olho na sua caixa de entrada. ;)"), PARA = registro.Email, smtpCredentialsEmail = _configAplicacoes.smtpCredentialsEmail, smtpCredentialsSenha = _configAplicacoes.smtpCredentialsSenha, smtpEnableSsl = _configAplicacoes.smtpEnableSsl, smtpHost = _configAplicacoes.smtpHost, smtpPort = _configAplicacoes.smtpPort, smtpUseDefaultCredentials = _configAplicacoes.smtpUseDefaultCredentials }; var _enviou = await VerificadoresRetornos.EnviarEmail(_objemail); //var _enviou = // await VerificadoresRetornos // .EnviarEmail(registro.Email, // "", // "[Documentação APROVADA] House2Invest", string.Format($"Olá <b>{registro.Nome}</b>, td. em paz?{Environment.NewLine}Obaaa... Sua documentação está ok conosco!!!{Environment.NewLine}Nossa equipe de suporte entrará em contato com você. Fique de olho na sua caixa de entrada. ;)")); var ip = _accessor.HttpContext?.Connection?.RemoteIpAddress?.ToString(); var _ips = new string[] { ip, "value2" }; //// LOGCENTRAL //_context.LOGCENTRALs.Add(new LOGCENTRAL() //{ // ACAO = "ENVIO EMAIL - DOCUMENTAÇÃO APROVADA", // INVEST_LancamentoId = 0, // INVEST_ModeloDocId = 0, // TP = "", // URLDOC = "", // VALOR = 0, // STATUS = "", // UsuarioAppId = registro.Id, // IP = _ips.FirstOrDefault() //}); //await _context.SaveChangesAsync(); } } catch (DbUpdateConcurrencyException) { return(NotFound()); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { var _totaldeelementos = Request.Form.Count - 1; var _listaimagens = new List <ImagensEnvio>(); var _idperfil = AppPerfilId; // PEGO A LISTA DE IMAGENS QUE EXISTE NO BANCO PARA COMPARAR COM O MODELO ENVIADO var _Listaimagensalbum = _context.GaleriaPerfilImagem .Where(x => x.GaleriaPerfilAlbumId == GaleriaPerfilAlbum.Id) .ToList(); // OBTENDO O REGISTRO EXISTENTE NO BANCO PARA ALTERACAO COM O MODELO ENVIADO var registro = _context .GaleriaPerfilAlbum .Where(x => x.Id == GaleriaPerfilAlbum.Id) .FirstOrDefault(); registro.Nome = GaleriaPerfilAlbum.Nome; registro.Descricao = GaleriaPerfilAlbum.Descricao; _context.Attach(registro).State = EntityState.Modified; await _context.SaveChangesAsync(); // CARREGO UMA LISTA COM AS IMAGENS ENVIADAS PELO MODELO var _listaModel = new List <GaleriaPerfilImagem>(); for (int i = 0; i < _totaldeelementos; i++) { var _nomeimg = Request.Form["inputarq_" + i]; var _des = Request.Form["descricao_" + i].ToString(); var _idimg = Request.Form["idgaleriaimagem_" + i].ToString(); var _urlimg = Request.Form["urlgaleriaimagem_" + i].ToString(); _des = string.IsNullOrEmpty(_des) ? "" : _des; if (!string.IsNullOrEmpty(_idimg)) { var _imagem = new GaleriaPerfilImagem() { Id = Convert.ToInt32(_idimg), Descricao = _des, GaleriaPerfilAlbumId = GaleriaPerfilAlbum.Id, Url = _urlimg }; _listaModel.Add(_imagem); } } // RODO A LISTA CARREGADA E COMPARO COM A LISTA ENVIADA DO MODELO // VERIFICO SE FORAM EXCLUÍDAS IMAGENS DO ÁLBUM foreach (var _imagem in _Listaimagensalbum.OrderBy(x => x.Id)) { var _imagemExiste = _listaModel.Where(x => x.Id == _imagem.Id).FirstOrDefault(); // NÃO ACHEI NA LISTA ENVIADA if (_imagemExiste == null) { // APAGO DO BANCO E REMOVO O BLOB DA NUVEM var _exc_appgaleria_imagem = _context.GaleriaPerfilImagem .Where(x => x.Id == _imagem.Id).FirstOrDefault(); _context.GaleriaPerfilImagem.Remove(_exc_appgaleria_imagem); await _context.SaveChangesAsync(); // PEGA NOME DO ARQUIVO string _nomedoarq = ""; Uri uri = new Uri(_imagem.Url); _nomedoarq = System.IO.Path.GetFileName(uri.LocalPath); var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); await VerificadoresRetornos .ApagarBlob( _nomedoarq, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz, _config.AppConfiguracoes.AppConfiguracoes_Azure.UsarSimuladorLocal, _config.AppConfiguracoes.AppConfiguracoes_Azure.EnderecoArmazLocal); } // ALTERO A DESCRICAO DA IMAGEM else { var _ImagemEditada = _context.GaleriaPerfilImagem .Where(x => x.Id == _imagemExiste.Id).FirstOrDefault(); _ImagemEditada.Descricao = _imagemExiste.Descricao; _context.Attach(_ImagemEditada).State = EntityState.Modified; await _context.SaveChangesAsync(); } } // NOVAS IMAGENS ADICIONADAS AO ALBUM if (Request.Form.Files.Count > 0) { for (int i = 0; i < _totaldeelementos; i++) { var _nomeimg = Request.Form["inputarq_" + i]; var _des = Request.Form["descricao_" + i].ToString(); _des = string.IsNullOrEmpty(_des) ? "" : _des; var _buscafilearray = Request.Form.Files .Where(x => x.FileName == _nomeimg).FirstOrDefault(); if (_buscafilearray != null) { _listaimagens.Add(new ImagensEnvio() { GaleriaPerfilAlbumId = GaleriaPerfilAlbum.Id, Url = _buscafilearray.FileName.ToString(), Descricao = _des, Arquivo = _buscafilearray }); } } var _config = _context.AppPerfil .Include(x => x.AppConfiguracoes) .Include(x => x.AppConfiguracoes.AppConfiguracoes_Aplicativo) .Include(y => y.AppConfiguracoes.AppConfiguracoes_Azure) .FirstOrDefault(); foreach (var item in _listaimagens) { var _imagemLogotipo = await VerificadoresRetornos .EnviarImagemAzure(item.Arquivo, 512000, 0, 0, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountName, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_AccountKey, _config.AppConfiguracoes.AppConfiguracoes_Azure._azureblob_ContainerRaiz, _config.AppConfiguracoes.AppConfiguracoes_Azure.UsarSimuladorLocal, _config.AppConfiguracoes.AppConfiguracoes_Azure.EnderecoArmazLocal); Uri uriResult; bool result = Uri.TryCreate(_imagemLogotipo, UriKind.Absolute, out uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps); if (result) { item.Url = _imagemLogotipo; } else { item.Url = ""; } } var _listarange = new List <Models.GaleriaPerfilImagem>(); foreach (var imagem in _listaimagens) { if (!string.IsNullOrEmpty(imagem.Url)) { _listarange.Add(new Models.GaleriaPerfilImagem() { GaleriaPerfilAlbumId = imagem.GaleriaPerfilAlbumId, Descricao = imagem.Descricao, Url = imagem.Url }); } } if (_listarange.Count > 0) { await _context.GaleriaPerfilImagem.AddRangeAsync(_listarange); await _context.SaveChangesAsync(); } } return(RedirectToPage("./Index")); }