Пример #1
0
        private async Task GetInformationRRHH(IDialogContext context, IAwaitable <string> result)
        {
            var answer = await result;

            user.Password = answer;
            try
            {
                PeopeAppService searchService = new PeopeAppService();
                login = await searchService.Autenticate(user);

                login.Nombres = "Juan Perez Perez";
                if (login.Result)
                {
                    var message = context.MakeMessage();
                    message.Attachments      = new List <Attachment>();
                    message.AttachmentLayout = AttachmentLayoutTypes.Carousel;
                    message.Attachments.Add(SettingsCardDialog.CardRRHH().ToAttachment());
                    message.Text = $"Hola, " + login.Nombres + " estas en la sección Recursos Humanos";
                    await context.PostAsync(message);

                    context.Wait(MessageRecievedAsync);
                }
                else
                {
                    await context.PostAsync(string.Format(CultureInfo.CurrentCulture, "Los datos ingresados no son correctos. Por favor intente de nuevo", user.UserOrEmailAdrees));

                    PromptDialog.Text(context, ResumePeopleUserName, "Por favor, ingrese el usuario con el cual inicia sesión en su computador:");
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine($"Error when searching for people: {e.Message}");
            }
        }
Пример #2
0
        public async Task <Holiday> GetRRHHHolidays(ResultAutenticate input)
        {
            using (var httpClient = new HttpClient())
            {
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                //  httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "THIS TOKEN");
                httpClient.BaseAddress = new Uri(UrlApiBritanico);
                var response = await httpClient.GetAsync("api/vacaciones/consultar?codigo=" + input.Codigo);

                var resultContent = response.Content.ReadAsStringAsync().Result;
                return(JsonConvert.DeserializeObject <Holiday>(resultContent));
            }
        }
Пример #3
0
        private string CreateToken(ClaimsIdentity identity, ResultAutenticate result, JwtSecurityTokenHandler handler)
        {
            var securityToken = handler.CreateToken(new Microsoft.IdentityModel.Tokens.SecurityTokenDescriptor()
            {
                Issuer             = _tokenConfiguration.Issuer,
                Audience           = _tokenConfiguration.Audience,
                SigningCredentials = _signConfiguration.Credentials,
                Subject            = identity,
                NotBefore          = result.DateCreated,
                Expires            = result.DateExpiration
            });

            var token = handler.WriteToken(securityToken);

            return(token);
        }
Пример #4
0
        private async Task GetInformationRRHH(IDialogContext context, IAwaitable <string> result)
        {
            var answer = await result;

            try
            {
                PeopeAppService searchService = new PeopeAppService();

                user.Password = answer;
                login         = await searchService.Autenticate(user);

                Session.Result     = login.Result;
                Session.Codigo     = login.Codigo;
                Session.Nombre     = login.Nombres;
                Session.Expiration = DateTime.UtcNow;
                if (Session.Result)
                {
                    var message = context.MakeMessage();
                    message.Attachments      = new List <Attachment>();
                    message.AttachmentLayout = AttachmentLayoutTypes.Carousel;
                    message.Attachments.Add(SettingsCardDialog.CardRRHH().ToAttachment());
                    message.Text = $"Hola, " + Session.Nombre;
                    await context.PostAsync(message);

                    context.Wait(MessageRecievedAsync);
                }
                else
                {
                    await context.PostAsync(string.Format(CultureInfo.CurrentCulture, "Tus datos no son correctos. Por favor intenta nuevamente", user.UserOrEmailAdrees));

                    PromptDialog.Text(context, ResumePeopleUserName, "Ingresa nuevamente tu código de empleado:");
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine($"Error when searching for people: {e.Message}");
                await context.PostAsync("¡LO SIENTO...! Por el momento no esta disponible este servicio. Por favor, intente más tarde.");

                context.Done <object>(null);
            }
        }
Пример #5
0
        public ResultAutenticate Authenticate(User u)
        {
            User user = _userServiceSqlServer.FindByLogin(u.Login, u.AccessKey);

            if (user != null)
            {
                ClaimsIdentity identity = new ClaimsIdentity(
                    new GenericIdentity(user.Login, "Login"), new[] {
                    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")),
                    new Claim(JwtRegisteredClaimNames.UniqueName, user.Login)
                });

                ResultAutenticate result = new ResultAutenticate(true, user, _tokenConfiguration.TimeSession);

                var    handler = new JwtSecurityTokenHandler();
                string token   = CreateToken(identity, result, handler);

                return(result);
            }

            return(new ResultAutenticate(false, user, _tokenConfiguration.TimeSession));
        }