public void CreateFromRow(Row Table) { ID = Convert.ToInt32(Table.Values[0]); PaymentMethod = (PaymentMethod_Enum)Convert.ToInt32(Convert.ToDecimal(Table.Values[1])); Amount = Convert.ToDecimal(Table.Values[2]); ReceiptID = Convert.ToInt32(Table.Values[3]); }
public void TestStatisticsTempProduct(decimal price, int Amount, PaymentMethod_Enum PaymentMethod, decimal PaidAmount) { DateTime Start = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0); DateTime Stop = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59);; StatCon.RequestTodayReceipts(); StatCon.CalculatePayments(); StatCon.RequestStatistics(false, 0, false, 0, false, "", Start, Stop); StatCon.GenerateProductSalesAndTotalRevenue(); decimal Kontant_old = Math.Round(StatCon.Payments[0], 2); decimal Dankort_old = Math.Round(StatCon.Payments[1], 2); decimal MobilePay_old = Math.Round(StatCon.Payments[2], 2); int TestProdID = TempProduct.GetNextID(); SC.CreateTempProduct("Test", price, TestProdID); BaseProduct TestProd = SC.TempProductDictionary[TestProdID]; POS.AddSaleTransaction(TestProd, Amount); Payment TestPay = new Payment(Receipt.GetNextID(), PaidAmount, PaymentMethod); POS.PlacerholderReceipt.Payments.Add(TestPay); POS.ExecuteReceipt(false); StatCon.RequestTodayReceipts(); StatCon.CalculatePayments(); StatCon.GenerateProductSalesAndTotalRevenue(); decimal Kontant_new = Math.Round(StatCon.Payments[0], 2); decimal Dankort_new = Math.Round(StatCon.Payments[1], 2); decimal MobilePay_new = Math.Round(StatCon.Payments[2], 2); if (PaymentMethod == PaymentMethod_Enum.Cash) { Assert.IsTrue(Kontant_new == Kontant_old + TestPay.Amount && Dankort_old == Dankort_new && MobilePay_old == MobilePay_new); } else if (PaymentMethod == PaymentMethod_Enum.Card) { Assert.IsTrue((Kontant_new + (PaidAmount - (TestProd.SalePrice * Amount))) == Kontant_old && Dankort_new == Dankort_old + TestPay.Amount && MobilePay_old == MobilePay_new); } else if (PaymentMethod == PaymentMethod_Enum.MobilePay) { Assert.IsTrue(Kontant_new == Kontant_old && Dankort_old == Dankort_new && MobilePay_new == MobilePay_old + TestPay.Amount); } }
public string CompletePurchase(PaymentMethod_Enum PaymentMethod, TextBox PayWithAmount, ListView ReceiptListView, out bool CompletedPurchase) { CompletedPurchase = false; if (ReceiptListView.HasItems) { if (TotalPriceToPay == -1m) { TotalPriceToPay = PlacerholderReceipt.TotalPrice; } decimal PaymentAmount; if (PayWithAmount.Text.Length == 0) { PaymentAmount = TotalPriceToPay; } else { PaymentAmount = Convert.ToDecimal(PayWithAmount.Text); } if (ReceiptID == 0) { ReceiptID = Receipt.GetNextID(); } Payment NewPayment = new Payment(ReceiptID, PaymentAmount, PaymentMethod); PlacerholderReceipt.Payments.Add(NewPayment); PayWithAmount.Text = string.Empty; TotalPriceToPay -= NewPayment.Amount; if (PlacerholderReceipt.PaidPrice >= PlacerholderReceipt.TotalPrice) { CompletedPurchase = true; SaleTransaction.SetStorageController(_storageController); Thread NewThread = new Thread(new ThreadStart(ExecuteReceipt)); NewThread.Name = "ExecuteReceipt Thread"; NewThread.Start(); _storageController.TempProductToDictionary(); ReceiptListView.Items.Clear(); TotalPriceToPay = -1m; ReceiptID = 0; if (PlacerholderReceipt.PaidPrice > PlacerholderReceipt.TotalPrice) { return("Retur: " + Math.Round((PlacerholderReceipt.PaidPrice - PlacerholderReceipt.TotalPrice), 2).ToString().Replace('.', ',')); } else { return(""); } } if (TotalPriceToPay != -1m) { if (TotalPriceToPay == 0) { PlacerholderReceipt.Payments.Clear(); PlacerholderReceipt.TotalPrice = 0; CompletedPurchase = true; return(string.Empty); } return(Math.Round(TotalPriceToPay, 2).ToString().Replace('.', ',')); } } return(string.Empty); }
public Payment(int ReceiptID, decimal Amount, PaymentMethod_Enum PaymentMethod) { this.ReceiptID = ReceiptID; this.Amount = Amount; this.PaymentMethod = PaymentMethod; }