示例#1
0
        private void tbxFiltro_TextChanged(object sender, EventArgs e)
        {
            dgvAcessos.DataSource = null;

            List <Acesso> acessos = acessoRepository.BuscarTodos();

            List <AcessoViewModel> acessosFiltrados = new List <AcessoViewModel>();


            foreach (var item in acessos)
            {
                AcessoViewModel acessFiltro = new AcessoViewModel
                {
                    IdAcesso    = item.IdAcesso,
                    NomeUsuario = item.Usuarios.Tx_Usuario,
                    DataEntrada = item.Dt_AcessoEntrada,
                    DataSaida   = item.Dt_AcessoSaida
                };
                acessosFiltrados.Add(acessFiltro);
            }

            dgvAcessos.DataSource = acessosFiltrados.FindAll(x => x.NomeUsuario.ToUpper().Contains(tbxFiltro.Text.ToUpper()));


            Contador();
        }
示例#2
0
        public void Salvar([FromBody] AcessoViewModel acessosViewModel)
        {
            this.acessoFuncionalidadeRepositorio
            .ApagarAcessosDoAtor(acessosViewModel.PapelId, acessosViewModel.AtorId);

            foreach (var funcionalidade in acessosViewModel.Funcionalidades)
            {
                if (funcionalidade.Marcado == false)
                {
                    continue;
                }

                var acesso = new AcessoFuncionalidade
                {
                    AtorId         = acessosViewModel.AtorId,
                    Papel          = Papel.FromInt32(acessosViewModel.PapelId),
                    Funcionalidade = Funcionalidade.FromInt32(funcionalidade.Id)
                };

                this.acessoFuncionalidadeRepositorio.Salvar(acesso);
            }

            this.logarAcaoSistema.Execute(
                TipoTrilha.Alteracao,
                "Segurança de Funcionalidade",
                "Acesso às funcionalidades foi alterado para o papelId: " + acessosViewModel.PapelId + " e atorId: " + acessosViewModel.AtorId);
        }
示例#3
0
        private void atualizaLista()
        {
            dgvAcessos.DataSource = null;

            List <Acesso> acessos = acessoRepository.BuscarTodos();

            List <AcessoViewModel> acessosFiltrados = new List <AcessoViewModel>();

            foreach (var item in acessos)
            {
                AcessoViewModel acessFiltro = new AcessoViewModel
                {
                    IdAcesso    = item.IdAcesso,
                    NomeUsuario = item.Usuarios.Tx_Usuario,
                    DataEntrada = item.Dt_AcessoEntrada,
                    DataSaida   = item.Dt_AcessoSaida
                };
                acessosFiltrados.Add(acessFiltro);
            }


            dgvAcessos.DataSource = acessosFiltrados;

            Contador();
        }
示例#4
0
        public ActionResult LogIn(string returnUrl)
        {
            var model = new AcessoViewModel
            {
                ReturnUrl = returnUrl
            };

            return(View(model));
        }
示例#5
0
        public AcessoViewModel Mapear(Acesso acesso)
        {
            AcessoViewModel acessoViewModel = new AcessoViewModel();

            acessoViewModel.NumeroRA = acesso.NumeroRA;

            acessoViewModel.DataAcesso = acesso.DataAcesso;

            acessoViewModel.AlunoEncontrado = acesso.AlunoEncontrado;

            return(acessoViewModel);
        }
示例#6
0
        public ActionResult Entrar(AcessoViewModel model)
        {
            var client = new HttpClient();

            client.BaseAddress = new Uri(ConfigurationManager.AppSettings["service:ApiAddress"].ToString());
            client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

            var response = client.GetAsync("Usuario?login="******"&senha=" + AgendaUtils.Criptografia.RetornarMD5(model.Senha) +
                                           "&tipoAcesso=3").Result;

            if (!response.IsSuccessStatusCode)
            {
                ModelState.AddModelError("", "Usuário ou senha inválidos.");
                return(View(model));
            }

            var acesso = JsonConvert.DeserializeObject <AgendaDTL.Usuario>(response.Content.ReadAsStringAsync().Result);

            var agendamento = JsonConvert.DeserializeObject <Models.Agendamento>(Request.Cookies["agendamento"].Value);

            //string idPaciente = response.Content.ReadAsStringAsync().Result;

            response = client.PostAsync("Agendamento",
                                        new FormUrlEncodedContent(new[]
            {
                new KeyValuePair <string, string>("IdAgenda", agendamento.IdAgenda.ToString()),
                new KeyValuePair <string, string>("IdPaciente", acesso.idPaciente.ToString()),
                new KeyValuePair <string, string>("Data", agendamento.DataAgendamento.ToString("yyyy-MM-dd")),
                new KeyValuePair <string, string>("Horario", agendamento.HoraAgendamento.ToString())
            })).Result;

            if (!response.IsSuccessStatusCode)
            {
                ModelState.AddModelError(string.Empty, response.Content.ReadAsStringAsync().Result);
                return(View(model));
            }

            var tempModel = new ProtocoloVM()
            {
                Clinica         = "Clinicão",
                Nome            = model.Login == null ? "teste nome" : model.Login,
                DataAgendamento = agendamento.DataAgendamento < new DateTime(1000, 1, 1) ? DateTime.Now : agendamento.DataAgendamento,
                HoraAgendamento = agendamento.HoraAgendamento == null ? TimeSpan.MaxValue : agendamento.HoraAgendamento,
                Protocolo       = 123
            };

            TempData["protocolo"] = tempModel;
            return(RedirectToAction("ProtocoloAgendamento", "Home"));
        }
