public override Task <BasketResponse> RemoveFromBasket(BasketRequest request, ServerCallContext context) { if (request.ProductId.IsEmpty()) { throw new Exception("Invalid product"); } var product = _kernel.GetEntity <eShop.ProductEntities.Entities.Product>(externalId: Guid.Parse(request.ProductId)); if (product.IsNull()) { throw new Exception("Invalid product"); } else { var basketProduct = _kernel.GetEntities <eShop.ProductEntities.Entities.Basket>() .FirstOrDefault(basket => basket.ProductId == product.Id && basket.CreatedById == _audience.EntityId()); _kernel.DeleteEntity(basketProduct, saveChanges: true); } return(Task.FromResult(new BasketResponse { ProductId = product.ExternalId.ToString() })); }
public override Task <RetailerResponse> DeleteRetailer(RetailerItemRequest request, ServerCallContext context) { var user = _kernel.DeleteEntity <User>(externalId: ParseUserID(id: request.Id)); ValidateUserType(user); context.Status = new Status(StatusCode.OK, string.Empty); return(Task.FromResult(MapToResponse(user: user))); }