using System; using System.Data.SqlClient; using SvetoforVKBot.Models.Updates; using VkNet; using VkNet.Enums.SafetyEnums; using VkNet.Model.Keyboard; using VkNet.Model.RequestParams; using System.Text.RegularExpressions; using System.Collections.Generic; using System.Collections.ObjectModel; using Newtonsoft.Json; using System.Linq; namespace SvetoforVKBot.Models.Commands.LK.Tracks { public class SelectRationCommand : Command { public override string Name => "{\"button\":\"selectRation-"; public override void Execute(RootObject update, VkApi client, SvetoforVKBot.Data.SvetoforVKBotEntities db) { } public override void ExecutePL(RootObject update, VkApi client, SvetoforVKBot.Data.SvetoforVKBotEntities db) { var chatId = update.@object.message.from_id; MessagesSendParams @params = new MessagesSendParams(); Regex regex = new Regex("[^0-9]"); string msg = ""; var keyboardBuilder = new KeyboardBuilder().Clear(); int age = 0; int genderCoef = 0; double kkalResult = 0; double colorPercent = 0; double dayCoef = 0; double curDayKkal = 0; try { string[] payload = update.@object.message.payload.Split('-'); int track = Convert.ToInt32(regex.Replace(payload[1], "")); Dictionary colors = new Dictionary(3); colors.Add(1, "🟩"); //З colors.Add(2, "🟦"); //C colors.Add(3, "🟨"); //Ж Dictionary tracks = new Dictionary(7); tracks.Add(1, "Оптимизация питания"); tracks.Add(2, "Снижение жировой массы"); tracks.Add(3, "Увеличение мышечной массы"); tracks.Add(4, "Персональный режим"); var user = db.Users.Single(usr => usr.chatId == chatId); switch (track) { case 1: @params.Message = "Необходимо свести к минимуму в рационе питания:" + "\n" + "• жирное мясо;\n" + "• майонез, сливочные соусы;\n" + "• консервы и соления;\n" + "• копчености;\n" + "• фастфуд;\n" + "• белый хлеб и выпечку;\n" + "• кондитерские изделия;\n" + "• пакетированные соки;\n" + "• газированную воду;\n" + "• лакомства из пакетов (чипсы, снеки, сухарики с добавками). " + "\n\n" + "Как можно чаще на столе должны быть:" + "\n" + "• свежие фрукты и овощи,\n" + "• молочные продукты,\n" + "• цельнозерновой хлеб,\n" + "• белое мясо,\n" + "• рыба и морепродукты,\n" + "• каши,\n" + "• свежевыжатые соки,\n" + "• орехи и семечки, \n" + "• сухофрукты,\n" + "• яйца,\n" + "• твердый сыр,\n" + "• растительные масла (оливковое, льняное и т.д.)" + "\n\n" + "Если Вас не устраивает данный рацион и Вам необходима индивидуальная консультация специалиста, то выберете трек \"Персональный режим\""; break; case 2: @params.Message = "Необходимо свести к минимуму в рационе питания:" + "\n" + "• жирное мясо;\n" + "• майонез, сливочные соусы;\n" + "• консервы и соления;\n" + "• копчености;\n" + "• фастфуд;\n" + "• белый хлеб и выпечку;\n" + "• кондитерские изделия;\n" + "• пакетированные соки;\n" + "• газированную воду;\n" + "• лакомства из пакетов (чипсы, снеки, сухарики с добавками). " + "\n\n" + "Как можно чаще на столе должны быть:" + "\n" + "• свежие фрукты и овощи,\n" + "• молочные продукты,\n" + "• цельнозерновой хлеб,\n" + "• белое мясо,\n" + "• рыба и морепродукты,\n" + "• каши,\n" + "• свежевыжатые соки,\n" + "• орехи и семечки, \n" + "• сухофрукты,\n" + "• яйца,\n" + "• твердый сыр,\n" + "• растительные масла (оливковое, льняное и т.д.)" + "\n\n" + "Если Вас не устраивает данный рацион и Вам необходима индивидуальная консультация специалиста, то выберете трек \"Персональный режим\""; break; case 3: @params.Message = "Необходимо свести к минимуму в рационе питания:" + "\n" + "• жирное мясо;\n" + "• майонез, сливочные соусы;\n" + "• консервы и соления;\n" + "• копчености;\n" + "• фастфуд;\n" + "• белый хлеб и выпечку;\n" + "• кондитерские изделия;\n" + "• пакетированные соки;\n" + "• газированную воду;\n" + "• лакомства из пакетов (чипсы, снеки, сухарики с добавками). " + "\n\n" + "Как можно чаще на столе должны быть:" + "\n" + "• свежие фрукты и овощи,\n" + "• молочные продукты,\n" + "• цельнозерновой хлеб,\n" + "• белое мясо,\n" + "• рыба и морепродукты,\n" + "• каши,\n" + "• свежевыжатые соки,\n" + "• орехи и семечки, \n" + "• сухофрукты,\n" + "• яйца,\n" + "• твердый сыр,\n" + "• растительные масла (оливковое, льняное и т.д.)" + "\n\n" + "Если Вас не устраивает данный рацион и Вам необходима индивидуальная консультация специалиста, то выберете трек \"Персональный режим\""; break; } if (track != 4 && user.track == 0) { keyboardBuilder .AddButton(colors[track] + "Выбрать этот трек", "selectChooseTrack-" + track, KeyboardButtonColor.Positive) .AddLine() .AddButton("Примерное меню", "selectExampleMenu-" + track, KeyboardButtonColor.Primary) .AddLine() .AddButton("Персональный режим", "selectTrack-4", KeyboardButtonColor.Primary) .AddLine() .AddButton("Назад", "selectTrack-" + track, KeyboardButtonColor.Default); } else if (track != 0 && user.track != 0) { keyboardBuilder //.AddButton("Рацион питания", "selectRation-" + track, KeyboardButtonColor.Primary) .AddButton("Примерное меню", "selectExampleMenu-" + track, KeyboardButtonColor.Primary) .AddLine() .AddButton("Персональный режим", "selectTrack-4", KeyboardButtonColor.Primary) .AddLine() .AddButton("Назад", "startPL", KeyboardButtonColor.Default); } @params.Keyboard = keyboardBuilder.Build(); @params.UserId = chatId; @params.RandomId = GetRandomId(); client.Messages.SendAsync(@params); } catch (Exception ee) { @params.Message = "‼Ошибка в SelectRationCommand: " + ee.Message; @params.Attachments = null; @params.Keyboard = null; @params.UserId = 59111081; @params.RandomId = GetRandomId(); client.Messages.SendAsync(@params); } } } }