public async Task <IActionResult> Get([FromQuery] GetCustomerOrderDetailQuery query) { var result = await _mediator.Send(query); return(Ok(new HttpServiceResponseBase <OrderDetailDto> { Data = result, Code = HttpStatusCode.OK })); }
public async Task <IActionResult> GetOrder(int orderId) { FirebaseUser user = HttpContext.GetFirebaseUser(); GetCustomerOrderDetailQuery model = new GetCustomerOrderDetailQuery() { firebaseId = user.UserId, orderId = orderId }; ResultWrapper <GetCustomerOrderDetailOutput> result = await _mediator.Send(model); return(Ok(result)); }
public async Task <ResultWrapper <GetCustomerOrderDetailOutput> > Handle(GetCustomerOrderDetailQuery request, CancellationToken cancellationToken) { ResultWrapper <GetCustomerOrderDetailOutput> result = new ResultWrapper <GetCustomerOrderDetailOutput>(); TUser tUser = await _dbContext.TUser.FirstOrDefaultAsync(x => x.FireBaseId == request.firebaseId); if (tUser == null) { result.Status = false; result.Message = "cannot find customer!"; return(result); } var tData = await _dbContext.TOrder .Include(x => x.TSupplier) .Include(x => x.TOrderDetails).ThenInclude(x => x.TFood) .FirstOrDefaultAsync(x => x.Id == request.orderId && x.TUserId == tUser.Id); if (tData == null) { result.Status = false; result.Message = "this order doesn't exists"; return(result); } result.Status = true; result.Result = new GetCustomerOrderDetailOutput() { Id = tData.Id, Title = tData.Title, TotalPayablePrice = tData.TotalPayablePrice, Restaurant = tData.TSupplier.RestaurantName, Date = tData.Date, list = tData.TOrderDetails.Select(x => new GetCustomerOrderDetailOutput.OrderDetailItem() { Id = x.Id, FoodId = x.TFoodId, FoodName = x.TFood.Title, Amount = x.Amount, UnitPrice = x.UnitPrice, RowPrice = x.RowPrice }).ToList() }; return(result); }
public async Task <IActionResult> SubmitOrder([FromBody] CustomerSubmitOrderCommand model) { FirebaseUser user = HttpContext.GetFirebaseUser(); model.firebaseId = user.UserId; ResultWrapper <CustomerSubmitOrderOutput> submitResult = await _mediator.Send(model); if (!submitResult.Status) { return(Ok(submitResult)); } int orderId = submitResult.Result.Id; GetCustomerOrderDetailQuery detailModel = new GetCustomerOrderDetailQuery() { firebaseId = user.UserId, orderId = orderId }; ResultWrapper <GetCustomerOrderDetailOutput> result = await _mediator.Send(detailModel); return(Ok(result)); }
public async Task <IActionResult> Get([FromQuery] GetCustomerOrderDetailQuery query) { var response = await _mediator.Send(query); return(Result(response, HttpStatusCode.OK)); }