Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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
                });
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 public Cart(Models.Cart cart)
 {
     InitializeComponent();
     this.cart = cart;
     labels    = new List <Label>();
     Init();
 }
Exemplo n.º 5
0
        /// <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);
            }
        }
Exemplo n.º 6
0
        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"));
            }
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        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);
            }
        }
Exemplo n.º 9
0
        public ActionResult Index(Models.Cart model)
        {
            var cart = db.Carts.Find(model.ID);

            db.SaveChanges();
            return(View(cart));
        }
Exemplo n.º 10
0
        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));
            }
        }
Exemplo n.º 12
0
        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);
            }
        }
Exemplo n.º 14
0
        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;
 }
Exemplo n.º 17
0
        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"
            });
        }
Exemplo n.º 18
0
        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));
        }
Exemplo n.º 19
0
        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);
        }
Exemplo n.º 21
0
        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));
        }
Exemplo n.º 22
0
        public ActionResult <Models.Order> CreateOrder(Models.Cart cart)
        {
            var createdOrder = _orderRepository.Create(cart);

            if (createdOrder != null)
            {
                return(Ok(createdOrder));
            }
            else
            {
                return(BadRequest());
            }
        }
Exemplo n.º 23
0
        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));
        }
Exemplo n.º 25
0
        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));
        }
Exemplo n.º 26
0
        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));
        }
Exemplo n.º 27
0
        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);
        }
Exemplo n.º 28
0
        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));
        }
Exemplo n.º 29
0
        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;
        }
Exemplo n.º 30
0
        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));
        }