public async Task <IHttpActionResult> PutOrderBasket(int id, OrderBasket orderBasket)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != orderBasket.OrderId)
            {
                return(BadRequest());
            }

            db.Entry(orderBasket).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OrderBasketExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #2
0
        public void IsProductInBasketTest()
        {
            OrderBasket target        = new OrderBasket();
            int         productNumber = 1;

            Assert.IsFalse(target.IsProductInBasket(productNumber));
        }
        private static void GetOrderItems(OrderBasket order)
        {
            TaxRequestItem item1 = new TaxRequestItem();

            item1.Item         = "book";
            item1.ItemType     = ItemType.Book;
            item1.Price        = 12.49;
            item1.ItemQuantity = 1;
            item1.IsImported   = false;
            order.Items.Add(item1);
            item1              = new TaxRequestItem();
            item1.Item         = "Music CD ";
            item1.ItemType     = ItemType.Others;
            item1.Price        = 14.99;
            item1.ItemQuantity = 1;
            item1.IsImported   = false;
            order.Items.Add(item1);
            item1              = new TaxRequestItem();
            item1.Item         = "Choacolate bar ";
            item1.ItemType     = ItemType.Food;
            item1.Price        = 0.85;
            item1.ItemQuantity = 1;
            item1.IsImported   = false;
            order.Items.Add(item1);
        }
        private static void GetOrderBasket3Items(OrderBasket order)
        {
            TaxRequestItem item1 = new TaxRequestItem();

            item1              = new TaxRequestItem();
            item1.Item         = "Imported bottle of perfume";
            item1.ItemType     = ItemType.Others;
            item1.Price        = 27.99;
            item1.ItemQuantity = 1;
            item1.IsImported   = true;
            order.Items.Add(item1);
            item1              = new TaxRequestItem();
            item1.Item         = "bottle of perfume";
            item1.ItemType     = ItemType.Others;
            item1.Price        = 18.99;
            item1.ItemQuantity = 1;
            item1.IsImported   = false;
            order.Items.Add(item1);
            item1              = new TaxRequestItem();
            item1.Item         = "packate of headache pills";
            item1.ItemType     = ItemType.Medical;
            item1.Price        = 9.75;
            item1.ItemQuantity = 1;
            item1.IsImported   = false;
            order.Items.Add(item1);
            item1              = new TaxRequestItem();
            item1.Item         = "Imported box of chacolates";
            item1.ItemType     = ItemType.Medical;
            item1.Price        = 11.25;
            item1.ItemQuantity = 1;
            item1.IsImported   = true;
            order.Items.Add(item1);
        }
예제 #5
0
        public GenericResult HandleRequest(OrderEditionRequest request)
        {
            Contract.Requires <ArgumentNullException>(request != null, "request != null");
            var requester   = _repositoryFacade.Users.GetUserByLogin(request.Token);
            var orderBasket = new OrderBasket();

            return(OrderHandleRequest(request.Command, request.ItemList.Select(o => CreateEditableCommandTuple(o, requester, orderBasket))));
        }
예제 #6
0
 public OrderBuilder WithCoreData(IUser creator, IUser owner, OrderBasket orderBasket, string orderClientRef)
 {
     _orderCoreData.Creator        = creator;
     _orderCoreData.CreationDate   = DateTime.Now;
     _orderCoreData.ClientOrderRef = orderClientRef;
     _orderCoreData.OrderBasket    = orderBasket;
     _orderCoreData.Owner          = owner;
     return(this);
 }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            OrderBasket orderBasket = await db.OrderBaskets.FindAsync(id);

            db.OrderBaskets.Remove(orderBasket);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
        public async Task <IHttpActionResult> GetOrderBasket(int id)
        {
            OrderBasket orderBasket = await db.OrderBaskets.FindAsync(id);

            if (orderBasket == null)
            {
                return(NotFound());
            }

            return(Ok(orderBasket));
        }
