public Order GetByName(string OrderNumber) { Order order = null; Con = CreateConnection(); Query = "SelectOrder"; Com.CommandText = Query; Com.Connection = Con; Com.CommandType = CommandType.StoredProcedure; Com.Parameters.Clear(); Com.Parameters.Add(new SqlParameter("@OrderNumber", OrderNumber)); DataAdapter.SelectCommand = Com; DataTable dataTable = new DataTable(); DataAdapter.Fill(dataTable); foreach (DataRow row in dataTable.Rows) { order = new Order.Builder() .setCustomerNumber(row["customerID"].ToString()) .setOrderNumber(row["ordernumber"].ToString()) .setDate(Convert.ToDateTime(row["datecreated"].ToString())) .Build(); GetItemsAsync(OrderNumber).Result.ForEach(i => order.Products.Add(i)); } return(order); }
public IActionResult OnPost() { ICheckoutApi checkoutApi = client.CheckoutApi; try { // create line items for the order // This example assumes the order information is retrieved and hard coded // You can find different ways to retrieve order information and fill in the following lineItems object. List <OrderLineItem> lineItems = new List <OrderLineItem>(); Money firstLineItemBasePriceMoney = new Money.Builder() .Amount(500L) .Currency("USD") .Build(); OrderLineItem firstLineItem = new OrderLineItem.Builder("1") .Name("Test Item A") .BasePriceMoney(firstLineItemBasePriceMoney) .Build(); lineItems.Add(firstLineItem); Money secondLineItemBasePriceMoney = new Money.Builder() .Amount(1000L) .Currency("USD") .Build(); OrderLineItem secondLineItem = new OrderLineItem.Builder("3") .Name("Test Item B") .BasePriceMoney(secondLineItemBasePriceMoney) .Build(); lineItems.Add(secondLineItem); // create Order object with line items Order order = new Order.Builder(locationId) .LineItems(lineItems) .Build(); // create order request with order CreateOrderRequest orderRequest = new CreateOrderRequest.Builder() .Order(order) .Build(); // create checkout request with the previously created order CreateCheckoutRequest createCheckoutRequest = new CreateCheckoutRequest.Builder( Guid.NewGuid().ToString(), orderRequest) .Build(); // create checkout response, and redirect to checkout page if successful CreateCheckoutResponse response = checkoutApi.CreateCheckout(locationId, createCheckoutRequest); return(Redirect(response.Checkout.CheckoutPageUrl)); } catch (ApiException e) { return(RedirectToPage("Error", new { error = e.Message })); } }
static void Main(string[] args) { Order order = new Order.Builder() .WithFirstname("Marcin") .WithLastname("Kowalski") .WithEmail("*****@*****.**") .WithCountry("Polska") .WithCity("Krosno") .WithAdress("Mickiewicza 45/5") .WithZipCode("38-400") .WithPhoneNumber("765231428") .Build(); }
public async Task <List <Order> > GetAllAsync() { List <Order> orders = new List <Order>(); Con = CreateConnection(); Query = "selectOrders"; Com.CommandText = Query; Com.Connection = Con; Com.CommandType = CommandType.StoredProcedure; DataAdapter.SelectCommand = Com; DataTable dataTable = new DataTable(); DataAdapter.Fill(dataTable); foreach (DataRow row in dataTable.Rows) { Order order = new Order.Builder() .setCustomerNumber(row["customerID"].ToString()) .setOrderNumber(row["ordernumber"].ToString()) .setDate(Convert.ToDateTime(row["datecreated"].ToString())) .Build(); var r = await GetItemsAsync(order.OrderNumber); r.ForEach(p => { order.Products.Add(p); }); orders.Add(order); } Com.Dispose(); Con.Close(); return(orders); }
public async Task ShouldIncludeDeliveryFeesAsAnItem() { var product = new Product("CatalogId", "HC20W-003", "The Trickster", TestData.NextString(), 11.00m); this.GivenInventoryServiceSetUpWithProduct(product); var order = new Order.Builder("Location") .LineItems(new List <OrderLineItem> { new OrderLineItem.Builder("1") .CatalogObjectId("CatalogId") .Name("[HC20W-003] The Trickster") .BasePriceMoney(new Money(1100, "GBP")) .TotalMoney(new Money(1100, "GBP")) .Build(), }) .ServiceCharges(new List <OrderServiceCharge> { new OrderServiceCharge.Builder() .Name("Shipping") .AmountMoney(new Money(500, "GBP")) .TotalMoney(new Money(500, "GBP")) .Build(), }) .CreatedAt(this.orderDate.ToString("O")) .TotalMoney(new Money(1600, "GBP")) .Build(); var transactions = await this.Subject.MapToTransaction(order).ToList().ToTask(); transactions.Should().HaveCount(1); transactions[0].TotalAmount.Should().Be(16.00m); transactions[0].Subtransactions.Should().HaveCount(2); transactions[0].Subtransactions[0].Quantity.Should().Be(1); transactions[0].Subtransactions[0].TransactionUnitPrice.Should().Be(11.00m); transactions[0].Subtransactions[0].Subtotal.Should().Be(11.00m); transactions[0].Subtransactions[1].Quantity.Should().Be(500); transactions[0].Subtransactions[1].TransactionUnitPrice.Should().Be(0.01m); transactions[0].Subtransactions[1].Subtotal.Should().Be(5.00m); }
private async Task SaveOrderToDatabase(string orderId, List <ShoppingCartItem> listOfProducts, ApplicationUser user, decimal price) { List <OrderedProduct> orderedProducts = new List <OrderedProduct>(); foreach (var item in listOfProducts) { var product = _context.Products.Where(x => x.Id == item.Product.Id).Include(c => c.Sizes).First(); OrderedProduct orderedProduct = new OrderedProduct(product, (SizeOfPruduct)Convert.ToInt32(item.Size), item.Quantity); foreach (var itema in product.Sizes) { if (itema.SizeOfPruduct == item.Size) { itema.Quantity = itema.Quantity - item.Quantity; _context.Update(itema); } } orderedProducts.Add(orderedProduct); } Order order = new Order.Builder() .DateOfOrder(DateTime.Now) .OrderId(orderId) .Products(orderedProducts) .Status(ShopFilip.Helpers.Status.New) .Price(price) .Build(); List <Order> orderList = new List <Order>(); orderList.Add(order); if (user.OrdersList == null) { user.OrdersList = new List <Order>(); } user.OrdersList.Add(order); await _userManager.UpdateAsync(user); }
public IActionResult OnPost() { ICheckoutApi checkoutApi = client.CheckoutApi; try { var rand = new Random(); int rand1 = rand.Next(100000, 999999); int id = HttpContext.Session.GetInt32("logID").GetValueOrDefault(); DropShipModels.User CurrUser = dbContext.Users .FirstOrDefault(user => user.UserId == id); if (CurrUser != null) { var RetrievedCart = dbContext.Carts.Where(c => c.UserId == CurrUser.UserId) .Include(carts => carts.P) .ToList(); string OrderNumberTemp = id.ToString() + '-' + rand1.ToString(); string ProductBoughtListTemp = ""; List <OrderLineItem> lineItems = new List <OrderLineItem>(); foreach (var j in RetrievedCart) { Money ItemPrice = new Money.Builder() .Amount(j.P.ProductPrice * 100) .Currency("USD") .Build(); OrderLineItem LineItem = new OrderLineItem.Builder(j.Quantity.ToString()) .Name(j.P.ProductName) .BasePriceMoney(ItemPrice) .Note("Order Number " + OrderNumberTemp) .Build(); lineItems.Add(LineItem); dbContext.Carts.Remove(j); dbContext.SaveChanges(); ProductBoughtListTemp += j.P.ProductName + " x " + j.Quantity + ", "; } ProductBoughtListTemp = ProductBoughtListTemp.Remove(ProductBoughtListTemp.Length - 1, 1); ProductBoughtListTemp = ProductBoughtListTemp.Remove(ProductBoughtListTemp.Length - 1, 1); DropShipModels.Order newOrder = new DropShipModels.Order(); newOrder.UserId = id; newOrder.OrderNumber = OrderNumberTemp.ToString(); newOrder.ProductBoughtList = ProductBoughtListTemp; newOrder.Filled = false; newOrder.ShippingMethod = "Standard"; dbContext.Orders.Add(newOrder); dbContext.SaveChanges(); // create line items for the order. // create Order object with line items Order order = new Order.Builder(locationId) .LineItems(lineItems) .Build(); // create order request with order CreateOrderRequest orderRequest = new CreateOrderRequest.Builder() .Order(order) .Build(); // create checkout request with the previously created order CreateCheckoutRequest createCheckoutRequest = new CreateCheckoutRequest.Builder( Guid.NewGuid().ToString(), orderRequest) .AskForShippingAddress(true) // .RedirectUrl("www.google.com") .PrePopulateBuyerEmail(CurrUser.Email) .MerchantSupportEmail("*****@*****.**") .Build(); // create checkout response, and redirect to checkout page if successful CreateCheckoutResponse response = checkoutApi.CreateCheckout(locationId, createCheckoutRequest); return(Redirect(response.Checkout.CheckoutPageUrl)); } else { if (HttpContext.Session.GetString("TempCart") != null) { var cartStr = HttpContext.Session.GetString("TempCart"); List <List <int> > cart1 = JsonConvert.DeserializeObject <List <List <int> > >(cartStr); string OrderNumberTemp = "0-" + rand1.ToString(); string ProductBoughtListTemp = ""; List <OrderLineItem> lineItems = new List <OrderLineItem>(); foreach (var k in cart1) { string ProdName = dbContext.Products.FirstOrDefault(p => p.ProductId == k[0]).ProductName; Money ItemPrice = new Money.Builder() .Amount(dbContext.Products.FirstOrDefault(p => p.ProductId == k[0]).ProductPrice * 100) .Currency("USD") .Build(); OrderLineItem LineItem = new OrderLineItem.Builder(k[1].ToString()) .Name(ProdName) .BasePriceMoney(ItemPrice) .Note("Order Number " + OrderNumberTemp) .Build(); lineItems.Add(LineItem); ProductBoughtListTemp += ProdName + " x " + k[1].ToString() + ", "; } DropShipModels.User tempUser = dbContext.Users.FirstOrDefault(user => user.Password == "Temp"); ProductBoughtListTemp = ProductBoughtListTemp.Remove(ProductBoughtListTemp.Length - 1, 1); ProductBoughtListTemp = ProductBoughtListTemp.Remove(ProductBoughtListTemp.Length - 1, 1); DropShipModels.Order newOrder = new DropShipModels.Order(); newOrder.UserId = tempUser.UserId; newOrder.OrderNumber = OrderNumberTemp.ToString(); newOrder.ProductBoughtList = ProductBoughtListTemp; newOrder.Filled = false; newOrder.ShippingMethod = "Standard"; dbContext.Orders.Add(newOrder); dbContext.SaveChanges(); // create line items for the order // This example assumes the order information is retrieved and hard coded // You can find different ways to retrieve order information and fill in the following lineItems object. // create Order object with line items Order order = new Order.Builder(locationId) .LineItems(lineItems) .Build(); // create order request with order CreateOrderRequest orderRequest = new CreateOrderRequest.Builder() .Order(order) .Build(); // create checkout request with the previously created order // var tempPerson = new Person(); CreateCheckoutRequest createCheckoutRequest = new CreateCheckoutRequest.Builder( Guid.NewGuid().ToString(), orderRequest) .AskForShippingAddress(true) .MerchantSupportEmail("*****@*****.**") .Build(); // create checkout response, and redirect to checkout page if successful CreateCheckoutResponse response = checkoutApi.CreateCheckout(locationId, createCheckoutRequest); return(Redirect(response.Checkout.CheckoutPageUrl)); } else { return(Redirect("/")); } } } catch (ApiException e) { return(RedirectToPage("Error", new { error = e.Message })); } }