public void Scanned_items_contain_multiple_items_and_quantities() { var ScanItems = new ScanItems(); Item tesco = new Item("A99"); OffersPricing TestOffer = new OffersPricing(3, 1.35M); tesco.ApplySpecialOffers(TestOffer); ItemDetail itemDetail = new ItemDetail(tesco, 3); ScanItems.Add(itemDetail); decimal totalPrice = ScanItems.GetTotalPrice(); Assert.AreEqual(totalPrice, TestOffer.GetSKuPrice() * 3); }
private void InitializeSharlayan() { _lastScan = new ScanItems { FirstScan = true, PreviousArrayIndex = 0, PreviousOffset = 0, ActorId = 0, ConfigId = "", Instrument = Instrument.None, PlayerName = "Unknown", IsBard = true, World = "", PartyMembers = new SortedDictionary <uint, string>(), ChatOpen = false }; _reader ??= new Reader.Reader(new MemoryHandler(new Scanner(), ReaderHandler.Game.GameRegion)); _reader.MemoryHandler.SetProcess(new ProcessModel { Process = ReaderHandler.Game.Process }); _reader.MemoryHandler.SignaturesFoundEvent += SignaturesFound; _reader.MemoryHandler.ExceptionEvent += ExceptionEvent; }
public bool Find(int OrderID, string PackID, String SectionID) { String Sql = ""; //Detail //Detail.Clear(); //Items.Clear(); LocalItems = 0; DataView tDetail = new DataView(); if (PackID != "0" && PackID != "") { Sql = "Select d.ProductID,d.Quantity, p.Description,p.BarCode,p.BarCode_2,p.BarCode_3,p.InvCode From OrderDetail as d Left Join Product as p On d.ProductID=p.ProductID And d.CompanyID=p.CompanyID Where OrderID='" + base.OrderID + "' And PackID='" + PackID + "' And p.SectionID='" + SectionID + "'"; tDetail = oMySql.GetDataView(Sql, "Detail"); //tDetail = oMySql.GetDataView("Select d.ProductID,d.Quantity, p.Description,p.BarCode,p.BarCode_2,p.BarCode_3,p.InvCode From OrderDetail as d Left Join Product as p On d.ProductID=p.ProductID And d.CompanyID=p.CompanyID Left Join Card c On d.CompanyID=c.CompanyID And d.ProductID=c.ProductID Where OrderID='" + ID + "' And PackID='" + PackID + "' And c.ProductID is null", "Detail"); } else { tDetail = oMySql.GetDataView("Select d.ProductID,d.Quantity, p.Description,p.BarCode,p.BarCode_2,p.BarCode_3,p.InvCode From OrderDetail as d Left Join Product as p On d.ProductID=p.ProductID And d.CompanyID=p.CompanyID Where OrderID='" + ID + "'", "Detail"); } ///Adding Prizes oPrize.Find(oCustomer.PrizeID); if (oPrize.PackID != PackID) { return(true); } DataView dvPrizes = oPrize.GetItems(oCustomer.PrizeID, NoItems, SectionID); foreach (DataRow Row in dvPrizes.Table.Rows) { DataRow row = tDetail.Table.NewRow(); row["ProductID"] = Row["ProductID"]; row["InvCode"] = Row["InvCode"]; row["Quantity"] = 1; row["BarCode"] = Row["BarCode"]; row["BarCode_2"] = Row["BarCode_2"]; row["BarCode_3"] = Row["BarCode_3"]; row["Description"] = Row["Description"]; tDetail.Table.Rows.Add(row); } foreach (DataRow Row in tDetail.Table.Rows) { ScanItem Detail = new ScanItem(); Detail.CompanyID = CompanyID; Detail.CustomerID = CustomerID; Detail.ProductID = Row["ProductID"].ToString(); Detail.Packed = Row["ProductID"].ToString(); Detail.Quantity = (int)Row["Quantity"]; Detail.Description = Row["Description"].ToString(); Detail.BarCode = Row["BarCode"].ToString(); //Row["ProductID"].ToString(); Detail.Scanned = 0; Detail.InvCode = Row["InvCode"].ToString(); Detail.BarCode2 = Row["BarCode_2"].ToString(); Detail.BarCode3 = Row["BarCode_3"].ToString(); if (Detail.BarCode.Trim() == "") { Global.ShowNotifier("This Product doesn't have BarCode : " + Row["ProductID"].ToString()); ScanItems.Add(Row["ProductID"].ToString(), Detail); } else if (ScanItems.Contains(Detail.BarCode)) { Global.ShowNotifier("This same BarCode is already in this order: " + Row["ProductID"].ToString()); ScanItems.Add(Row["ProductID"].ToString(), Detail); } else { ScanItems.Add(Row["BarCode"].ToString(), Detail); } LocalItems += Detail.Quantity; } oPrize.Find(oCustomer.PrizeID); //if (oPrize.PackID != PackID) // return true; /* * if (SectionID == "X") * { * * DataView dvPrizes = oPrize.GetItems(oCustomer.PrizeID, base.NoItems, SectionID); * * foreach (DataRow Row in dvPrizes.Table.Rows) * { * if (!((Boolean)Row["IsCompound"])) * { * ScanItem Detail = new ScanItem(); * * Detail.Description = Row["Description"].ToString(); * Detail.CompanyID = CompanyID; * Detail.CustomerID = CustomerID; * Detail.ProductID = Row["ProductID"].ToString(); * //Detail.Packed = Row["ProductID"].ToString(); * Detail.Quantity = Convert.ToInt32(Row["Quantity"].ToString()); * Detail.BarCode = Row["BarCode"].ToString(); //Row["ProductID"].ToString(); * Detail.BarCode2 = Row["BarCode_2"].ToString(); * Detail.BarCode3 = Row["BarCode_3"].ToString(); * Detail.InvCode = Row["InvCode"].ToString(); * Detail.Scanned = 0; * if (Detail.BarCode.Trim() == "") * { * Global.ShowNotifier("This Product doesn't have BarCode : " + Row["ProductID"].ToString()); * ScanItems.Add(Row["ProductID"].ToString(), Detail); * } * else if (ScanItems.Contains(Detail.BarCode)) * { * Global.ShowNotifier("This BarCode is already in this order: " + Row["ProductID"].ToString()); * ScanItems.Add(Row["ProductID"].ToString(), Detail); * } * else * ScanItems.Add(Row["BarCode"].ToString(), Detail); * * LocalItems += Detail.Quantity; * } * else * { * //Prizes compound products * * DataView dvCompoundPrizes = this.oProduct.Items.GetTable(Row["ProductID"].ToString()); * foreach (DataRow row in dvCompoundPrizes.Table.Rows) * { * * ScanItem _Detail = new ScanItem(); * * _Detail.Description = row["Description"].ToString(); * _Detail.CompanyID = CompanyID; * _Detail.CustomerID = CustomerID; * _Detail.ProductID = row["ProductID"].ToString(); * //Detail.Packed = Row["ProductID"].ToString(); * _Detail.Quantity = 1; * _Detail.BarCode = row["BarCode"].ToString(); //Row["ProductID"].ToString(); * _Detail.BarCode2 = row["BarCode_2"].ToString(); * _Detail.BarCode3 = row["BarCode_3"].ToString(); * _Detail.InvCode = row["InvCode"].ToString(); * _Detail.Scanned = 0; * if (_Detail.BarCode.Trim() == "") * { * Global.ShowNotifier("This Product doesn't have BarCode : " + row["ProductID"].ToString()); * ScanItems.Add(row["ProductID"].ToString(), _Detail); * } * else if (ScanItems.Contains(_Detail.BarCode)) * { * Global.ShowNotifier("This BarCode is already in this order: " + row["ProductID"].ToString()); * ScanItems.Add(row["ProductID"].ToString(), _Detail); * } * else * ScanItems.Add(row["BarCode"].ToString(), _Detail); * * LocalItems += _Detail.Quantity; * } * } * } * }*/ return(true); }