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; /// /// سرویس فروشگاه تخفیفی - برای کاربران عضو باشگاه /// public class DiscountShopService : DiscountShopContract.DiscountShopContractBase { private readonly IDispatchRequestToCQRS _dispatchRequestToCQRS; public DiscountShopService(IDispatchRequestToCQRS dispatchRequestToCQRS) { _dispatchRequestToCQRS = dispatchRequestToCQRS; } /// /// دریافت لیست محصولات تخفیفی /// public override async Task GetDiscountProducts(GetDiscountProductsRequest request, ServerCallContext context) { return await _dispatchRequestToCQRS.Handle(request, context); } /// /// دریافت دسته‌بندی‌های فروشگاه تخفیفی /// public override async Task GetDiscountCategories(GetDiscountCategoriesRequest request, ServerCallContext context) { return await _dispatchRequestToCQRS.Handle(request, context); } /// /// دریافت سبد خرید تخفیفی کاربر جاری /// public override async Task GetMyDiscountCart(Empty request, ServerCallContext context) { return await _dispatchRequestToCQRS.Handle(context); } /// /// افزودن محصول به سبد خرید تخفیفی /// public override async Task AddToDiscountCart(AddToDiscountCartRequest request, ServerCallContext context) { return await _dispatchRequestToCQRS.Handle(request, context); } /// /// حذف محصول از سبد خرید تخفیفی /// public override async Task RemoveFromDiscountCart(RemoveFromDiscountCartRequest request, ServerCallContext context) { return await _dispatchRequestToCQRS.Handle(request, context); } /// /// دریافت لیست سفارشات تخفیفی کاربر جاری /// public override async Task GetMyDiscountOrders(GetMyDiscountOrdersRequest request, ServerCallContext context) { return await _dispatchRequestToCQRS.Handle(request, context); } /// /// ثبت سفارش تخفیفی /// public override async Task PlaceDiscountOrder(PlaceDiscountOrderRequest request, ServerCallContext context) { return await _dispatchRequestToCQRS.Handle(request, context); } }