示例#7
0
        public ActionResult Create(AcessoViewModel AcessoViewModel)
        {
            var Acesso = new Acesso();

            Acesso = Mapper.Map <AcessoViewModel, Acesso>(AcessoViewModel);

            if (ModelState.IsValid)
            {
                var cliente = ClienteSelecionado();
                cliente.Acessos.Add(Acesso);
                _ClienteService.Update(cliente);

                var rota = String.Format("/Acesso");
                return(Redirect(rota));
            }

            return(View(AcessoViewModel));
        }
示例#8
0
        public IActionResult Acesso([FromBody] AcessoViewModel acesso)
        {
            try
            {
                var result = _app.SelecionarPorLoginSenha(acesso.Login, acesso.Senha);

                if (result == null)
                {
                    return(Ok(new { data = result, Mensagens = "Usuário ou senha inválidos" }));
                }
                return(Ok(new { data = result }));
            }
            catch (Domain.Validations.ExcecaoDeDominio ex)
            {
                return(BadRequest(new { Mensagem = ex.Mensagens }));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, new { Mensagens = ex.Message }));
            }
        }
示例#9
0
        public AcessoViewModel ObterPor(int atorId = 0, int papelId = 0)
        {
            var acessos = this.acessoFuncionalidadeRepositorio
                          .ObterPorPapelComAtorId(papelId, atorId);

            var acessoViewModel = new AcessoViewModel();

            acessoViewModel.AtorId  = atorId;
            acessoViewModel.PapelId = papelId;

            foreach (var funcionalidade in Funcionalidade.GetAll())
            {
                var funcionalidadeViewModel = new FuncionalidadeViewModel();
                funcionalidadeViewModel.Id      = funcionalidade.Value;
                funcionalidadeViewModel.Marcado = acessos.Any(x => x.Funcionalidade == funcionalidade);
                funcionalidadeViewModel.Nome    = funcionalidade.DisplayName;
                acessoViewModel.Funcionalidades.Add(funcionalidadeViewModel);
            }

            return(acessoViewModel);
        }
示例#10
0
        public ActionResult Edit(AcessoViewModel AcessoViewModel)
        {
            if (ModelState.IsValid)
            {
                var cliente = ClienteSelecionado();

                Acesso Acesso = cliente.Acessos.Where(a => a.Id == AcessoViewModel.Id).FirstOrDefault();

                if (Acesso == null)
                {
                    return(HttpNotFound());
                }

                SetModel(Acesso, AcessoViewModel);

                _ClienteService.Update(cliente);

                var rota = String.Format("/Acesso");
                return(Redirect(rota));
            }

            return(View(AcessoViewModel));
        }
示例#11
0
        private void dgvAcessos_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 2 || e.ColumnIndex == 3)
            {
                dgvAcessos.DataSource = null;

                List <Acesso> acessos = acessoRepository.BuscarTodos();

                List <AcessoViewModel> acessosFiltrados = new List <AcessoViewModel>();

                foreach (var item in acessos)
                {
                    AcessoViewModel acessFiltro = new AcessoViewModel
                    {
                        IdAcesso    = item.IdAcesso,
                        NomeUsuario = item.Usuarios.Tx_Usuario,
                        DataEntrada = item.Dt_AcessoEntrada,
                        DataSaida   = item.Dt_AcessoSaida
                    };
                    acessosFiltrados.Add(acessFiltro);
                }
                if (crescente)
                {
                    dgvAcessos.DataSource = acessosFiltrados.OrderBy(x => x.DataSaida).ToList();
                    crescente             = false;
                }
                else
                {
                    dgvAcessos.DataSource = acessosFiltrados.OrderByDescending(x => x.DataSaida).ToList();
                    crescente             = true;
                }


                Contador();
            }
        }