예제 #9
0
        public void ClearBasketTest()
        {
            OrderBasket target = new OrderBasket();

            target.AddItem(1, "Beurre Gelato", 50.0m, 55.5m, 10, "Just some sort of desc");
            target.AddItem(2, "Pain Gelato", 100.55m, 120.5m, 30, "Excepteur sint occaecat cupidatat non proident");
            target.AddItem(4, "Vino Veritas Gelato", 100.47m, 110.5m, 1, "Excepteur sint occaecat cupidatat non proident");
            target.AddItem(6, "Strawberry Gelato", 1m, 1.5m, 11, "Excepteur sint occaecat cupidatat non proident");
            target.ClearBasket();
            Assert.AreEqual(0, target.BasketItems.Count);
        }
        public async Task <ActionResult> Edit([Bind(Include = "OrderId,BasketID,BasketName,SKUID,OrderDate,OrderBy")] OrderBasket orderBasket)
        {
            if (ModelState.IsValid)
            {
                db.Entry(orderBasket).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(orderBasket));
        }
        public async Task <IHttpActionResult> PostOrderBasket(OrderBasket orderBasket)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.OrderBaskets.Add(orderBasket);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = orderBasket.OrderId }, orderBasket));
        }
        public void TaxCalculationForBasket3()
        {
            OrderBasket order = new OrderBasket();

            GetOrderBasket3Items(order);
            ITaxCalculator obj      = new TaxCalculator();
            OrderReciept   response = obj.TaxCalculation(order);

            Assert.IsNotNull(response);
            Assert.AreNotSame(response.IsTaxCalculationDone, true);
            Assert.AreNotSame(response.TotalPrice, 0.00);
        }
예제 #13
0
        public void AddItemTest()
        {
            OrderBasket target                 = new OrderBasket();
            int         productNumber          = 1;
            string      productName            = "Apfel Gelato";
            Decimal     price                  = 5m;
            string      description            = "Apple and cinnamon";
            Decimal     recommendedRetailPrice = 7.2m;

            target.AddItem(productNumber, productName, price, recommendedRetailPrice, 5, description);
            Assert.IsTrue(target.IsProductInBasket(productNumber));
        }
        public async Task <ActionResult> Create([Bind(Include = "OrderId,BasketID,BasketName,SKUID,OrderDate,OrderBy")] OrderBasket orderBasket)
        {
            if (ModelState.IsValid)
            {
                db.OrderBaskets.Add(orderBasket);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(orderBasket));
        }
예제 #15
0
        private void button1_Click(object sender, EventArgs e)
        {
            int         item  = comboBox1.SelectedIndex;
            OrderBasket order = new OrderBasket();

            switch (item)
            {
            case 1:
                GetOrderItems(order);
                break;

            case 2:
                GetOrderBasket2Items(order);
                break;

            case 3:
                GetOrderBasket3Items(order);
                break;

            default:
                break;
            }

            OrderReciept response = m_TaxCalculator.TaxCalculation(order);

            DataTable dtResult = new DataTable();

            dtResult.Columns.Add("Item", typeof(string));
            dtResult.Columns.Add("Item qty", typeof(string));
            dtResult.Columns.Add("Item price", typeof(string));
            if (response.IsTaxCalculationDone)
            {
                DataRow row;
                foreach (TaxRequestItem taxitem in response.TaxRequestItems)
                {
                    row               = dtResult.NewRow();
                    row["Item"]       = taxitem.Item;
                    row["Item qty"]   = taxitem.ItemQuantity;
                    row["Item price"] = taxitem.Price;
                    dtResult.Rows.Add(row);
                }
                row               = dtResult.NewRow();
                row["Item qty"]   = "sales tax";
                row["Item price"] = response.SalesTax;
                dtResult.Rows.Add(row);
                row               = dtResult.NewRow();
                row["Item qty"]   = "Total Price";
                row["Item price"] = response.TotalPrice;
                dtResult.Rows.Add(row);
            }
            dataGridView1.DataSource = dtResult;
        }
예제 #16
0
        public void NumberOfItemsTest()
        {
            OrderBasket target = new OrderBasket();

            target.AddItem(1, "Beurre Gelato", 50.0m, 55.5m, 10, "Just some sort of desc");
            target.AddItem(2, "Pain Gelato", 100.55m, 120.5m, 30, "Excepteur sint occaecat cupidatat non proident");
            target.AddItem(4, "Vino Veritas Gelato", 100.47m, 110.5m, 1, "Excepteur sint occaecat cupidatat non proident");
            target.AddItem(6, "Strawberry Gelato", 1m, 1.5m, 11, "Excepteur sint occaecat cupidatat non proident");
            target.AddItem(6, "Strawberry Gelato", 1m, 1.5m, 5, "Excepteur sint occaecat cupidatat non proident");
            int expectedNumberOfItems = 57;

            Assert.AreEqual(expectedNumberOfItems, target.NumberOfItems);
        }
예제 #17
0
        public void NumberOfProductsTest()
        {
            OrderBasket target = new OrderBasket(); // TODO: Initialize to an appropriate value

            target.AddItem(1, "Beurre Gelato", 50.0m, 55.5m, 5, "Just some sort of desc");
            target.AddItem(2, "Pain Gelato", 100.55m, 120.5m, 30, "Excepteur sint occaecat cupidatat non proident");
            target.AddItem(4, "Vino Veitas Gelato", 100.47m, 110.5m, 1, "Excepteur sint occaecat cupidatat non proident");
            target.AddItem(6, "Strawberry Gelato", 1m, 1.5m, 5, "Excepteur sint occaecat cupidatat non proident");
            target.AddItem(6, "Strawberry Gelato", 1m, 1.5m, 5, "Excepteur sint occaecat cupidatat non proident");
            int expectedNumberOfProducts = 4;

            Assert.AreEqual(expectedNumberOfProducts, target.NumberOfProducts);
        }
