// To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.Attach(Product).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProductExists(Product.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index"));
        }
示例#2
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            Horario.LastUpdatedAt          = DateTime.UtcNow.Date;
            Horario.LastUpdatedBy          = User.Identity.Name.ToString();
            _context.Attach(Horario).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!HorarioExists(Horario.HorarioId))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index"));
        }
示例#3
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            Departamento.DepartamentoNome       = Request.Form["Departamento.DepartamentoNome"].ToString().ToUpper();
            Departamento.LastUpdatedAt          = DateTime.UtcNow.Date;
            Departamento.LastUpdatedBy          = User.Identity.Name.ToString();
            _context.Attach(Departamento).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DepartamentoExists(Departamento.DepartamentoId))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index"));
        }
示例#4
0
        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> 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());
        }
示例#6
0
        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"));
        }
示例#7
0
        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"));
        }
示例#8
0
        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();
        }
示例#9
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            //if (_context.AppConfiguracoes.Count() == 1 && !AppConfiguracoes.Padrao)
            //{
            //    ModelState.AddModelError("", "Como existe apenas um perfil registrado no sistema, você deve setá-lo como PADRÃO clicando na respectiva caixa de seleção.");
            //    return Page();
            //}

            //var _existepadrao =
            //    await _context.AppConfiguracoes
            //    .Where(x => x.Padrao && x.Id != AppConfiguracoes.Id)
            //    .ToListAsync();

            //if (_existepadrao.Count > 0 && AppConfiguracoes.Padrao)
            //{
            //    ModelState.AddModelError("", "Já existe um perfil setado como PADRÃO no sistema.");
            //    return Page();
            //}

            //if (_context.AppConfiguracoes.Count() > 1)
            //{
            //    var _atualiza = await _context.AppConfiguracoes.Where(x => x.Padrao && x.Id != AppConfiguracoes.Id).ToListAsync();
            //    if (_atualiza.Count > 0)
            //    {
            //        if (AppConfiguracoes.Padrao)
            //        {

            //        }
            //    }
            //}

            //    //var _maisdeumpadrao = _context.AppConfiguracoes.Where(x => x.Padrao && x.Id != AppConfiguracoes.Id).FirstOrDefault();
            //    //if (_maisdeumpadrao != null)
            //    //{
            //    //    AppConfiguracoes.Padrao = false;
            //    //}
            //}

            _context.Attach(AppConfiguracoes).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AppConfiguracoesExists(AppConfiguracoes.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            //return RedirectToPage("./Index");

            await OnGetAsync(id);

            return(Page());
        }
        async public void UpdateSubmission(Models.Submission submission)
        {
            _context.Attach(submission).State = EntityState.Modified;

            await _context.SaveChangesAsync();
        }
示例#11
0
        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"));
        }
示例#12
0
        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"));
        }