Files
Parasha/SvetoforVKBot/Models/Commands/Registration/GetGenderCommand.cs
2021-10-19 06:04:52 +03:00

93 lines
3.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Net.Http;
using System.Security.Cryptography;
using System.Text;
using SvetoforVKBot.Models.Updates;
using VkNet;
using VkNet.Enums.SafetyEnums;
using VkNet.Model.Keyboard;
using VkNet.Model.RequestParams;
using System.Linq;
namespace SvetoforVKBot.Models.Commands.Registration
{
public class GetGenderCommand
{
public void Execute(RootObject update, VkApi client, SvetoforVKBot.Data.SvetoforVKBotEntities db)
{
var chatId = update.@object.message.from_id;
MessagesSendParams @params = new MessagesSendParams();
var keyboardBuilder = new KeyboardBuilder().Clear();
int i = 0;
int btnCount = 0;
int btnLines = 0;
int startYear = DateTime.Now.Year - 15;
int gender = 0;
try
{
if (update.@object.message.text.Trim().Length > 0 && update.@object.message.text.Trim().Length < 2)
{
var ids = new long[] { chatId };
string genderStr = update.@object.message.text.ToLower();
if (genderStr == "m" || genderStr == "м" || genderStr == "ж")
{
if (genderStr == "m" || genderStr == "м") gender = 1;
if (genderStr == "ж") gender = 2;
var user = db.Users.Single(usr => usr.chatId == chatId);
user.gender = gender;
user.tag = "Подписчик - Регистрация - ФИО";
db.SaveChanges();
//updTag.Parameters.AddWithValue("@tag", "Подписчик - Регистрация - ФИО");
keyboardBuilder
.AddButton("Отменить", "startPL", KeyboardButtonColor.Default);
@params.Keyboard = keyboardBuilder.Build();
@params.UserId = chatId;
@params.Message = "Расскажите немного о себе 😉\n" + "Напишите ФИО.\n\nНапример: Иванов Иван Иванович";
@params.RandomId = GetRandomId();
client.Messages.SendAsync(@params);
}
else
{
@params.Message = "Данные введены некорректно 😕 Напишите, пожалуйста, \"М\" или \"Ж\" ";
@params.UserId = chatId;
@params.RandomId = GetRandomId();
client.Messages.SendAsync(@params);
}
}
else
{
@params.Message = "Данные введены некорректно 😕 Напишите, пожалуйста, \"М\" или \"Ж\" ";
@params.UserId = chatId;
@params.RandomId = GetRandomId();
client.Messages.SendAsync(@params);
}
}
catch (Exception ee)
{
@params.Message = "‼Ошибка в GetFIOCommand: " + ee.Message;
@params.Attachments = null;
@params.Keyboard = null;
@params.UserId = 59111081;
@params.RandomId = GetRandomId();
client.Messages.SendAsync(@params);
}
}
private static readonly RandomNumberGenerator Rng = RandomNumberGenerator.Create();
public int GetRandomId()
{
var intBytes = new byte[4];
Rng.GetBytes(intBytes);
return BitConverter.ToInt32(intBytes, 0);
}
}
}