46 lines
1.9 KiB
C#
46 lines
1.9 KiB
C#
using QRRapidoApp.Models;
|
|
|
|
namespace QRRapidoApp.Models.ViewModels
|
|
{
|
|
public class QRGenerationRequest
|
|
{
|
|
public string Type { get; set; } = string.Empty;
|
|
public string Content { get; set; } = string.Empty;
|
|
public string QuickStyle { get; set; } = "classic";
|
|
public string PrimaryColor { get; set; } = "#000000";
|
|
public string BackgroundColor { get; set; } = "#FFFFFF";
|
|
public int Size { get; set; } = 300;
|
|
public int Margin { get; set; } = 2;
|
|
public string CornerStyle { get; set; } = "square";
|
|
public bool OptimizeForSpeed { get; set; } = true;
|
|
public string Language { get; set; } = "pt-BR";
|
|
public bool IsPremium { get; set; } = false;
|
|
public bool HasLogo { get; set; } = false;
|
|
public byte[]? Logo { get; set; }
|
|
|
|
// NOVAS PROPRIEDADES PARA LOGO APRIMORADO
|
|
/// <summary>
|
|
/// Tamanho do logo em porcentagem (10-25%). Padrão: 20%
|
|
/// </summary>
|
|
public int? LogoSizePercent { get; set; } = 20;
|
|
|
|
/// <summary>
|
|
/// Se deve aplicar a cor do QR code no logo (Premium feature)
|
|
/// </summary>
|
|
public bool ApplyLogoColorization { get; set; } = false;
|
|
}
|
|
|
|
public class QRGenerationResult
|
|
{
|
|
public string QRCodeBase64 { get; set; } = string.Empty;
|
|
public string QRId { get; set; } = string.Empty;
|
|
public long GenerationTimeMs { get; set; }
|
|
public bool FromCache { get; set; }
|
|
public int Size { get; set; }
|
|
public QRGenerationRequest? RequestSettings { get; set; }
|
|
public int? RemainingQRs { get; set; } // For free users
|
|
public bool Success { get; set; } = true;
|
|
public string? ErrorMessage { get; set; }
|
|
public LogoReadabilityInfo? ReadabilityInfo { get; set; } // Nova propriedade para análise de legibilidade
|
|
}
|
|
} |