public void Fill_Sold_ShopB_ItemsData(ltext lt_token_prefix, ref UniversalInvoice.ItemSold[] ItemsSold, int start_index, int count, bool bInvoiceStorno) { int i; int end_index = start_index + count; int j = 0; for (i = start_index; i < end_index; i++) { DataRow dr = dt_ShopB_Items.Rows[j]; decimal Discount = 0; object oDiscount = dr["Discount"]; if (oDiscount is decimal) { Discount = (decimal)oDiscount; } decimal ExtraDiscount = 0; object oExtraDiscount = dr["ExtraDiscount"]; if (oExtraDiscount is decimal) { ExtraDiscount = (decimal)oExtraDiscount; } decimal TotalDiscount = StaticLib.Func.TotalDiscount(Discount, ExtraDiscount, GlobalData.Get_BaseCurrency_DecimalPlaces()); decimal RetailSimpleItemPriceWithDiscount = 0; object o_RetailSimpleItemPriceWithDiscount = dr["RetailSimpleItemPriceWithDiscount"]; if (o_RetailSimpleItemPriceWithDiscount.GetType() == typeof(decimal)) { RetailSimpleItemPriceWithDiscount = (decimal)o_RetailSimpleItemPriceWithDiscount; } decimal TaxPrice = -1; object oTaxPrice = dr["TaxPrice"]; if (oTaxPrice is decimal) { TaxPrice = (decimal)oTaxPrice; } decimal price_without_tax = RetailSimpleItemPriceWithDiscount - TaxPrice; decimal taxation_rate = DBTypes.tf._set_decimal(dr["Atom_Taxation_Rate"]); decimal tax_price = DBTypes.tf._set_decimal(dr["TaxPrice"]); string tax_name = DBTypes.tf._set_string(dr["Atom_Taxation_Name"]); if (bInvoiceStorno) { taxSum.Add(-tax_price, -price_without_tax, tax_name, taxation_rate); } else { taxSum.Add(tax_price, price_without_tax, tax_name, taxation_rate); } decimal dEndPriceWithDiscountAndTax = DBTypes.tf._set_decimal(dr["RetailSimpleItemPriceWithDiscount"]); if (bInvoiceStorno) { tax_price = tax_price * -1; price_without_tax = price_without_tax * -1; dEndPriceWithDiscountAndTax = dEndPriceWithDiscountAndTax * -1; } ItemsSold[i] = new UniversalInvoice.ItemSold(lt_token_prefix, lngRPM.s_Shop_B, DBTypes.tf._set_string(dr["Name"]), DBTypes.tf._set_decimal(dr["RetailSimpleItemPrice"]), "", // no unit DBTypes.tf._set_decimal(dr["RetailSimpleItemPriceWithDiscount"]), tax_name, Convert.ToDecimal(DBTypes.tf._set_int(dr["iQuantity"])), DBTypes.tf._set_decimal(dr["Discount"]), DBTypes.tf._set_decimal(dr["ExtraDiscount"]), DBTypes.tf._set_string(dr["Atom_Currency_Symbol"]), taxation_rate, DBTypes.tf._set_decimal(TotalDiscount), price_without_tax, tax_price, dEndPriceWithDiscountAndTax ); j++; } }
public void Fill_Sold_ShopC_ItemsData(List<object> xDocInvoice_ShopC_Item_Data_LIST, ltext lt_token_prefix, ref UniversalInvoice.ItemSold[] ItemsSold, int start_index, int count,bool bInvoiceStorno) { int i; int end_index = start_index + count; int j = 0; for (i = start_index; i < end_index; i++) { Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd = (Atom_DocInvoice_ShopC_Item_Price_Stock_Data)xDocInvoice_ShopC_Item_Data_LIST[j]; decimal Discount = appisd.Discount.v; decimal ExtraDiscount = appisd.ExtraDiscount.v; decimal TotalDiscount = StaticLib.Func.TotalDiscount(Discount, ExtraDiscount, GlobalData.Get_BaseCurrency_DecimalPlaces()); decimal Atom_Taxation_Rate = appisd.Atom_Taxation_Rate.v; decimal RetailItemsPriceWithDiscount = 0; decimal ItemsTaxPrice = 0; decimal ItemsNetPrice = 0; int decimal_places = appisd.Atom_Currency_DecimalPlaces.v; decimal RetailPricePerUnit = appisd.RetailPricePerUnit.v; decimal dQuantityAll = appisd.dQuantity_FromStock + appisd.dQuantity_FromFactory; StaticLib.Func.CalculatePrice(RetailPricePerUnit, dQuantityAll, Discount, ExtraDiscount, Atom_Taxation_Rate, ref RetailItemsPriceWithDiscount, ref ItemsTaxPrice, ref ItemsNetPrice, decimal_places); decimal taxation_rate = DBTypes.tf._set_decimal(appisd.Atom_Taxation_Rate.v); decimal tax_price = ItemsTaxPrice; string tax_name = appisd.Atom_Taxation_Name.v; if (bInvoiceStorno) { taxSum.Add(-tax_price, -ItemsNetPrice, tax_name, taxation_rate); } else { taxSum.Add(tax_price, ItemsNetPrice, tax_name, taxation_rate); } decimal dRetailItemsPriceWithDiscount = DBTypes.tf._set_decimal(RetailItemsPriceWithDiscount); tax_price = DBTypes.tf._set_decimal(ItemsTaxPrice); decimal dprice_without_tax = DBTypes.tf._set_decimal(ItemsNetPrice); if (bInvoiceStorno) { tax_price = tax_price * -1; dprice_without_tax = dprice_without_tax * -1; dRetailItemsPriceWithDiscount = dRetailItemsPriceWithDiscount * -1; } ItemsSold[i] = new UniversalInvoice.ItemSold(lt_token_prefix, lngRPM.s_Shop_B, DBTypes.tf._set_string(appisd.Atom_Item_UniqueName.v), DBTypes.tf._set_decimal(appisd.RetailPricePerUnit.v), DBTypes.tf._set_string(appisd.Atom_Unit_Name.v), DBTypes.tf._set_decimal(appisd.RetailPriceWithDiscount.v), DBTypes.tf._set_string(appisd.Atom_Taxation_Name.v), DBTypes.tf._set_decimal(dQuantityAll), DBTypes.tf._set_decimal(appisd.Discount.v), DBTypes.tf._set_decimal(appisd.ExtraDiscount.v), DBTypes.tf._set_string(appisd.Atom_Currency_Symbol.v), taxation_rate, DBTypes.tf._set_decimal(TotalDiscount), dprice_without_tax, tax_price, dRetailItemsPriceWithDiscount ); j++; } }
public void Fill_Sold_ShopA_ItemsData(ltext lt_token_prefix, ref UniversalInvoice.ItemSold[] ItemsSold, int start_index, int count, bool bInvoiceStorno) { int i; int end_index = start_index + count; int j = 0; for (i = start_index; i < end_index; i++) { DataRow dr = dt_ShopA_Items.Rows[j]; decimal Discount = 0; object oDiscount = dr[DocInvoice + "_ShopA_Item_$$Discount"]; if (oDiscount is decimal) { Discount = (decimal)oDiscount; } decimal TotalDiscount = Discount; decimal RetailSimpleItemPriceWithDiscount = 0; object o_RetailSimpleItemPriceWithDiscount = dr[DocInvoice+"_ShopA_Item_$$EndPriceWithDiscountAndTax"]; if (o_RetailSimpleItemPriceWithDiscount.GetType() == typeof(decimal)) { RetailSimpleItemPriceWithDiscount = (decimal)o_RetailSimpleItemPriceWithDiscount; } string sUnitName = ""; object oUnitName = dr[DocInvoice+"_ShopA_Item_$_aisha_$_u_$$Name"]; if (oUnitName is string) { sUnitName = (string)oUnitName; } decimal dQuantity = -1; object oQuantity = dr[DocInvoice+"_ShopA_Item_$$dQuantity"]; if (oQuantity is decimal) { dQuantity = (decimal)oQuantity; } decimal TaxPrice = -1; object oTaxPrice = dr[DocInvoice+"_ShopA_Item_$$TAX"]; if (oTaxPrice is decimal) { TaxPrice = (decimal)oTaxPrice; } decimal price_without_tax = RetailSimpleItemPriceWithDiscount - TaxPrice; decimal taxation_rate = DBTypes.tf._set_decimal(dr[DocInvoice+"_ShopA_Item_$_aisha_$_tax_$$Rate"]); decimal tax_price = DBTypes.tf._set_decimal(dr[DocInvoice+"_ShopA_Item_$$TAX"]); string tax_name = DBTypes.tf._set_string(dr[DocInvoice+"_ShopA_Item_$_aisha_$_tax_$$Name"]); if (bInvoiceStorno) { taxSum.Add(-tax_price, -price_without_tax, tax_name, taxation_rate); } else { taxSum.Add(tax_price, price_without_tax, tax_name, taxation_rate); } decimal dRetailPricePerUnitWithDiscount = 0; if (dr[DocInvoice+"_ShopA_Item_$$PricePerUnit"] is decimal) { dRetailPricePerUnitWithDiscount = decimal.Round((decimal)dr[DocInvoice+"_ShopA_Item_$$PricePerUnit"] * (1 - Discount), GlobalData.BaseCurrency.DecimalPlaces); } decimal dprice_without_tax = DBTypes.tf._set_decimal(price_without_tax); decimal dEndPriceWithDiscountAndTax = DBTypes.tf._set_decimal(dr[DocInvoice+"_ShopA_Item_$$EndPriceWithDiscountAndTax"]); if (bInvoiceStorno) { tax_price = tax_price * -1; dprice_without_tax = dprice_without_tax * -1; dEndPriceWithDiscountAndTax = dEndPriceWithDiscountAndTax * -1; } ItemsSold[i] = new UniversalInvoice.ItemSold(lt_token_prefix, lngRPM.s_Shop_B, DBTypes.tf._set_string(dr[DocInvoice+"_ShopA_Item_$_aisha_$$Name"]), DBTypes.tf._set_decimal(dr[DocInvoice+"_ShopA_Item_$$PricePerUnit"]), sUnitName, dRetailPricePerUnitWithDiscount, tax_name, dQuantity, DBTypes.tf._set_decimal(dr[DocInvoice+"_ShopA_Item_$$Discount"]), DBTypes.tf._set_decimal(0), DBTypes.tf._set_string(GlobalData.BaseCurrency.Symbol), taxation_rate, DBTypes.tf._set_decimal(TotalDiscount), dprice_without_tax, tax_price, dEndPriceWithDiscountAndTax ); j++; } }