9a42060653
- Introduced `networkmembership.proto` with RPC methods for retrieving user network tree, statistics, and position. - Implemented HTTP annotations for gRPC transcoding in the service methods. - Added support for Google API annotations in `annotations.proto` and `http.proto`. - Created `ConfigureServices.cs` to register FluentValidation for the Protobuf services. - Updated project file to include necessary dependencies for gRPC and Protobuf.
81 lines
3.8 KiB
C#
81 lines
3.8 KiB
C#
using FrontOffice.BFF.WebApi.Common.Services;
|
|
using FrontOffice.BFF.Application.DiscountShopCQ.Queries.GetDiscountProducts;
|
|
using FrontOffice.BFF.Application.DiscountShopCQ.Queries.GetDiscountCategories;
|
|
using FrontOffice.BFF.Application.DiscountShopCQ.Queries.GetMyDiscountCart;
|
|
using FrontOffice.BFF.Application.DiscountShopCQ.Queries.GetMyDiscountOrders;
|
|
using FrontOffice.BFF.Application.DiscountShopCQ.Commands.AddToDiscountCart;
|
|
using FrontOffice.BFF.Application.DiscountShopCQ.Commands.RemoveFromDiscountCart;
|
|
using FrontOffice.BFF.Application.DiscountShopCQ.Commands.PlaceDiscountOrder;
|
|
using FrontOffice.BFF.DiscountShop.Protobuf.Protos.DiscountShop;
|
|
|
|
namespace FrontOffice.BFF.WebApi.Services;
|
|
|
|
/// <summary>
|
|
/// سرویس فروشگاه تخفیفی - برای کاربران عضو باشگاه
|
|
/// </summary>
|
|
public class DiscountShopService : DiscountShopContract.DiscountShopContractBase
|
|
{
|
|
private readonly IDispatchRequestToCQRS _dispatchRequestToCQRS;
|
|
|
|
public DiscountShopService(IDispatchRequestToCQRS dispatchRequestToCQRS)
|
|
{
|
|
_dispatchRequestToCQRS = dispatchRequestToCQRS;
|
|
}
|
|
|
|
/// <summary>
|
|
/// دریافت لیست محصولات تخفیفی
|
|
/// </summary>
|
|
public override async Task<GetDiscountProductsResponse> GetDiscountProducts(GetDiscountProductsRequest request, ServerCallContext context)
|
|
{
|
|
return await _dispatchRequestToCQRS.Handle<GetDiscountProductsRequest, GetDiscountProductsQuery, GetDiscountProductsResponse>(request, context);
|
|
}
|
|
|
|
/// <summary>
|
|
/// دریافت دستهبندیهای فروشگاه تخفیفی
|
|
/// </summary>
|
|
public override async Task<GetDiscountCategoriesResponse> GetDiscountCategories(GetDiscountCategoriesRequest request, ServerCallContext context)
|
|
{
|
|
return await _dispatchRequestToCQRS.Handle<GetDiscountCategoriesRequest, GetDiscountCategoriesQuery, GetDiscountCategoriesResponse>(request, context);
|
|
}
|
|
|
|
/// <summary>
|
|
/// دریافت سبد خرید تخفیفی کاربر جاری
|
|
/// </summary>
|
|
public override async Task<GetMyDiscountCartResponse> GetMyDiscountCart(Empty request, ServerCallContext context)
|
|
{
|
|
return await _dispatchRequestToCQRS.Handle<GetMyDiscountCartQuery, GetMyDiscountCartResponse>(context);
|
|
}
|
|
|
|
/// <summary>
|
|
/// افزودن محصول به سبد خرید تخفیفی
|
|
/// </summary>
|
|
public override async Task<Empty> AddToDiscountCart(AddToDiscountCartRequest request, ServerCallContext context)
|
|
{
|
|
return await _dispatchRequestToCQRS.Handle<AddToDiscountCartRequest, AddToDiscountCartCommand>(request, context);
|
|
}
|
|
|
|
/// <summary>
|
|
/// حذف محصول از سبد خرید تخفیفی
|
|
/// </summary>
|
|
public override async Task<Empty> RemoveFromDiscountCart(RemoveFromDiscountCartRequest request, ServerCallContext context)
|
|
{
|
|
return await _dispatchRequestToCQRS.Handle<RemoveFromDiscountCartRequest, RemoveFromDiscountCartCommand>(request, context);
|
|
}
|
|
|
|
/// <summary>
|
|
/// دریافت لیست سفارشات تخفیفی کاربر جاری
|
|
/// </summary>
|
|
public override async Task<GetMyDiscountOrdersResponse> GetMyDiscountOrders(GetMyDiscountOrdersRequest request, ServerCallContext context)
|
|
{
|
|
return await _dispatchRequestToCQRS.Handle<GetMyDiscountOrdersRequest, GetMyDiscountOrdersQuery, GetMyDiscountOrdersResponse>(request, context);
|
|
}
|
|
|
|
/// <summary>
|
|
/// ثبت سفارش تخفیفی
|
|
/// </summary>
|
|
public override async Task<PlaceDiscountOrderResponse> PlaceDiscountOrder(PlaceDiscountOrderRequest request, ServerCallContext context)
|
|
{
|
|
return await _dispatchRequestToCQRS.Handle<PlaceDiscountOrderRequest, PlaceDiscountOrderCommand, PlaceDiscountOrderResponse>(request, context);
|
|
}
|
|
}
|