Добавьте файлы проекта.
This commit is contained in:
197
SvetoforVKBot/Models/Commands/LK/Tracks/SelectRationCommand.cs
Normal file
197
SvetoforVKBot/Models/Commands/LK/Tracks/SelectRationCommand.cs
Normal file
@@ -0,0 +1,197 @@
|
||||
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<int, string> colors = new Dictionary<int, string>(3);
|
||||
colors.Add(1, "🟩"); //З
|
||||
colors.Add(2, "🟦"); //C
|
||||
colors.Add(3, "🟨"); //Ж
|
||||
|
||||
Dictionary<int, string> tracks = new Dictionary<int, string>(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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user