コード例 #1
0
        public DashboardConsultaTransporte()
        {
            InitializeComponent();
            BindingContext = new TransporteVM();

            listView.ItemTapped += (sender, args) =>
            {
                if (listView.SelectedItem == null)
                {
                    return;
                }

                listView.SelectedItem = null;
            };
        }
コード例 #2
0
        public async Task <IActionResult> PostTranposte([FromBody] TransporteVM credentials)
        {
            string nomeCompleto = "", email = "", cel = "", uidNumber = "", celTratada = "";

            try
            {
                var decrypted = Decrypt.DecryptString(credentials.Chave, _configuration["Transporte:Chave"]);
                if (!decrypted.Contains(credentials.Usuario.ToUpper().Substring(0, 3)))
                {
                    return(StatusCode(401, new { Name = "Token Invalido." }));
                }
                decrypted = decrypted.Replace(credentials.Usuario.ToUpper().Substring(0, 3), "");
                DateTime dataTransporte = DateTime.ParseExact(decrypted, "ddMMyyyyHH", null);
                if (dataTransporte < DateTime.UtcNow.AddHours(-1))
                {
                    return(StatusCode(401, new { Name = "Token Expirou." }));
                }
            }
            catch (Exception e)
            {
                return(StatusCode(401, new { Name = "Sem Autorização." }));
            }

            using (var cn = new LdapConnection())
            {
                try
                {
                    cn.Connect(_ldapConfig.FirstOrDefault().Hostname, _ldapConfig.FirstOrDefault().Port);

                    cn.Bind(String.Format("stefanini-dom\\{0}", _ldapConfig.FirstOrDefault().LoginAD), _ldapConfig.FirstOrDefault().Password);

                    var    searchBase = string.Empty;
                    string filterInformacaoUsuario = "(sAMAccountName=" + credentials.Usuario + ")";
                    var    search = cn.Search("DC=stefanini,DC=dom", LdapConnection.SCOPE_SUB, filterInformacaoUsuario, null, false);

                    if (search.hasMore())
                    {
                        var nextEntry = search.next();
                        var user      = nextEntry.getAttributeSet();
                        nomeCompleto = (user.getAttribute("displayName") != null) ? user.getAttribute("displayName").StringValue : "";
                        email        = (user.getAttribute("mail") != null) ? user.getAttribute("mail").StringValue : "";
                        cel          = (user.getAttribute("department") != null) ? user.getAttribute("department").StringValue.Split('|')[0] : "";
                        celTratada   = (user.getAttribute("department") != null) ? TratarCelula(user.getAttribute("department").StringValue.Split('|')[0]) : "";
                        uidNumber    = (user.getAttribute("uidNumber") != null) ? user.getAttribute("uidNumber").StringValue : "";
                    }
                }
                catch (LdapException e)
                {
                    return(StatusCode(401, new { Name = "Sem Autorização." }));
                }
            }

            try
            {
                var celulasVisualizadas = ObterCelulasVisualizadas(credentials.Usuario, Convert.ToInt32(celTratada));

                var identity = _jwtFactory.GenerateClaimsIdentity(credentials.Usuario, nomeCompleto, email, null, cel, uidNumber, celulasVisualizadas, celTratada);
                var jwt      = await Tokens.GenerateJwt(identity, _jwtFactory, credentials.Usuario, _jwtOptions, new JsonSerializerSettings { Formatting = Formatting.Indented });

                var tokenLogin = await GerarTokenLoginUsuario(credentials.Usuario);

                var tokens = new List <string>();
                tokens.Add(jwt);
                tokens.Add(tokenLogin);
                Console.WriteLine("Login realizado: " + nomeCompleto);
                return(new OkObjectResult(tokens));
            }
            catch (Exception)
            {
                throw;
            }
        }