Example #1
0
        private async Task GetInformationRRHHSign(IDialogContext context)
        {
            try
            {
                PeopeAppService searchService = new PeopeAppService();
                if (!Session.Result)
                {
                    await StartAsync(context);
                }
                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}");
            }
        }
Example #2
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}");
            }
        }
Example #3
0
        private async Task CardPetitions(IDialogContext context)
        {
            var message = context.MakeMessage();

            message.Attachments      = new List <Attachment>();
            message.AttachmentLayout = AttachmentLayoutTypes.Carousel;
            message.Attachments.Add(SettingsCardDialog.CardPeticionesHelpDesk().ToAttachment());
            message.Text = $"Tambien puedes crear petición para:";
            await context.PostAsync(message);
        }
Example #4
0
        private async Task SelectedInTHelpDesk(IDialogContext context)
        {
            var message = context.MakeMessage();

            message.Attachments      = new List <Attachment>();
            message.AttachmentLayout = AttachmentLayoutTypes.Carousel;
            message.Attachments.Add(SettingsCardDialog.CardHelpDesk().ToAttachment());
            message.Text = $"¡Correcto! Te presentamos una guía con las opciones que te ofrece mesa de ayuda.";
            await context.PostAsync(message);
        }
Example #5
0
        private async Task CardPetitions(IDialogContext context)
        {
            var message = context.MakeMessage();

            message.Attachments      = new List <Attachment>();
            message.AttachmentLayout = AttachmentLayoutTypes.Carousel;
            message.Attachments.Add(SettingsCardDialog.CardPeticionesHelpDesk().ToAttachment());
            message.Text = $"Si deseas, puedes empezar aquí. Elige tu opción y se abrirá la página correspondiente.";
            await context.PostAsync(message);
        }
Example #6
0
        private async Task CardDoscFrecuent(IDialogContext context)
        {
            var message = context.MakeMessage();

            message.Attachments      = new List <Attachment>();
            message.AttachmentLayout = AttachmentLayoutTypes.Carousel;
            message.Attachments.Add(SettingsCardDialog.CardDocsFrencuent().ToAttachment());
            message.Text = $"¡CORRECTO...! Te presento los documentos más solicitados. Elige el que deseas descargar.";
            await context.PostAsync(message);
        }
Example #7
0
        private async Task SelectedInTHelpDesk(IDialogContext context)
        {
            var message = context.MakeMessage();

            message.Attachments      = new List <Attachment>();
            message.AttachmentLayout = AttachmentLayoutTypes.Carousel;
            message.Attachments.Add(SettingsCardDialog.CardHelpDesk().ToAttachment());
            message.Text = $"¡GENIAL...! Con esta guía podrás realizar tus peticiones de manera más sencilla.";
            await context.PostAsync(message);
        }
Example #8
0
        private Activity HandleSystemMessage(Activity message)
        {
            if (message.Type == ActivityTypes.DeleteUserData)
            {
                // Implement user deletion here
                // If we handle user deletion, return a real message
            }
            else if (message.Type == ActivityTypes.ConversationUpdate)
            {
                IConversationUpdateActivity update = message;
                var client = new ConnectorClient(new Uri(message.ServiceUrl), new MicrosoftAppCredentials());
                if (update.MembersAdded != null && update.MembersAdded.Any())
                {
                    foreach (var newMember in update.MembersAdded)
                    {
                        if (newMember.Id != message.Recipient.Id)
                        {
                            var init = new List <Attachment>()
                            {
                                SettingsCardDialog.CardIntranet().ToAttachment(),
                                 SettingsCardDialog.CardInfColaborador().ToAttachment(),
                                 SettingsCardDialog.CardSolucionesTI().ToAttachment(),
                            };


                            var reply = message.CreateReply();
                            reply.Text = $"¡Hola, soy Merlí! el asistente virtual del BRITANICO. Permíteme ayudarte en los siguientes temas:";
                            //reply = message.CreateReply();
                            reply.Attachments      = init;
                            reply.AttachmentLayout = AttachmentLayoutTypes.Carousel;
                            client.Conversations.ReplyToActivityAsync(reply);
                        }
                    }
                }
            }
            else if (message.Type == ActivityTypes.ContactRelationUpdate)
            {
                // Handle add/remove from contact lists
                // Activity.From + Activity.Action represent what happened
            }
            else if (message.Type == ActivityTypes.Typing)
            {
                ConnectorClient connector = new ConnectorClient(new Uri(message.ServiceUrl));
                Activity        reply     = message.CreateReply();
                reply.Type = ActivityTypes.Typing;
                reply.Text = "...";
                connector.Conversations.ReplyToActivityAsync(reply);
                // Handle knowing tha the user is typing
            }
            else if (message.Type == ActivityTypes.Ping)
            {
            }

            return(null);
        }
Example #9
0
        public async Task StartAsync(IDialogContext context)
        {
            var message = context.MakeMessage();

            message.Attachments      = new List <Attachment>();
            message.AttachmentLayout = AttachmentLayoutTypes.Carousel;
            message.Attachments.Add(SettingsCardDialog.CardPeopleAdm().ToAttachment());
            message.Text = $"¡Correcto! Tenemos estas opciones.";
            await context.PostAsync(message);

            context.Wait(MessageRecievedAsync);
        }
