Example #1
0
        private void buttonSinc_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                //progressBarDownload.IsIndeterminate = true;
                //DateTime dtServ = FTPSinchronisation.GetDataServerBD();
                //DateTime dtLoc = FTPSinchronisation.GetDataLocalBd();
                //if (dtServ < dtLoc)
                //{
                //    string message = $"Сервер БД: {dtServ},\nЛокал БД: {dtLoc}\n" +
                //        $"БД сервера старее локальной БД.\n" +
                //        $"Продолжить скачивание?";
                //    MessageBoxResult messageBoxResult = MessageBox.Show(message, "Внимание!", MessageBoxButton.YesNo, MessageBoxImage.Question);
                //    if (messageBoxResult == MessageBoxResult.No)
                //    {
                //        return;
                //    }

                //}

                //double size = FTPSinchronisation.GetSizeServerDB();
                //progressBarDownload.Maximum = size;
                //int oneProcent = (int)size / 100;
                progressBarDownload.IsIndeterminate = true;
                HelpWorker hw = new HelpWorker(0, progressBarDownload);
                backgroundWorker.RunWorkerAsync(hw);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Внимание!", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
        }
Example #2
0
        private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            //progressBarDownload.IsIndeterminate = true;
            HelpWorker hw = (HelpWorker)e.Argument;

            FTPSinchronisation.DownloadDb(backgroundWorker, hw.Size);
        }
Example #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="LuisBot"/> class.
        /// </summary>
        /// <param name="services">Services configured from the ".bot" file.</param>
        public LuisBot(BotServices services, LuisBotAccessors accessors, GrossIncomeIntentWorker grossIncomeIntentWorker, NetIncomeIntentWorker netIncomeIntentWorker, OutgoingInvoicePaymentCheckWorker outgoingInvoicePaymentCheckWorker, LogoutWorker logoutWorker, HelpWorker helpWorker, GreetingWorker greetingWorker, ILoggerFactory loggerFactory)
        {
            _services = services ?? throw new System.ArgumentNullException(nameof(services));

            var luisKey = GetLuisKey();

            if (!_services.LuisServices.ContainsKey(luisKey))
            {
                throw new System.ArgumentException($"Invalid configuration. Please check your '.bot' file for a LUIS service named '{luisKey}'.");
            }

            _stateAccessors = accessors ?? throw new ArgumentNullException(nameof(accessors));

            _grossIncomeIntentWorker           = grossIncomeIntentWorker ?? throw new System.ArgumentNullException(nameof(grossIncomeIntentWorker));
            _netIncomeIntentWorker             = netIncomeIntentWorker ?? throw new System.ArgumentNullException(nameof(netIncomeIntentWorker));
            _outgoingInvoicePaymentCheckWorker = outgoingInvoicePaymentCheckWorker ?? throw new System.ArgumentNullException(nameof(outgoingInvoicePaymentCheckWorker));
            _logoutWorker   = logoutWorker ?? throw new System.ArgumentNullException(nameof(logoutWorker));
            _helpWorker     = helpWorker ?? throw new System.ArgumentNullException(nameof(helpWorker));
            _greetingWorker = greetingWorker ?? throw new System.ArgumentNullException(nameof(greetingWorker));
            _loggerFactory  = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory));

            _dialogs = new DialogSet(_stateAccessors.ConversationDialogState);

            // Add the OAuth prompts and related dialogs into the dialog set
            _dialogs.Add(LoginPrompt("MastreenoAuth"));
        }
Example #4
0
        public async Task InvokeAsync(HttpContext context, GrossIncomeIntentWorker grossIncomeIntentWorker, NetIncomeIntentWorker netIncomeIntentWorker, OutgoingInvoicePaymentCheckWorker outgoingInvoicePaymentCheckWorker, HelpWorker helpWorker, GreetingWorker greetingWorker)
        {
            var streamReader = new StreamReader(context.Request.Body);
            var rawBody      = await streamReader.ReadToEndAsync();

            var           skillRequest = JsonConvert.DeserializeObject <SkillRequest>(rawBody.ToString());
            SkillResponse response     = null;

            if (skillRequest.Request is IntentRequest)
            {
                var request    = (IntentRequest)skillRequest.Request;
                var intentName = request.Intent.Name;
                if (intentName == "Gross_Income")
                {
                    var isUserSignedIn = IsUserSignedIn(skillRequest);
                    if (isUserSignedIn == true)
                    {
                        var queryParams = QueryParametersFactory
                                          .Accountancy
                                          .GrossIncome.Parse(request);
                        var msg = grossIncomeIntentWorker.Do(queryParams);
                        response = ResponseBuilder.Tell(msg);
                    }
                    else
                    {
                        response = StartLoginDialogResponse();
                    }
                }
                else if (intentName == "Net_Income")
                {
                    var isUserSignedIn = IsUserSignedIn(skillRequest);
                    if (isUserSignedIn == true)
                    {
                        var queryParams = QueryParametersFactory
                                          .Accountancy
                                          .NetIncome.Parse(request);
                        var msg = netIncomeIntentWorker.Do(queryParams);
                        response = ResponseBuilder.Tell(msg);
                    }
                    else
                    {
                        response = StartLoginDialogResponse();
                    }
                }
                else if (intentName == "Outgoing_Invoice_Payment_Check")
                {
                    var isUserSignedIn = IsUserSignedIn(skillRequest);
                    if (isUserSignedIn == true)
                    {
                        var queryParams = QueryParametersFactory
                                          .Accountancy
                                          .OutgoingInvoicePaymentCheck.Parse(request);
                        var msg = outgoingInvoicePaymentCheckWorker.Do(queryParams);
                        response = ResponseBuilder.Tell(msg);
                    }
                    else
                    {
                        response = StartLoginDialogResponse();
                    }
                }
                else if (intentName == "AMAZON.HelpIntent")
                {
                    var msg      = helpWorker.Do();
                    var reprompt = $"Ground control to major Tom: {msg}";
                    response = ResponseBuilder.Ask(msg, new Reprompt(reprompt));
                }
                else if (intentName == "Greeting")
                {
                    var msg      = greetingWorker.Do();
                    var reprompt = greetingWorker.Do();
                    response = ResponseBuilder.Ask(msg, new Reprompt(reprompt));
                }
                else
                {
                    var msg = "Alas, I couldn't understand what you asked for.";
                    response = ResponseBuilder.Tell(msg);
                }
            }
            else if (skillRequest.Request is LaunchRequest)
            {
                var request  = (LaunchRequest)skillRequest.Request;
                var msg      = "Hi, I am Martin: how can I help you?";
                var reprompt = "Ground control to major Tom: Martin's still waiting for you here.";
                response = ResponseBuilder.Ask(msg, new Reprompt(reprompt));
            }

            var responseJson = JsonConvert.SerializeObject(response);
            await context.Response.WriteAsync(responseJson);

            await _next(context);
        }