[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
/*---------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(); }
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); }
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); }