Example #10
0
        private async Task CardCarousel(IDialogContext context)
        {
            var message = context.MakeMessage();

            message.Attachments      = new List <Attachment>();
            message.AttachmentLayout = AttachmentLayoutTypes.Carousel;
            message.Attachments.Add(SettingsCardDialog.CardIntranet().ToAttachment());
            message.Attachments.Add(SettingsCardDialog.CardInfColaborador().ToAttachment());
            message.Attachments.Add(SettingsCardDialog.CardSolucionesTI().ToAttachment());
            message.Text = $"Permíteme ayudarte en los siguientes temas.";
            await context.PostAsync(message);

            context.Wait(this.MessageReceivedAsync);
        }
Example #11
0
        public async Task ResumeAfter(IDialogContext context)
        {
            var message = context.MakeMessage();

            message.Attachments      = new List <Attachment>();
            message.AttachmentLayout = AttachmentLayoutTypes.Carousel;
            message.Attachments.Add(SettingsCardDialog.CardIntranet().ToAttachment());
            message.Attachments.Add(SettingsCardDialog.CardInfColaborador().ToAttachment());
            message.Attachments.Add(SettingsCardDialog.CardSolucionesTI().ToAttachment());
            // message.Text = $"Te puedo ayudar con las siguientes opciones.";
            await context.PostAsync(message);

            context.Wait(this.MessageReceivedAsync);
        }
Example #12
0
        private async Task AfterMenuSelection(IDialogContext context, IAwaitable <string> result)
        {
            var message        = context.MakeMessage();
            var optionSelected = await result;

            switch (optionSelected)
            {
            case SettingsCardDialog.OPPcPrint:
                message.Attachments.Add(SettingsCardDialog.CardPCPrintOptions().ToAttachment());
                await context.PostAsync(message);

                break;

            case SettingsCardDialog.OPConnectivity:
                message.Attachments.Add(SettingsCardDialog.CardConnectivityOptions().ToAttachment());
                await context.PostAsync(message);

                break;

            case SettingsCardDialog.OPLogin:
                message.Attachments.Add(SettingsCardDialog.CardLoginOptions().ToAttachment());
                await context.PostAsync(message);

                break;

            case SettingsCardDialog.OPPOS:
                message.Attachments.Add(SettingsCardDialog.CardPOSOptions().ToAttachment());
                await context.PostAsync(message);

                break;

            case SettingsCardDialog.OPTicket:
                message.Attachments.Add(SettingsCardDialog.CardTickesOptions().ToAttachment());
                await context.PostAsync(message);

                break;

            case SettingsCardDialog.OPEmailOutlook:
                message.Attachments.Add(SettingsCardDialog.CardEmailOutlookOptions().ToAttachment());
                await context.PostAsync(message);

                break;
            }
        }
Example #13
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);
            }
        }
Example #14
0
        private async Task AfterMenuSelection(IDialogContext context, IAwaitable <string> result)
        {
            var message        = context.MakeMessage();
            var optionSelected = await result;

            switch (optionSelected)
            {
            case SettingsCardDialog.InTSearchDocuments:
                CardUtil.ShowSearchDocumentCard(context);
                Thread.Sleep(4000);
                await SelectedConfirmTI(context);

                break;

            case SettingsCardDialog.OPComputer:
                message.Attachments.Add(SettingsCardDialog.CardComputerOptions().ToAttachment());
                await context.PostAsync(message);

                Thread.Sleep(4000);
                await SelectedConfirmTI(context);

                break;

            case SettingsCardDialog.OPPcPrint:
                message.Attachments.Add(SettingsCardDialog.CardPCPrintOptions().ToAttachment());
                await context.PostAsync(message);

                Thread.Sleep(4000);
                await SelectedConfirmTI(context);

                break;

            case SettingsCardDialog.OPTicket:
                message.Attachments.Add(SettingsCardDialog.CardTickesOptions().ToAttachment());
                await context.PostAsync(message);

                Thread.Sleep(4000);
                await SelectedConfirmTI(context);

                break;

            case SettingsCardDialog.OPProyector:
                message.Attachments.Add(SettingsCardDialog.CardProyectorOptions().ToAttachment());
                await context.PostAsync(message);

                Thread.Sleep(4000);
                await SelectedConfirmTI(context);

                break;

            case SettingsCardDialog.OPConnectivity:
                message.Attachments.Add(SettingsCardDialog.CardConnectivityOptions().ToAttachment());
                await context.PostAsync(message);

                Thread.Sleep(4000);
                await SelectedConfirmTI(context);

                break;

            case SettingsCardDialog.OPEmailOutlook:
                message.Attachments.Add(SettingsCardDialog.CardEmailOutlookOptions().ToAttachment());
                await context.PostAsync(message);

                Thread.Sleep(4000);
                await SelectedConfirmTI(context);

                break;

            default:
                await context.PostAsync(string.Format(CultureInfo.CurrentCulture, "La opción {0} no es válida. Por favor intente de nuevo", optionSelected));
                await SelectedITOptionsk(context);

                break;
            }
        }