mirror of
https://github.com/Bubuni-Team/telegram-bot.git
synced 2026-07-31 00:29:24 +03:00
Use file-scoped namespaces
This commit is contained in:
+18
-19
@@ -1,24 +1,23 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Kruzya.TelegramBot.Core.Data
|
||||
{
|
||||
public class BotUser
|
||||
{
|
||||
/// <summary>
|
||||
/// The unique bot user identifier.
|
||||
/// </summary>
|
||||
[Key]
|
||||
public Guid BotUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The chat identifier where this user is related.
|
||||
/// </summary>
|
||||
public long ChatId { get; set; }
|
||||
namespace Kruzya.TelegramBot.Core.Data;
|
||||
|
||||
/// <summary>
|
||||
/// The Telegram User identifier.
|
||||
/// </summary>
|
||||
public long UserId { get; set; }
|
||||
}
|
||||
public class BotUser
|
||||
{
|
||||
/// <summary>
|
||||
/// The unique bot user identifier.
|
||||
/// </summary>
|
||||
[Key]
|
||||
public Guid BotUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The chat identifier where this user is related.
|
||||
/// </summary>
|
||||
public long ChatId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The Telegram User identifier.
|
||||
/// </summary>
|
||||
public long UserId { get; set; }
|
||||
}
|
||||
+26
-27
@@ -4,38 +4,37 @@ using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Kruzya.TelegramBot.Core.Data
|
||||
namespace Kruzya.TelegramBot.Core.Data;
|
||||
|
||||
public class BotUserValue
|
||||
{
|
||||
public class BotUserValue
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Key]
|
||||
public Guid BotUserValueId { get; set; }
|
||||
|
||||
public BotUser BotUser { get; set; }
|
||||
public string Name { get; set; }
|
||||
|
||||
public string ValueType { get; set; }
|
||||
|
||||
public byte[] Value { get; set; }
|
||||
|
||||
public T GetValue<T>(T defVal = default)
|
||||
{
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Key]
|
||||
public Guid BotUserValueId { get; set; }
|
||||
|
||||
public BotUser BotUser { get; set; }
|
||||
public string Name { get; set; }
|
||||
|
||||
public string ValueType { get; set; }
|
||||
|
||||
public byte[] Value { get; set; }
|
||||
|
||||
public T GetValue<T>(T defVal = default)
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
return JsonSerializer.Deserialize<T>(new ReadOnlySpan<byte>(Value));
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return defVal;
|
||||
}
|
||||
return JsonSerializer.Deserialize<T>(new ReadOnlySpan<byte>(Value));
|
||||
}
|
||||
|
||||
public void SetValue<T>(T value)
|
||||
catch (Exception)
|
||||
{
|
||||
Value = JsonSerializer.SerializeToUtf8Bytes(value, new JsonSerializerOptions { WriteIndented = false,
|
||||
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull });
|
||||
ValueType = value.GetType().FullName;
|
||||
return defVal;
|
||||
}
|
||||
}
|
||||
|
||||
public void SetValue<T>(T value)
|
||||
{
|
||||
Value = JsonSerializer.SerializeToUtf8Bytes(value, new JsonSerializerOptions { WriteIndented = false,
|
||||
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull });
|
||||
ValueType = value.GetType().FullName;
|
||||
}
|
||||
}
|
||||
+17
-18
@@ -1,25 +1,24 @@
|
||||
using Kruzya.TelegramBot.Core.EF;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Kruzya.TelegramBot.Core.Data
|
||||
namespace Kruzya.TelegramBot.Core.Data;
|
||||
|
||||
public class CoreContext : AutoSaveDbContext
|
||||
{
|
||||
public class CoreContext : AutoSaveDbContext
|
||||
/// <summary>
|
||||
/// The all known users.
|
||||
/// </summary>
|
||||
public DbSet<BotUser> Users { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The all knows user options and values.
|
||||
/// </summary>
|
||||
public DbSet<BotUserValue> UserValues { get; set; }
|
||||
|
||||
public DbSet<ChatOptionValue> ChatOptionValues { get; set; }
|
||||
|
||||
public CoreContext(DbContextOptions<CoreContext> ctx) : base(ctx)
|
||||
{
|
||||
/// <summary>
|
||||
/// The all known users.
|
||||
/// </summary>
|
||||
public DbSet<BotUser> Users { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The all knows user options and values.
|
||||
/// </summary>
|
||||
public DbSet<BotUserValue> UserValues { get; set; }
|
||||
|
||||
public DbSet<ChatOptionValue> ChatOptionValues { get; set; }
|
||||
|
||||
public CoreContext(DbContextOptions<CoreContext> ctx) : base(ctx)
|
||||
{
|
||||
Database.Migrate();
|
||||
}
|
||||
Database.Migrate();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user