예제 #18
0
        public void RemoveItemTest()
        {
            int productNumber = 1;

            OrderBasket target = new OrderBasket();

            target.AddItem(productNumber, "Pancake Gelato", 2.49m, 3.5m, 3, " Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.");
            target.AddItem(2, "Cinamon Gelato", 3.22m, 4.0m, 3, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
            target.AddItem(productNumber, "Muffin Gelato", 1.89m, 2.49m, 4, "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.");
            target.AddItem(3, "Waffle Gelato", 2.22m, 2.7m, 3, "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.");

            target.RemoveItem(productNumber);
            Assert.IsFalse(target.IsProductInBasket(productNumber));
        }
        // GET: OrderBaskets/Delete/5
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            OrderBasket orderBasket = await db.OrderBaskets.FindAsync(id);

            if (orderBasket == null)
            {
                return(HttpNotFound());
            }
            return(View(orderBasket));
        }
        public async Task <IHttpActionResult> DeleteOrderBasket(int id)
        {
            OrderBasket orderBasket = await db.OrderBaskets.FindAsync(id);

            if (orderBasket == null)
            {
                return(NotFound());
            }

            db.OrderBaskets.Remove(orderBasket);
            await db.SaveChangesAsync();

            return(Ok(orderBasket));
        }
예제 #21
0
        public void BasketTotalTest()
        {
            OrderBasket target      = new OrderBasket(); // TODO: Initialize to an appropriate value
            string      productName = "Gilet Gelato";

            target.AddItem(1, productName, 2.49m, 3.1m, 2, "Excepteur sint occaecat cupidatat non proident");
            target.AddItem(2, "Jambon Gelato", 3.22m, 3.99m, 3, "Excepteur sint occaecat cupidatat non proident");
            target.AddItem(1, productName, 2.49m, 3.99m, 4, "Excepteur sint occaecat cupidatat non proident");
            target.AddItem(3, "Gelato Gelato", 2.22m, 2.75m, 3, "Excepteur sint occaecat cupidatat non proident");
            Decimal actual;

            actual = target.BasketTotal;
            decimal expected = 31.26m;

            Assert.AreEqual(expected, actual);
        }
        public JsonResult DeleteBasketProduct(int ID)
        {
            TransactionStatus I = new TransactionStatus();

            try
            {
                OrderBasket.Delete(ID);
                I.ISSUCCESSFUL = true;
            }
            catch (Exception ex)
            {
                I.ISSUCCESSFUL  = false;
                I.ERROR_MESSAGE = "İşlem sırasında beklenmeyen bir hata oluştu!";
            }

            return(Json(I, JsonRequestBehavior.AllowGet));
        }
        private static void GetOrderBasket2Items(OrderBasket order)
        {
            TaxRequestItem item1 = new TaxRequestItem();

            item1.Item         = "box of chacolate";
            item1.ItemType     = ItemType.Food;
            item1.Price        = 10.00;
            item1.ItemQuantity = 1;
            item1.IsImported   = true;
            order.Items.Add(item1);
            item1              = new TaxRequestItem();
            item1.Item         = "bottle of perfume";
            item1.ItemType     = ItemType.Others;
            item1.Price        = 47.50;
            item1.ItemQuantity = 1;
            item1.IsImported   = true;
            order.Items.Add(item1);
        }
