private async void LoadDataFromFile() { _maxRedniBroj = RetailItems.Count > 0 ? RetailItems.Max(y => y.RedniBroj) : 0; OpenFileDialog ofd = new OpenFileDialog { Filter = "Xlsx Files *.xlsx|*.xlsx|Xls Files *.xls|*.xls|Csv files *.csv|*.csv", FilterIndex = 1, Multiselect = false }; Nullable <bool> result = ofd.ShowDialog(); if (result != null && result == true) { IsLoading = true; FilePath = ofd.FileName; var data = _xlsFileReader.Convert(FilePath, "REKAPITULACIJA POREZA SVEUKUPNO"); if (data != null) { FromStringToList(data); _loaded = true; } await Application.Current.Dispatcher.BeginInvoke(new Action(DatagridLoaded), DispatcherPriority.ContextIdle, null); } }
public void SingleItemQuantityGreaterThan1() { Calculator.BackgroundCheckFee = 0M; Calculator.SalesTaxInfo = new SalesTaxInfo(8.25M); Calculator.ShippingAndHandlingCost = 0M; RetailItems.Add(new RetailItem() { RetailPrice = 20M, Quantity = 3 }); Calculator.RetailItems = RetailItems; foreach (RetailItem item in RetailItems) { Assert.AreEqual(0M, item.DiscountPercent); Assert.AreEqual(0M, item.NegotiatedPrice); } Assert.AreEqual(60M, Calculator.RetailPriceSubTotal); Calculator.Calculate(40M); Assert.AreEqual(40.01M, Calculator.GetCalculatedOutTheDoor()); Assert.AreEqual(38.4M, RetailItems[0].DiscountPercent); Assert.AreEqual(12.32M, RetailItems[0].NegotiatedPrice); }
public void ReduceItemRetailPriceToNotExceedOutTheDoorAmountWithSingleItem() { Calculator.BackgroundCheckFee = 0M; Calculator.SalesTaxInfo = new SalesTaxInfo(8.25M); Calculator.ShippingAndHandlingCost = 0M; RetailItems.Add(new RetailItem() { RetailPrice = 399.99M, Quantity = 1 }); Calculator.RetailItems = RetailItems; foreach (RetailItem item in RetailItems) { Assert.AreEqual(0M, item.DiscountPercent); Assert.AreEqual(0M, item.NegotiatedPrice); } Assert.AreEqual(399.99M, Calculator.RetailPriceSubTotal); Calculator.Calculate(400M); Assert.AreEqual(399.99M, Calculator.GetCalculatedOutTheDoor()); Assert.AreEqual(7.62M, RetailItems[0].DiscountPercent); Assert.AreEqual(369.51M, RetailItems[0].NegotiatedPrice); }
private async void SaveToDatabase() { IEnumerable <RetailIraModel> primke = RetailItems.Where(x => x.RedniBroj > _maxRedniBroj); var list = new List <RetailIraModel>(primke); IsLoading = true; await _bookRetailEndpoint.Post(list); _loaded = false; LoadRetail(); }
public void BZ_299() { Calculator.BackgroundCheckFee = 0M; Calculator.SalesTaxInfo = new SalesTaxInfo(8.25M); Calculator.ShippingAndHandlingCost = 0M; RetailItems.Add(new RetailItem() { RetailPrice = 200M, Quantity = 1 }); RetailItems.Add(new RetailItem() { RetailPrice = 20M, Quantity = 1 }); RetailItems.Add(new RetailItem() { RetailPrice = 50M, Quantity = 1 }); RetailItems.Add(new RetailItem() { RetailPrice = 250M, Quantity = 1 }); Calculator.RetailItems = RetailItems; foreach (RetailItem item in RetailItems) { Assert.AreEqual(0M, item.DiscountPercent); Assert.AreEqual(0M, item.NegotiatedPrice); } Assert.AreEqual(520M, Calculator.RetailPriceSubTotal); Calculator.Calculate(400M); Assert.AreEqual(399.99M, Calculator.GetCalculatedOutTheDoor()); Assert.AreEqual(28.945M, RetailItems[0].DiscountPercent); Assert.AreEqual(142.11M, RetailItems[0].NegotiatedPrice); Assert.AreEqual(28.95M, RetailItems[1].DiscountPercent); Assert.AreEqual(14.21M, RetailItems[1].NegotiatedPrice); Assert.AreEqual(28.94M, RetailItems[2].DiscountPercent); Assert.AreEqual(35.53M, RetailItems[2].NegotiatedPrice); Assert.AreEqual(28.936M, RetailItems[3].DiscountPercent); Assert.AreEqual(177.66M, RetailItems[3].NegotiatedPrice); }
private void AddDataToList(DataRow val) { RetailItems.Add(new RetailIraModel { RedniBroj = int.Parse(val[0].ToString()), Datum = DateTime.Parse(val[1].ToString()), Stopa = decimal.Parse(val[3].ToString()), NaplacenaVrijednost = decimal.Parse(val[4].ToString()), PoreznaOsnovica = decimal.Parse(val[5].ToString()), NettoRuc = decimal.Parse(val[6].ToString()), Pdv = decimal.Parse(val[8].ToString()), NabavnaVrijednost = decimal.Parse(val[9].ToString()), StornoMarze = decimal.Parse(val[10].ToString()), StornoPdv = decimal.Parse(val[11].ToString()), MaloprodajnaVrijednost = decimal.Parse(val[12].ToString()) }); }
public void MultipleItemsAndQuantityGreaterThan1() { Calculator.BackgroundCheckFee = 0M; Calculator.SalesTaxInfo = new SalesTaxInfo(8.25M); Calculator.ShippingAndHandlingCost = 0M; RetailItems.Add(new RetailItem() { RetailPrice = 46.99M, Quantity = 1 }); RetailItems.Add(new RetailItem() { RetailPrice = 7.99M, Quantity = 1 }); RetailItems.Add(new RetailItem() { RetailPrice = 3.33M, Quantity = 3 }); Calculator.RetailItems = RetailItems; foreach (RetailItem item in RetailItems) { Assert.AreEqual(0M, item.DiscountPercent); Assert.AreEqual(0M, item.NegotiatedPrice); } Assert.AreEqual(64.97M, Calculator.RetailPriceSubTotal); Calculator.Calculate(70M); Assert.AreEqual(69.99M, Calculator.GetCalculatedOutTheDoor()); Assert.AreEqual(0.511M, RetailItems[0].DiscountPercent); Assert.AreEqual(46.75M, RetailItems[0].NegotiatedPrice); Assert.AreEqual(0.501M, RetailItems[1].DiscountPercent); Assert.AreEqual(7.95M, RetailItems[1].NegotiatedPrice); Assert.AreEqual(0.3M, RetailItems[2].DiscountPercent); Assert.AreEqual(3.32M, RetailItems[2].NegotiatedPrice); }
public void ReduceItemRetailPriceToNotExceedOutTheDoorAmountWithMultipleItems() { Calculator.BackgroundCheckFee = 0M; Calculator.SalesTaxInfo = new SalesTaxInfo(8.25M); Calculator.ShippingAndHandlingCost = 0M; RetailItems.Add(new RetailItem() { RetailPrice = 599.99M, Quantity = 1 }); RetailItems.Add(new RetailItem() { RetailPrice = 30M, Quantity = 1 }); RetailItems.Add(new RetailItem() { RetailPrice = 79.99M, Quantity = 1 }); Calculator.RetailItems = RetailItems; foreach (RetailItem item in RetailItems) { Assert.AreEqual(0M, item.DiscountPercent); Assert.AreEqual(0M, item.NegotiatedPrice); } Assert.AreEqual(709.98M, Calculator.RetailPriceSubTotal); Calculator.Calculate(750M); Assert.AreEqual(750M, Calculator.GetCalculatedOutTheDoor()); Assert.AreEqual(2.413M, RetailItems[0].DiscountPercent); Assert.AreEqual(585.51M, RetailItems[0].NegotiatedPrice); Assert.AreEqual(2.40M, RetailItems[1].DiscountPercent); Assert.AreEqual(29.28M, RetailItems[1].NegotiatedPrice); Assert.AreEqual(2.425M, RetailItems[2].DiscountPercent); Assert.AreEqual(78.05M, RetailItems[2].NegotiatedPrice); }
public void BlueSkySimpleWithTaxesShippingAndFees() { Calculator.BackgroundCheckFee = 3M; Calculator.SalesTaxInfo = new SalesTaxInfo(8.25M); Calculator.ShippingAndHandlingCost = 8.5M; RetailItems.Add(new RetailItem() { RetailPrice = 10M, Quantity = 1 }); RetailItems.Add(new RetailItem() { RetailPrice = 10M, Quantity = 1 }); Calculator.RetailItems = RetailItems; foreach (RetailItem item in RetailItems) { Assert.AreEqual(0M, item.DiscountPercent); Assert.AreEqual(0M, item.NegotiatedPrice); } Assert.AreEqual(20M, Calculator.RetailPriceSubTotal); Calculator.Calculate(30M); Assert.AreEqual(30M, Calculator.GetCalculatedOutTheDoor()); Assert.AreEqual(14.6M, RetailItems[0].DiscountPercent); Assert.AreEqual(8.54M, RetailItems[0].NegotiatedPrice); Assert.AreEqual(14.5M, RetailItems[1].DiscountPercent); Assert.AreEqual(8.55M, RetailItems[1].NegotiatedPrice); }
public void BlueSkySimpleCalculation() { Calculator.BackgroundCheckFee = 0M; Calculator.SalesTaxInfo = SalesTaxInfo; Calculator.ShippingAndHandlingCost = 0M; RetailItems.Add(new RetailItem() { RetailPrice = 10M, Quantity = 1 }); RetailItems.Add(new RetailItem() { RetailPrice = 10M, Quantity = 1 }); Calculator.RetailItems = RetailItems; foreach (RetailItem item in RetailItems) { Assert.AreEqual(0M, item.DiscountPercent); Assert.AreEqual(0M, item.NegotiatedPrice); } Assert.AreEqual(20M, Calculator.RetailPriceSubTotal); Calculator.Calculate(10M); Assert.AreEqual(10M, Calculator.GetCalculatedOutTheDoor()); Assert.AreEqual(50M, RetailItems[0].DiscountPercent); Assert.AreEqual(5M, RetailItems[0].NegotiatedPrice); Assert.AreEqual(50M, RetailItems[1].DiscountPercent); Assert.AreEqual(5M, RetailItems[1].NegotiatedPrice); }
public void CalculateWithCaccItemWithNegotiatedPriceAndTax() { Calculator.BackgroundCheckFee = 0M; Calculator.SalesTaxInfo = new SalesTaxInfo(8.25M); Calculator.ShippingAndHandlingCost = 0M; RetailItems.Add(new RetailItem() { NegotiatedPrice = 5M, RetailPrice = 0M, Quantity = 1 }); RetailItems.Add(new RetailItem() { RetailPrice = 10M, Quantity = 1 }); Calculator.RetailItems = RetailItems; foreach (RetailItem item in RetailItems) { Assert.AreEqual(0M, item.DiscountPercent); } Assert.AreEqual(15M, Calculator.RetailPriceSubTotal); Calculator.Calculate(8M); Assert.AreEqual(8M, Calculator.GetCalculatedOutTheDoor()); Assert.AreEqual(0M, RetailItems[0].DiscountPercent); Assert.AreEqual(2.46M, RetailItems[0].NegotiatedPrice); Assert.AreEqual(50.7M, RetailItems[1].DiscountPercent); Assert.AreEqual(4.93M, RetailItems[1].NegotiatedPrice); }
public decimal TotalRetailPrice() => RetailItems.Sum(x => x.RetailPrice);