Exemple #1
0
        /// <summary>
        /// Выполение команд, предназначенных разработчикам
        /// </summary>
        /// <param name="thisQuery"></param>
        /// <param name="type"></param>
        /// <param name="Bot"></param>
        /// <param name="botUser"></param>
        /// <param name="trimmedLoweredQuery"></param>
        /// <param name="DataOfBot"></param>
        /// <param name="Requests"></param>
        /// <returns></returns>
        public async Task <int> doDevelopersCommands(/*logging*/ BotUserQuery thisQuery /*where*/, SocialNetworkType type, object Bot, /*data*/ string trimmedLoweredQuery, CachedDataModel DataOfBot, /*other*/ List <VKApiRequestModel> Requests = null)
        {
            var sendHelper = new ApiRouter(type, Bot, botUser, Requests);

            try
            {
                var  cmndHelper            = new CommandAnswerHelper();
                bool ThisCommandIsNotExist = true;

                if (trimmedLoweredQuery.Contains("route"))
                {
                    ThisCommandIsNotExist = false;
                    int floornumder = 0;
                    switch (cmndHelper.RouteAnalise(trimmedLoweredQuery, DataOfBot, out floornumder))
                    {
                    case 1:
                        var dh = new DrawHelper(new MallHelpers.Models.CachedDataModel(), null, null);
                        //var result = dh.DrawAllWaysAndAllShops(DataOfBot, floornumder);
                        //await sendHelper.BotSendPhoto(result.Bmp);
                        break;

                    case 2:
                        await sendHelper.SendText("Этажа с таким номером нет в выбранном вами торговом центре. /place");

                        break;

                    case 3:
                        await sendHelper.SendText("Синтаксическая ошибка. Используйте /testfunc_route_=номер этажа=");

                        break;
                    }
                }

                if (ThisCommandIsNotExist)
                {
                    await sendHelper.SendText("Такой команды нет. Доступные команды: \\r\\n\\r\\n/testfunc_route_1 - где 1 - любой номер этажа");
                }
            }
            catch
            {
                await sendHelper.SendText("testfunc_функция_параметр  !!!");
            }
            return(1);
        }
Exemple #2
0
        /// <summary>
        /// Выполение команд, предназначенных для детальной работы с Тогрговыми Центрами
        /// </summary>
        /// <param name="thisQuery"></param>
        /// <param name="type"></param>
        /// <param name="Bot"></param>
        /// <param name="botUser"></param>
        /// <param name="trimmedLoweredQuery"></param>
        /// <param name="DataOfBot"></param>
        /// <param name="Requests"></param>
        /// <returns></returns>
        public async Task <Customer> doSetSettingsAboutMallsCommands(/*logging*/ BotUserQuery thisQuery /*where*/, SocialNetworkType type, object Bot, /*data*/ string trimmedLoweredQuery, MallBotContext dbMainContext, /*other*/ List <VKApiRequestModel> Requests = null)
        {
            var sendHelper = new ApiRouter(type, Bot, botUser, Requests);

            try
            {
                if (trimmedLoweredQuery.Contains("starttestmode"))
                {
                    botUser.IsTestMode          = 1;
                    botUser.CustomerCompositeID = "empty";
                    botUser.ModifiedDate        = DateTime.Now;
                    dbMainContext.SaveChanges();

                    await sendHelper.SendText(textHelper.GetMessage("%starttestmode%"));

                    return(null);
                }

                if (trimmedLoweredQuery.Contains("endtestmode"))
                {
                    botUser.IsTestMode          = 0;
                    botUser.CustomerCompositeID = "empty";
                    botUser.ModifiedDate        = DateTime.Now;
                    dbMainContext.SaveChanges();

                    await sendHelper.SendText(textHelper.GetMessage("%endtestmode%"));

                    return(null);
                }

                if (trimmedLoweredQuery.Contains("place"))
                {
                    var      cmndHelper   = new CommandAnswerHelper();
                    Customer thisCustomer = null;
                    switch (cmndHelper.PlaceAnalise(trimmedLoweredQuery, out thisCustomer))
                    {
                    case 1:
                        botUser.CustomerCompositeID = trimmedLoweredQuery.Split('_')[2].ToUpper();
                        botUser.ModifiedDate        = DateTime.Now;
                        dbMainContext.SaveChanges();
                        await sendHelper.SendText($"Ура! Вы выбрали «{thisCustomer.Name}»");

                        return(thisCustomer);

                    case 2:
                        await sendHelper.SendText("Торгового центра с таким ключом не существует!");

                        return(null);

                    case 3:
                        await sendHelper.SendText("Синтаксическая ошибка. Используйте /mallset_place_=id= \\r\\nгде =id= - составной ключ. Например, /mallset_place_A1");

                        return(null);

                    case 4:
                        await sendHelper.SendText("Ошибка приложения. Попробуйте выполнить команду еще раз");

                        return(null);
                    }
                    return(null);
                }

                await sendHelper.SendText("Такой команды нет. Доступные команды: \\r\\n\\r\\n/mallset_starttestmode \\r\\n/mallset_endtestmode");

                return(null);
            }
            catch
            {
                await sendHelper.SendText("mallset_функция  !!!");

                return(null); // ошибка
            }
        }