예제 #24
0
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex == 0)
            {
                MessageBox.Show("please select valid basket!");
            }
            int         item  = comboBox1.SelectedIndex;
            OrderBasket order = new OrderBasket();

            switch (item)
            {
            case 1:
                GetOrderItems(order);
                break;

            case 2:
                GetOrderBasket2Items(order);
                break;

            case 3:
                GetOrderBasket3Items(order);
                break;

            default:
                break;
            }
            DataTable dtResult = new DataTable();

            dtResult.Columns.Add("Item", typeof(string));
            dtResult.Columns.Add("Item qty", typeof(string));
            dtResult.Columns.Add("Item price", typeof(string));
            DataRow row;

            foreach (TaxRequestItem taxitem in order.Items)
            {
                row               = dtResult.NewRow();
                row["Item"]       = taxitem.Item;
                row["Item qty"]   = taxitem.ItemQuantity;
                row["Item price"] = taxitem.Price;
                dtResult.Rows.Add(row);
            }
            dataGridView2.DataSource = dtResult;
        }
        public JsonResult PlaceBasketOrder(int basketId)
        {
            int          result        = 0;
            string       pcIp          = GetIp();
            BasketMaster _basketMaster = new BasketMaster();

            _basketMaster = _context.BasketMasters.Where(bi => bi.BasketID == basketId).FirstOrDefault();

            OrderBasket oBasket = new OrderBasket();

            oBasket.BasketID   = _basketMaster.BasketID;
            oBasket.BasketName = _basketMaster.BasketName;
            oBasket.SKUID      = _basketMaster.SKUID;
            oBasket.OrderDate  = DateTime.Now;
            oBasket.OrderBy    = pcIp;
            _context.OrderBaskets.Add(oBasket);
            result = _context.SaveChanges();

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #26
0
        public OrderBasketForm(Customer customer)
        {
            //set initial state of the form and reset counters
            InitializeComponent();
            cust = customer;
            ob   = new OrderBasket();
            Gelato2UEntitiesA db = new Gelato2UEntitiesA();
            List <Product>    pl = db.Products.ToList();

            label2.Text                  = cust.CustomerName;
            discValue.Text               = cust.Discount.ToString() + "%";
            productNameBox.DataSource    = pl;
            productNameBox.DisplayMember = "ProductName";
            checkOutButton.Enabled       = false;
            clearButton.Enabled          = false;
            removeButton.Enabled         = false;
            numOfProducts.Text           = "0";
            numOfItems.Text              = "0";
            totalBox.Text                = "£0.00";
            discTotal.Text               = "£0.00";
        }
예제 #27
0
        public IActionResult Add([FromBody] int?id)
        {
            if (id == null)
            {
                return(BadRequest());
            }

            var client = Request.GetClient(context);

            if (client == null)
            {
                return(BadRequest());
            }

            var product = context.Products.Find(id);

            if (product == null)
            {
                return(NotFound());
            }

            var inBasket = (from i in context.Basket where i.ClientId == client.Id && i.ProductId == id select i).FirstOrDefault();

            if (inBasket != null)
            {
                inBasket.Qty++;
            }
            else
            {
                inBasket = new OrderBasket {
                    Price = product.Price, ProductId = product.Id, ClientId = client.Id, Qty = 1
                };
                context.Basket.Add(inBasket);
            }

            context.SaveChanges();
            var totalInBasket = (from i in context.Basket where i.ClientId == client.Id select i).Count();

            return(Json(new { inBasket = inBasket.Qty, totalInBasket }));
        }
        public ActionResult BasketList(int postPROCESS, int postID, int postAMOUNT)
        {
            switch (postPROCESS)
            {
            case (int)Enumeration.enum_myBasketProcess.DELETE:
                OrderBasket.Delete(postID);
                break;

            case (int)Enumeration.enum_myBasketProcess.ADD_OR_UPDATE:
                OrderBasket.AddOrUpdate(postID, postAMOUNT, 1);
                break;

            case (int)Enumeration.enum_myBasketProcess.CLEAR:
                OrderBasket.Clear();
                break;
            }

            BasketViewModel Model = new BasketViewModel();

            Model.BASKET = OrderBasket.myBasket;


            return(View(Model));
        }
예제 #29
0
        private Tuple <Order, IOrderEditableData, IOrderCoreData, IOrderDealingData> CreateEditableCommandTuple(OrderDto orderDto, IUser requester, OrderBasket orderBasket)
        {
            var owner        = _repositoryFacade.Users.GetById(orderDto.Owner == null ? 0 : orderDto.Owner.Id);
            var security     = _repositoryFacade.Securities.GetById(orderDto.Security == null ? 0 : orderDto.Security.Id);
            var fund         = _repositoryFacade.Funds.GetById(orderDto.Fund == null ? 0 : orderDto.Fund.Id);
            var orderBuilder = new OrderBuilder()
                               .WithCoreData(requester, owner ?? requester, orderBasket, orderDto.ClientOrderRef)
                               .WithFund(fund)
                               .WithSecurity(security)
                               .WithPrices(orderDto.OrderType.ToMappingEnum <OrderType>(), orderDto.Quantity, orderDto.PriceLimit, orderDto.PriceStop)
                               .WithDates(orderDto.SettlementDate, orderDto.Validity.ToMappingEnum <OrderValidityType>(), orderDto.ExpiryDate);

            return(new Tuple <Order, IOrderEditableData, IOrderCoreData, IOrderDealingData>(new Order(), orderBuilder.BuildOrderEditableData(), orderBuilder.BuildOrderCoreData(), null));
        }
예제 #30
0
 public void Route(OrderBasket basketOrder)
 {
     basketOrder.Send();
 }