async void Init() { productArrayList = await GetListOfProducts(); var productIndex = 0; for (int rowIndex = 0; rowIndex < this.rows; rowIndex++) { for (int columnIndex = 0; columnIndex < this.col; columnIndex++) { if (productIndex >= productArrayList.Count) { break; } Product product = productArrayList[productIndex]; productIndex += 1; StackLayout item = createItem(product); gridLayout.Children.Add(item, columnIndex, rowIndex); } } ActivitySpinner.IsVisible = false; this.cart = new Models.Cart(); }
ServiceResponse <string> ICartService.GenerateCart(Models.Cart cart) { var now = DateTime.UtcNow; try { _db.Carts.Add(cart); _db.SaveChanges(); return(new ServiceResponse <string> { Code = 200, Time = now, Message = "Cart was generated.", Data = null }); } catch (Exception) { return(new ServiceResponse <string> { Code = 400, Time = now, Message = "Something wrong when generating a cart.", Data = null }); } }
public List <Models.Cart> GetCart(string userid) { List <Models.Cart> listobj = new List <Models.Cart>(); try { var repobj = _UserFacade.GetCart(userid); if (repobj != null) { foreach (var cart in repobj) { var iter = new Models.Cart { Id = cart.Id, Userid = cart.Userid, Itemid = cart.Itemid, Quantity = cart.Quantity }; listobj.Add(iter); } } } catch (Exception e) { listobj = null; throw e; } return(listobj); }
public Cart(Models.Cart cart) { InitializeComponent(); this.cart = cart; labels = new List <Label>(); Init(); }
/// <summary> /// Updates a cart item /// </summary> /// <param name="cart"> /// Models.Cart: the current cart /// </param> /// <param name="itemId"> /// int: a flummery's item ID /// </param> /// <param name="qty"> /// int: the flummery's new quantity /// </param> private async Task UpdateCartItems(Models.Cart cart, int itemId, int qty) { bool containsCartItem = false; if (cart.CartItems != null) { foreach (var oneCartItem in cart.CartItems) { if (oneCartItem.ProductId == itemId) { oneCartItem.Qty += qty; containsCartItem = true; await _cartItem.Update(oneCartItem); break; } } } if (!containsCartItem) { var newCartItem = new Models.CartItem { CartId = cart.Id, ProductId = itemId, Qty = qty }; await _cartItem.Create(newCartItem); } }
public IActionResult AddToCart(int Id) { // User is not logged in if (!User.Identity.IsAuthenticated) { string return_url = "/Carts/AddToCart?Id=" + Id; return(Content("<form action='login' id='cart_frm' method='post'><input type='hidden' name='ReturnUrl' value='" + return_url + "' /></form><script>document.getElementById('cart_frm').submit();</script>")); } else { var user = HttpContext.User.Claims.FirstOrDefault(c => c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"); //.Where(c => c.Type == "email").Select(c => c.Value).SingleOrDefault(); // var user_x = _userManager.GetUserAsync(user); var user_id = user.Value; // Add to cart for user Cart cart = new Models.Cart(); cart.Amount = 100; cart.SpeciesId = Id; cart.UserId = user_id; //cart. = _context.Add(cart); _context.SaveChanges(); return(RedirectToAction("Index", "Home")); } }
public IActionResult Index() { Models.Cart cart = _context.Cart.Include("ProductsInCart.Product").FirstOrDefault(x => x.Id == _context.GetCurrentCartId()); List <Models.ProductInCart> productsInCart = new List <Models.ProductInCart>(); if (cart != null) { productsInCart = cart.ProductsInCart.ToList(); } if (productsInCart.Count == 0) { return(View("EmptyCart")); } decimal totalCartPrice = 0M; foreach (Models.ProductInCart productInCart in productsInCart) { productInCart.TotalPrice = (decimal)productInCart.ProductAmount * productInCart.Product.Price; totalCartPrice += productInCart.TotalPrice; } ViewBag.TotalCartPrice = totalCartPrice; return(View("Index", productsInCart)); }
public CartVM(Models.Cart cart) { Id = cart.Id; CartNumber = cart.CartNumber; SaleDate = cart.SaleDate; NumberOfItems = cart.NumberOfItems; NumberOfSellers = cart.NumberOfSellers; BuyerId = cart.BuyerId; CartAmount = cart.TotalValue; ItemsAmount = cart.ItemCost; ShippingAmount = cart.ShippingCost; PayPalAmount = cart.PayPalFees; Models.TransactionRecord tr = cart.Transactions.ElementAtOrDefault(0); TransactionId = tr.Id; SellerId = tr.SellerId; SellerItemsTotal = tr.ItemCosts; SellerShippingTotal = tr.ShippingCost; TrackingNumber = string.Empty; ShippingRecordId = 0; if (tr.ShippingRecord != null) { ShippingRecordId = tr.Id; TrackingNumber = tr.ShippingRecord.TrackingNumber; } if (cart.Transactions != null && cart.Transactions.Count > 0) { m_Transactions.AddRange(cart.Transactions); } }
public ActionResult Index(Models.Cart model) { var cart = db.Carts.Find(model.ID); db.SaveChanges(); return(View(cart)); }
public async Task <bool> Update(long idCart, Models.Cart cart) { var cart_item = _dbContext.Carts.Where(x => x.Id == idCart && x.IdCustomer == cart.IdCustomer).FirstOrDefault(); cart_item.Amount = cart.Amount; return(await _dbContext.SaveChangesAsync() != 0); }
public ActionResult BuyItem(FormCollection obj) { var c = new Models.Cart(); c.cartid = ""; c.itemid = obj["itemid"].ToString(); c.userid = obj["userid"].ToString(); c.quantity = Convert.ToInt32(obj["quantity"]); c.price = Convert.ToDecimal(obj["price"]) * c.quantity; c.itemname = obj["itemname"].ToString(); //return View("trial",c); var dal = new MarketPlaceDAL.MarketPlaceRepository(); string userid = c.userid; if (dal.CheckQuantity(c.itemid, c.quantity) == "Y") { int status = dal.AddToCart(Mapper.Map <MarketPlaceDAL.Cart>(c), userid); //dal.ReduceQuantity(c.itemid, c.quantity); if (status == 1) { return(RedirectToAction("MyCart")); } else { return(View("Error")); } } else { return(RedirectToAction("AddToCart2", c)); } }
public async Task <IActionResult> PutCart(int id, Models.Cart cart) { if (id != cart.Id) { return(BadRequest()); } _context.Entry(cart).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CartExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <Cart> RemoveProductFromCart(int userId, int productId) { using (var session = documentStore.LightweightSession()) { Models.Cart cart = await session.LoadAsync <Models.Cart>(userId); if (cart == null) { return(null); } var productToRemove = cart.Products.SingleOrDefault(_ => _.Id == productId); if (productToRemove == null) { return(null); } cart.Products.Remove(productToRemove); session.Store(cart); await session.SaveChangesAsync(); return(cart); } }
public string Save(string Id, int License, int AgentId, string CustomerId) { try { var db = new ViewModel.Context.ConnectionStringsContext(); Models.Cart cart = new Models.Cart { AgentId = AgentId, License = License, MicrosoftId = Id, OrderTime = DateTime.Now, Status = true, PurchaseUnit = 2, PurchaseUnitNumber = 12, CustomerId = CustomerId, }; db.Cart.Add(cart); db.SaveChanges(); return("Successfully Add"); } catch { return("Unknown error occur, Please try again."); } }
public ActionResult DeleteFromCart(Models.Cart cart) { var dal = new MarketPlaceDAL.MarketPlaceRepository(); int q = Convert.ToInt32(dal.RemoveItem(cart.cartid)); // dal.IncreaseItemCount(cart.itemid, q); return(RedirectToAction("MyCart")); }
public OrderController(Models.IOrderRepository repoService, Models.Cart cartService, SendGrid.ISendGridClient sendGridClient, Braintree.IBraintreeGateway braintreeGateway, SmartyStreets.IClient <SmartyStreets.USStreetApi.Lookup> usStreetClient) { repository = repoService; cart = cartService; _sendGridClient = sendGridClient; _braintreeGateway = braintreeGateway; _usStreetClient = usStreetClient; }
static async public Task <Attachment> CreatePriceAssignationCard(Models.Cart cart, IPrestashopApi prestashopApi) { var card = CreateCardFromJson("prizeAssignationCard"); var container = card.Body[3] as AdaptiveContainer; int index = 0; foreach (OrderLine line in cart.OrderLine) { var product = (await prestashopApi.GetProductById(line.ProductId)).First(); var productTitle = new AdaptiveTextBlock { Text = "**" + product.GetNameByLanguage(Languages.English) + "**", Weight = AdaptiveTextWeight.Bolder, Wrap = true }; var columnSet = new AdaptiveColumnSet(); var column = new AdaptiveColumn { Width = AdaptiveColumnWidth.Stretch }; var reference = new AdaptiveTextBlock { Text = product.Reference, Wrap = true }; column.Items.Add(reference); var columnInput = new AdaptiveColumn { Width = AdaptiveColumnWidth.Auto }; var input = new AdaptiveNumberInput { Id = "InputCount" + index, Placeholder = "Price" }; column.Items.Add(input); columnSet.Columns.Add(column); columnSet.Columns.Add(columnInput); container.Items.Add(columnSet); index++; } return(new Attachment() { Content = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(card)), ContentType = "application/vnd.microsoft.card.adaptive" }); }
public async Task <ActionResult <Models.Cart> > PostCart(Models.Cart cart) { _context.CartItems.UpdateRange(cart.CartItems); _context.Carts.Add(cart); await _context.SaveChangesAsync(); //_eventBus.Publish(new MessageQueueEvent() { Message = $"Cart created: {cart.Id}" }); return(CreatedAtAction("GetCart", new { id = cart.Id }, cart)); }
private Models.Cart GetCart() { var cart = new Models.Cart { CartId = "FakeCart", Products = ProductsInCart }; return(cart); }
public Models.Order Create(Models.Cart cart) { Models.OrderItem orderItem = null; Models.Order newOrder = null; var orderItemLists = new List <Models.OrderItem>(); //if delivery type Id=1 then add 50 to total price if (cart.DeliveryId == 1) { cart.Totalprice = cart.Totalprice + 50; } try { using (var transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { newOrder = new Models.Order() { UserId = cart.UserId, OrderDate = DateTime.Now, PaymentId = cart.PaymentId, DeliveryId = cart.DeliveryId, Deliverd = false, TotalPrice = cart.Totalprice, Address = cart.Address }; _context.Orders.Add(newOrder); _context.SaveChanges(); foreach (var item in cart.CartItems) { orderItem = new Models.OrderItem() { OrderId = newOrder.Id, ProductId = item.Product.Id, Quantity = item.Quantity }; orderItemLists.Add(orderItem); } _context.OrderItems.AddRange(orderItemLists); _context.SaveChanges(); transaction.Complete(); } } catch (Exception e) { return(null); } return(newOrder); }
public ActionResult Index(Models.Cart model) { var cart = db.Carts.Find(model.ID); for (int i = 0; i < model.CartProducts.Count; i++) { cart.CartProducts.ElementAt(i).Quantity = model.CartProducts.ElementAt(i).Quantity; } db.SaveChanges(); return(View(cart)); }
public ActionResult <Models.Order> CreateOrder(Models.Cart cart) { var createdOrder = _orderRepository.Create(cart); if (createdOrder != null) { return(Ok(createdOrder)); } else { return(BadRequest()); } }
public ActionResult Index(Models.Cart model) { var cart = db.Carts.Find(model.ID); for (int i = 0; i < model.Cart_Books.Count; i++) { cart.Cart_Books.ElementAt(i).Quantity = model.Cart_Books.ElementAt(i).Quantity; } db.Cart_Books.RemoveRange(cart.Cart_Books.Where(x => x.Quantity == 0)); db.SaveChanges(); return(View(cart)); }
public ActionResult AddToCart2(Models.CustomItem item) { var c = new Models.Cart(); c.itemid = item.itemid; c.itemname = item.itemname; c.price = item.price; c.quantity = 1; c.userid = Session["userid"].ToString(); return(View(c)); }
public static async Task <Order> BuildOrderAsync(Models.Cart cart, IPrestashopApi prestashopApi) { var prestaCart = await CartToPost.BuildCartAsync(cart, prestashopApi); var postedCart = await prestashopApi.PostCart(prestaCart); var customer = (await prestashopApi.GetCustomerById(cart.User.PrestashopId.Value)).First(); var customerAddresses = await prestashopApi.GetAddressByCustomer(cart.User.PrestashopId.Value); var customerAddress = customerAddresses.First(); var order = new PostOrder(customer, postedCart.Cart, customerAddress); double totalPrice = 0; foreach (CartRow row in prestaCart.Cart.Rows.Rows) { var product = (await prestashopApi.GetProductById(row.ProductId)).First(); totalPrice += product.Price; order.OrderRows.Rows.Add( new OrderRow(product, row.Quantity) ); } order.TotalProducts = totalPrice; order.TotalProductsWithTax = totalPrice * 1.21; order.TotalPaidTaxExcluded = totalPrice; order.TotalPaidTaxIncluded = totalPrice * 1.21; order.TotalPaid = totalPrice * 1.21; var prestaOrder = new OrderToPost { Order = order }; System.Xml.Serialization.XmlSerializer writer = new System.Xml.Serialization.XmlSerializer(typeof(OrderToPost)); var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "//SerializationOverview.xml"; System.IO.FileStream file = System.IO.File.Create(path); writer.Serialize(file, prestaOrder); file.Close(); var postedOrder = await prestashopApi.PostOrder(prestaOrder); return(await Task.FromResult(postedOrder.Order)); }
async public static Task <RequestedInfo> BuildRequestedInfoAsync(Models.Cart cart, IPrestashopApi prestashopApi) { var customer = (await prestashopApi.GetCustomerById(cart.User.Id)).First(); var productString = ""; foreach (OrderLine line in cart.OrderLine) { var product = (await prestashopApi.GetProductById(line.ProductId)).First(); productString += "- " + product.GetNameByLanguage(Languages.English) + "\n\n"; } return(new RequestedInfo(cart.Id, customer.Company, productString)); }
public Models.Cart GetCart() { var cart = (Models.Cart)System.Web.HttpContext.Current.Session["cart"]; if (cart != null) { return(cart); } cart = new Models.Cart(); System.Web.HttpContext.Current.Session["cart"] = cart; return(cart); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } ApplicationUser currentUser = await _userManager.GetUserAsync(HttpContext.User); ProductId = Convert.ToInt32(Request.Form["ProductId"]); var product = await _context.Product.FindAsync(ProductId); var cart = await _context.Cart .Include(a => a.Customer) .Where(a => a.UserId == currentUser.Id) .SingleOrDefaultAsync(); if (cart == null) { cart = new Models.Cart(); cart.UserId = currentUser.Id; cart.Customer = currentUser; } cart.TotalPrice += product.Price; var map = await _context.ProductCartMap .Where(a => a.CartId == cart.CartId) .Where(a => a.ProductId == ProductId) .SingleOrDefaultAsync(); if (map == null) { map = new ProductCartMap(ProductId, product, cart.CartId, cart); await _context.ProductCartMap.AddAsync(map); } else { map.ProductQuantity++; _context.Attach(map).State = EntityState.Modified; } await _context.SaveChangesAsync(); TempData[MessageKey] = $"Product #{product.ProductId} {product.Name}"; return(Redirect("/Product" + Request.QueryString)); }
public async Task <bool> AddToCart(Models.Cart cart) { var cart_item = _dbContext.Carts.AsEnumerable <Models.Cart>(); var _cart = cart_item.Where(x => x.IdProduct == cart.IdProduct && x.IdCustomer == cart.IdCustomer).FirstOrDefault(); if (_cart == null) { _dbContext.Add(cart); } else { _cart.Amount += cart.Amount; } // return(await _dbContext.SaveChangesAsync() != 0); //return true; }
public JsonResult AddToCart(CartDTO cartDTO) { if (!ModelState.IsValid) { Response.StatusCode = 400; return(Json(new { }, JsonRequestBehavior.AllowGet)); } Cart sc = new Models.Cart(); sc.ProductID = cartDTO.ProductID; sc.CustomerID = cartDTO.CustomerID; sc.Quantity = cartDTO.Quantity; using (NorthwindEntities db = new NorthwindEntities()) { // if there is a duplicate product id in cart, simply update the quantity if (db.Carts.Any(c => c.ProductID == sc.ProductID && c.CustomerID == sc.CustomerID)) { // this product is already in the customer's cart, // update the existing cart item's quantity Cart cart = db.Carts.FirstOrDefault(c => c.ProductID == sc.ProductID && c.CustomerID == sc.CustomerID); cart.Quantity += sc.Quantity; sc = new Cart() //{ // from c in db.Carts // join p in db.Products on c.ProductID equals p.ProductID // CartId = cart.CartId, // ProductID = cart.ProductID, // ProductName = cart.ProductName, // CustomerID = cart.CustomerID, // Quantity = cart.Quantity //}; } else { // this product is not in the customer's cart, add the product db.Carts.Add(sc); } db.SaveChanges(); //System.Threading.Thread.Sleep(1500); } return(Json(sc, JsonRequestBehavior.AllowGet)); }