示例#12
0
        public ActionResult Login(AcessoViewModel login, string returnUrl)
        {
            //if (ModelState.IsValid)
            //{
            //    //var usuario = new Dto.Usuario();
            //    //usuario.Login = login.Usuario;
            //    try
            //    {
            //        //using (var repositorio = new UsuarioRepositorio(new Connection(new System.Data.SqlClient.SqlConnection())))
            //        //{
            //        //    usuario = repositorio.Obter(usuario);
            //        //}
            //    }
            //    catch(Exception ex)
            //    {
            //        ModelState.AddModelError(string.Empty, "Não foi possível validar o usuário, tente novamente.");
            //        return View(login);
            //    }

            //    /*Verificar se a variavel usuario está vazia. Isso pode ocorrer caso o usuário não existe.
            //    Caso não exista ele vai cair na condição else.*/
            //    if (usuario != null)
            //    {
            //        /*Código abaixo verifica se o usuário que retornou na variavel tem está
            //          ativo. Caso não esteja cai direto no else*/
            //        if (usuario.Ativo)
            //        {
            //            /*Código abaixo verifica se a senha digitada no site é igual a senha que está sendo retornada
            //             do banco. Caso não cai direto no else*/
            //            if (Utils.Criptografia.ComparaMD5(login.Senha, usuario.Senha))
            //            {
            //                FormsAuthentication.SetAuthCookie(login.Usuario, false);

            //                if (Url.IsLocalUrl(returnUrl)
            //                && returnUrl.Length > 1
            //                && returnUrl.StartsWith("/")
            //                && !returnUrl.StartsWith("//")
            //                && returnUrl.StartsWith("/\\"))
            //                {
            //                    return Redirect(returnUrl);
            //                }
            //                /*código abaixo cria uma session para armazenar o nome do usuário*/
            //                //Session["Usuario"] = "AINDA NAO";
            //                /*retorna para a tela inicial do Home*/
            //                return RedirectToAction("Index", "Home");
            //            }
            //            /*Else responsável da validação da senha*/
            //            else
            //            {
            //                /*Escreve na tela a mensagem de erro informada*/
            //                ModelState.AddModelError("", "Senha inválida.");
            //                /*Retorna a tela de login*/
            //                return View(new AcessoViewModel());
            //            }
            //        }
            //        /*Else responsável por verificar se o usuário está ativo*/
            //        else
            //        {
            //            /*Escreve na tela a mensagem de erro informada*/
            //            ModelState.AddModelError("", "Usuário sem acesso.");
            //            /*Retorna a tela de login*/
            //            return View(new AcessoViewModel());
            //        }
            //    }
            //    /*Else responsável por verificar se o usuário existe*/
            //    else
            //    {
            //        /*Escreve na tela a mensagem de erro informada*/
            //        ModelState.AddModelError("", "Usuário inválido.");
            //        /*Retorna a tela de login*/
            //        return View(new AcessoViewModel());
            //    }
            //}
            /*Caso os campos não esteja de acordo com a solicitação retorna a tela de login com as mensagem dos campos*/
            return(View(login));
        }
示例#13
0
        //
        // GET: /Acesso/Create

        public ActionResult Create()
        {
            AcessoViewModel AcessoViewModel = new AcessoViewModel();

            return(View(AcessoViewModel));
        }
示例#14
0
 private void SetModel(Acesso Acesso, AcessoViewModel AcessoViewModel)
 {
 }
