示例#1
0
        [TestMethod] //Test case to cover scenario 3
        public void TestMethod3()
        {
            UnitPrice objUnitPrice = new UnitPrice();

            SKUs obj1 = new SKUs();

            obj1.SKUId    = 'A';
            obj1.quantity = 3;

            SKUs obj2 = new SKUs();

            obj2.SKUId    = 'B';
            obj2.quantity = 5;

            SKUs obj3 = new SKUs();

            obj3.SKUId    = 'C';
            obj3.quantity = 1;

            SKUs obj4 = new SKUs();

            obj4.SKUId    = 'D';
            obj4.quantity = 1;

            Cart objCart = new Cart();

            objCart.objSKUs.Add(obj1);
            objCart.objSKUs.Add(obj2);
            objCart.objSKUs.Add(obj3);
            objCart.objSKUs.Add(obj4);

            Assert.AreEqual(280, Cart.CalculateCartValue(objCart, objUnitPrice));
        }
        } //End method


        /// <summary> This method returns the SKU object that matches the one passed into the function. </summary>
        /// <param name="SKU"> A Container SKU object. </param>
        /// <returns> The matched object if found, otherwise adds it to the DB and return the object. </returns>
        public void GetSKU(Cont.SKU SKU)
        {
            var info = SKUs.FirstOrDefault(x => x.Equals(SKU));
            if (info == null)
            {
                SKU.ID = Handler.SKU.Add(SKU);
                SKUs.Add(SKU);
            }
            else
            {
                SKU.ID = info.ID;
            }
        } //End method
示例#3
0
        /*---------FIM Metodos Transportadora---------*/
        /*---------Metodos Pedidos---------*/


        public static void IncluirPedido(int idProduto, int idSku, int idTransportadora, int idCliente, int idEndereco)
        {
            Produtos       produto        = ProdutosESKUs.listaProdutos[idProduto];
            SKUs           Sku            = ProdutosESKUs.listaProdutos[idProduto]._listaSKU[idSku];
            Clientes       cliente        = ClientesEEnderecos.listaClientes[idCliente];
            Enderecos      enderecos      = ClientesEEnderecos.listaClientes[idCliente].Enderecos[idEndereco];
            Transportadora Transportadora = listaTransportadora[idTransportadora];



            listaPedidos.Add(new Pedidos(produto, Sku, cliente, enderecos, Transportadora));
            JSON.ExportarPedidos();
        }
示例#4
0
        public void Scan(Item item)
        {
            if (item == null)
            {
                throw new ArgumentNullException(nameof(item));
            }

            SKUs.Add(item);

            var applied = Offers
                          .Where(r => r.SKU == item.SKU)
                          .Where(r => r.Apply(item, SKUs))
                          .Select(r => new OfferResult(r.SKU, r.Name, r.Quantity, r.OfferPrice));

            AppliedOffers.AddRange(applied);
        }
示例#5
0
        private decimal NoneQualiyingTotal()
        {
            var total = 0m;

            // Sum and total SKUs that don't qualify for offers
            var groupedSkus = SKUs.GroupBy(r => r.SKU);

            foreach (var sku in groupedSkus)
            {
                var skusRuleAppliedQty = AppliedOffers.Where(r => r.SKU == sku.Key).Sum(r => r.Quantity);
                var skuScannedQty      = SKUs.Count(s => s.SKU == sku.Key);

                if (skuScannedQty > skusRuleAppliedQty)
                {
                    total += sku.First().UnitPrice *(skuScannedQty - skusRuleAppliedQty);
                }
            }

            return(total);
        }