public static CartReadModel ReadCartReadModel(SqlDataReader reader, string userId) { var idx = 0; var productId = reader.AsInt64(idx++); var price = reader.AsDecimal(idx++); var name = reader.AsString(idx++); var discountPrice = reader.AsDecimalOrNull(idx++); var imageUrl = reader.AsString(idx++); var id = reader.AsInt64(idx++); var quantity = reader.AsInt16(idx); var cartReadModel = new CartReadModel() { ProductId = productId, Price = price, Name = name, DiscountPrice = discountPrice, Quantity = quantity, ImageUrl = imageUrl, UserId = userId, Id = id }; return(cartReadModel); }
public async Task HandleAsync(CartCreated @event) { var cart = new CartReadModel { Id = @event.AggregateRootId, CustomerId = @event.CustomerId }; await repository.InsertAsync(cart); await repository.SaveChangesAsync(); }
public static CartResponse ToCartResponse(this CartReadModel cartReadModel) { var response = new CartResponse { CartId = cartReadModel.Id, CustomerId = cartReadModel.CustomerId, TotalPrice = cartReadModel.TotalPrice }; foreach (var item in cartReadModel.CartItems) { response.Items.Add(new CartItemResponse { ProductName = item.ProductName, Price = item.Price, Quantity = item.Quantity }); } return(response); }