示例#15
0
        public ActionResult Login(AcessoViewModel usuario, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var client = new HttpClient();
                    client.BaseAddress = new Uri(ConfigurationManager.AppSettings["service:ApiAddress"].ToString());
                    client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

                    HttpResponseMessage response = client.GetAsync("Usuario?login="******"&senha=" + AgendaUtils.Criptografia.RetornarMD5(usuario.Senha) +
                                                                   "&tipoAcesso=2").Result;

                    /*Verificar se a variavel usuario está vazia. Isso pode ocorrer caso o usuário não existe.
                     * Caso não exista ele vai cair na condição else.*/
                    if (response.IsSuccessStatusCode)
                    {
                        //Storing the response details recieved from web api
                        var EmpResponse = response.Content.ReadAsStringAsync().Result;

                        //Deserializing the response recieved from web api and storing into the Employee list
                        var acesso = JsonConvert.DeserializeObject <AgendaDTL.Usuario>(EmpResponse);

                        /*Código abaixo verifica se a senha digitada no site é igual a senha que está sendo retornada
                         * do banco. Caso não cai direto no else*/
                        if (acesso != null)
                        {
                            //var claimsIdentity = new ClaimsIdentity(
                            //    new[] { new Claim(ClaimTypes.Name, acesso.Login) },
                            //    DefaultAuthenticationTypes.ApplicationCookie);

                            var claims = new List <Claim>();
                            claims.Add(new Claim(ClaimTypes.Name, acesso.Login));
                            claims.Add(new Claim(ClaimTypes.Sid, acesso.idClinica.ToString(), ClaimValueTypes.Integer));
                            claims.Add(new Claim(ClaimTypes.Role, "Administrator"));

                            var identity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);


                            _authenticationManager.SignIn(new AuthenticationProperties()
                            {
                                IsPersistent = true
                            }, identity);

                            if (Url.IsLocalUrl(returnUrl) &&
                                returnUrl.Length > 1 &&
                                returnUrl.StartsWith("/") &&
                                !returnUrl.StartsWith("//") &&
                                returnUrl.StartsWith("/\\"))
                            {
                                return(Redirect(returnUrl));
                            }
                            return(RedirectToAction("Index", "Home"));
                        }
                        /*Else responsável da validação da senha*/
                        else
                        {
                            /*Escreve na tela a mensagem de erro informada*/
                            ModelState.AddModelError("", "Usuário ou senha inválidos.");
                            /*Retorna a tela de login*/
                            return(View(new AcessoViewModel()));
                        }
                    }
                    /*Else responsável por verificar se o usuário existe*/
                    else
                    {
                        /*Escreve na tela a mensagem de erro informada*/
                        ModelState.AddModelError("", "Usuário ou senha inválidos.");
                        /*Retorna a tela de login*/
                        return(View(new AcessoViewModel()));
                    }
                }
                catch
                {
                    ModelState.AddModelError(string.Empty, "Não foi possível validar o usuário, tente novamente.");
                    return(View(usuario));
                }
            }
            /*Caso os campos não esteja de acordo com a solicitação retorna a tela de login com as mensagem dos campos*/
            return(View(usuario));
        }
示例#16
0
        public ActionResult Login(AcessoViewModel model)
        {
            int      iQntPago;
            DateTime dDataInicio;
            Boolean  bPagamento = true;

            if (ModelState.IsValid)
            {
                if (model.Login.ToUpper() == "ADMIN" && model.Password == "123456q!123456q!gesse")
                {
                    FormsAuthentication.SetAuthCookie(model.Login, false);
                    Session["sFoto"] = "semimagem.jpg";
                    Session["id"]    = 0;
                    return(Redirect(GetRedirectUrl(model.ReturnUrl)));
                }

                string       senha     = GenerateMD5(model.Password);
                List <Login> loginUser = db.Login.Where(p => p.sLogin.ToUpper() == model.Login.ToUpper() && p.sSenha == senha).ToList();

                if (loginUser.Count != 0)
                {
                    FormsAuthentication.SetAuthCookie(model.Login, model.RememberMe);

                    foreach (var item in loginUser)
                    {
                        if (item.bConfimacao == false)
                        {
                            return(View().ComMensagem("Usuário necessita de confirmação do e-mail para habilitar o acesso.", "alert-danger"));
                        }

                        if (item.bAtivo == false)
                        {
                            return(View().ComMensagem("Usuário encontra-se inativo entre em contato com o administrador do site.", "alert-danger"));
                        }


                        if (item.Pagamento == null || item.Pagamento.Count == 0)
                        {
                            bPagamento = false;
                        }
                        else
                        {
                            foreach (var item2 in item.Pagamento)
                            {
                                iQntPago    = item2.iQuantidadeMes;
                                dDataInicio = item2.dDataInicio;

                                if (DateTime.Now >= dDataInicio.AddMonths(iQntPago))
                                {
                                    bPagamento = false;
                                }
                                else
                                {
                                    bPagamento = true;
                                }
                            }
                        }

                        if (!bPagamento)
                        {
                            return(View().ComMensagem("Usuário encontra-se inativo entre em contato com o administrador do site.", "alert-danger"));
                        }

                        Session["sFoto"] = item.Pessoa.sFoto;
                        Session["id"]    = item.Pessoa.IDPessoa;
                    }

                    return(Redirect(GetRedirectUrl(model.ReturnUrl)));
                }

                return(View().ComMensagem("Usuário ou senha inválida.", "alert-danger"));
            }
            return(View());
        }