35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
using MediatR;
|
|
|
|
namespace AdsManagerService.API.Application.Queries;
|
|
|
|
/// <summary>
|
|
/// EN: Query to get campaign by ID.
|
|
/// VI: Query lấy chiến dịch theo ID.
|
|
/// </summary>
|
|
public record GetCampaignByIdQuery : IRequest<CampaignDto?>
|
|
{
|
|
public Guid CampaignId { get; init; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// EN: Campaign DTO for API responses.
|
|
/// VI: Campaign DTO cho API responses.
|
|
/// </summary>
|
|
public record CampaignDto
|
|
{
|
|
public Guid Id { get; init; }
|
|
public Guid AdvertiserId { get; init; }
|
|
public string Name { get; init; } = null!;
|
|
public string? Description { get; init; }
|
|
public string Status { get; init; } = null!;
|
|
public string Objective { get; init; } = null!;
|
|
public string BudgetType { get; init; } = null!;
|
|
public decimal BudgetAmount { get; init; }
|
|
public string Currency { get; init; } = null!;
|
|
public decimal TotalSpend { get; init; }
|
|
public DateTime? StartDate { get; init; }
|
|
public DateTime? EndDate { get; init; }
|
|
public DateTime CreatedAt { get; init; }
|
|
public DateTime? UpdatedAt { get; init; }
|
|
}
|