Exemplo n.º 1
0
 public static bool GetData(long Organisation_ID,
                         ref string Name,
                         ref string Tax_ID,
                         ref string Registration_ID,
                         ref UniversalInvoice.Address Address,
                         ref string PhoneNumber,
                         ref string FaxNumber,
                         ref string Email,
                         ref string HomePage,
                         ref string OrganisationType,
                         ref string Logo_Hash,
                         ref Image LogoImage,
                         ref string Logo_Description
                         )
 {
     string Err = null;
     string sql = @"select
                     OrganisationData_$_org_$$Name,
                         OrganisationData_$_org_$$Tax_ID,
                         OrganisationData_$_org_$$Registration_ID,
                         OrganisationData_$_cadrorg_$_strnorg_$$StreetName,
                         OrganisationData_$_cadrorg_$_hounorg_$$HouseNumber,
                         OrganisationData_$_cadrorg_$_citorg_$$City,
                         OrganisationData_$_cadrorg_$_ziporg_$$ZIP,
                         OrganisationData_$_cadrorg_$_couorg_$$Country,
                         OrganisationData_$_cadrorg_$_storg_$$State,
                         OrganisationData_$_cphnnorg_$$PhoneNumber,
                         OrganisationData_$_cfaxnorg_$$FaxNumber,
                         OrganisationData_$_cemailorg_$$Email,
                         OrganisationData_$_chomepgorg_$$HomePage,
                         OrganisationData_$_orgt_$$OrganisationTYPE,
                         OrganisationData_$_logo.Image_Hash AS OrganisationData_$_logo_$$Image_Hash,
                         OrganisationData_$_logo.Image_Data AS OrganisationData_$_logo_$$Image_Data,
                         OrganisationData_$_logo.Description AS OrganisationData_$_logo_$$Description
                         from OrganisationData_VIEW where OrganisationData_$_org_$$ID = " + Organisation_ID.ToString();
     DataTable dt = new DataTable();
     if (DBSync.DBSync.ReadDataTable(ref dt, sql, null, ref Err))
     {
         if (dt.Rows.Count > 0)
         {
             Name = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_org_$$Name"]);
             Tax_ID = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_org_$$Tax_ID"]);
             Registration_ID = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_org_$$Registration_ID"]);
             Address.StreetName = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_cadrorg_$_strnorg_$$StreetName"]);
             Address.HouseNumber = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_cadrorg_$_ahounorg_$$HouseNumber"]);
             Address.City = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_cadrorg_$_acitorg_$$City"]);
             Address.ZIP = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_cadrorg_$_aziporg_$$ZIP"]);
             Address.State = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_cadrorg_$_couorg_$$Country"]);
             Address.State = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_cadrorg_$_storg_$$State"]);
             PhoneNumber = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_cphnnorg_$$PhoneNumber"]);
             FaxNumber = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_cfaxnorg_$$FaxNumber"]);
             Email = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_cemailorg_$$Email"]);
             HomePage = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_chomepgorg_$$HomePage"]);
             OrganisationType = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_orgt_$$OrganisationTYPE"]);
             Logo_Hash = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_logo_$$Image_Hash"]);
             LogoImage = DBTypes.tf._set_Image(dt.Rows[0]["OrganisationData_$_logo_$$Image_Data"]);
             Logo_Description = DBTypes.tf._set_string(dt.Rows[0]["OrganisationData_$_logo_$$Description"]);
             return true;
         }
         else
         {
         }
     }
     else
     {
         LogFile.Error.Show("ERROR:f_Atom_OrganisationData:GetData:sql=" + sql + "\r\nErr=" + Err);
     }
     return false;
 }
Exemplo n.º 2
0
        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++;
            }
        }
Exemplo n.º 3
0
        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++;
            }
        }
Exemplo n.º 4
0
        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++;
            }
        }
Exemplo n.º 5
0
            public string Create_furs_InvoiceXML(bool bStorno,
                                                string InvoiceXmlTemplate,
                                                string FursD_MyOrgTaxID,
                                                string FursD_BussinesPremiseID,
                                                string CasshierName,
                                                string FursD_InvoiceAuthorTaxID,
                                                string stornoReferenceInvoiceNumber,
                                                string stornoReferenceInvoiceIssueDateTime,
                                                DateTime_v IssueDate_v,
                                                long NumberInFinancialYear,
                                                decimal GrossSum,
                                                StaticLib.TaxSum taxSum,
                                                UniversalInvoice.Person Invoice_Author)
            {
                try
                {
                    //                string InvoiceXmlTemplate = Properties.Resources.FVI_SLO_Invoice;
                    XmlDocument xdoc = new XmlDocument();
                    xdoc.LoadXml(InvoiceXmlTemplate);
                    XmlNodeList ndl_TaxNumber = xdoc.GetElementsByTagName("fu:TaxNumber");
                    //string sInnerText_MyOrgTaxID = Program.usrc_FVI_SLO1.FursD_MyOrgTaxID; // "10329048";//MyOrganisation.Tax_ID;
                    ndl_TaxNumber.Item(0).InnerText = FursD_MyOrgTaxID;//Program.usrc_FVI_SLO1.FursD_MyOrgTaxID; //MyOrganisation.Tax_ID;
                    XmlNodeList ndl_IssueDateTime = xdoc.GetElementsByTagName("fu:IssueDateTime");
                    ndl_IssueDateTime.Item(0).InnerText = fs.GetFURS_Time_Formated(IssueDate_v.v);
                    XmlNodeList ndl_BusinessPremiseID = xdoc.GetElementsByTagName("fu:BusinessPremiseID");
                    //string sInnerText_FursD_BussinesPremiseID = Program.usrc_FVI_SLO1.FursD_BussinesPremiseID;
                    ndl_BusinessPremiseID.Item(0).InnerText = FursD_BussinesPremiseID;// Program.usrc_FVI_SLO1.FursD_BussinesPremiseID; // "36CF"; //MyOrganisation.Atom_Office_Name;
                    XmlNodeList ndl_ElectronicDeviceID = xdoc.GetElementsByTagName("fu:ElectronicDeviceID");
                    ndl_ElectronicDeviceID.Item(0).InnerText = CasshierName;//Properties.Settings.Default.CasshierName;
                    XmlNodeList ndl_InvoiceNumber = xdoc.GetElementsByTagName("fu:InvoiceNumber");
                    ndl_InvoiceNumber.Item(0).InnerText = NumberInFinancialYear.ToString();
                    XmlNodeList ndl_InvoiceAmount = xdoc.GetElementsByTagName("fu:InvoiceAmount");
                    ndl_InvoiceAmount.Item(0).InnerText = sStorno(bStorno) + fs.GetFursDecimalString(GrossSum);
                    XmlNodeList ndl_PaymentAmount = xdoc.GetElementsByTagName("fu:PaymentAmount");
                    ndl_PaymentAmount.Item(0).InnerText = sStorno(bStorno) + fs.GetFursDecimalString(GrossSum);

                    XmlNodeList ndl_TaxesPerSeller = xdoc.GetElementsByTagName("fu:TaxesPerSeller");
                    string s_innertext = "";
                    foreach (StaticLib.Tax tax in taxSum.TaxList)
                    {
                        string sVat = "<fu:VAT>\r\n" +
                                              "<fu:TaxRate>" + sStorno(bStorno) + fs.GetFursDecimalString(tax.Rate * 100) + "</fu:TaxRate>\r\n" +
                                              "<fu:TaxableAmount>" + sStorno(bStorno) + fs.GetFursDecimalString(tax.TaxableAmount) + "</fu:TaxableAmount>\r\n" +
                                              "<fu:TaxAmount>" + sStorno(bStorno) + fs.GetFursDecimalString(tax.TaxAmount) + "</fu:TaxAmount>\r\n" +
                                       "</fu:VAT>" + "\r\n";
                        s_innertext += sVat;
                    }
                    ndl_TaxesPerSeller.Item(0).InnerXml = s_innertext;

                    XmlNodeList ndl_OperatorTaxNumber = xdoc.GetElementsByTagName("fu:OperatorTaxNumber");

                    string sFursD_InvoiceAuthorTaxID = FursD_InvoiceAuthorTaxID;// Program.usrc_FVI_SLO1.FursD_InvoiceAuthorTaxID;

                    //Invoice_Author.Tax_ID = "59729481";

                    Invoice_Author.Tax_ID = FursD_InvoiceAuthorTaxID;// Program.usrc_FVI_SLO1.FursD_InvoiceAuthorTaxID;

                    ndl_OperatorTaxNumber.Item(0).InnerText = Invoice_Author.Tax_ID;

                    //LK storno
                    if (bStorno)
                    {
                        XmlNodeList Fu_Invoice = xdoc.GetElementsByTagName("fu:Invoice");
                        string ns = Fu_Invoice.Item(0).GetNamespaceOfPrefix("fu");

                        XmlNode xReferenceInvoice = xdoc.CreateNode("element", "ReferenceInvoice", ns);
                        XmlNode xReferenceInvoiceIdentifier = xdoc.CreateNode("element", "ReferenceInvoiceIdentifier", ns);
                        XmlNode xBusinessPremiseID = xdoc.CreateNode("element", "BusinessPremiseID", ns);
                        XmlNode xElectronicDeviceID = xdoc.CreateNode("element", "ElectronicDeviceID", ns);
                        XmlNode xInvoiceNumber = xdoc.CreateNode("element", "InvoiceNumber", ns);
                        XmlNode xReferenceInvoiceIssueDateTime = xdoc.CreateNode("element", "ReferenceInvoiceIssueDateTime", ns);
                        xReferenceInvoice.Prefix = "fu";
                        xReferenceInvoiceIdentifier.Prefix = "fu";
                        xBusinessPremiseID.Prefix = "fu";
                        xElectronicDeviceID.Prefix = "fu";
                        xInvoiceNumber.Prefix = "fu";
                        xReferenceInvoiceIssueDateTime.Prefix = "fu";

                        xBusinessPremiseID.InnerText = FursD_BussinesPremiseID;
                        xElectronicDeviceID.InnerText = CasshierName;
                        xInvoiceNumber.InnerText = stornoReferenceInvoiceNumber;
                        xReferenceInvoiceIssueDateTime.InnerText = stornoReferenceInvoiceIssueDateTime;

                        xReferenceInvoiceIdentifier.AppendChild(xBusinessPremiseID);
                        xReferenceInvoiceIdentifier.AppendChild(xElectronicDeviceID);
                        xReferenceInvoiceIdentifier.AppendChild(xInvoiceNumber);
                        xReferenceInvoice.AppendChild(xReferenceInvoiceIdentifier);
                        xReferenceInvoice.AppendChild(xReferenceInvoiceIssueDateTime);
                        Fu_Invoice.Item(0).AppendChild(xReferenceInvoice);

                        //<fu:ReferenceInvoice>
                        //  <fu:ReferenceInvoiceIdentifier >
                        //    <fu:BusinessPremiseID > TRGOVINA1 </ fu:BusinessPremiseID >
                        //    <fu:ElectronicDeviceID > BLAG2 </ fu:ElectronicDeviceID >
                        //    <fu:InvoiceNumber > 145 </ fu:InvoiceNumber >
                        //  </fu:ReferenceInvoiceIdentifier >
                        //  <fu:ReferenceInvoiceIssueDateTime > 2015 - 09 - 07T12: 12:54 </ fu:ReferenceInvoiceIssueDateTime >
                        //</fu:ReferenceInvoice >
                    }

                    string InvoiceXml = XmlDcoumentToString(xdoc);
                    return InvoiceXml;
                }
                catch (Exception Ex)
                {
                    LogFile.Error.Show("ERROR:InvoiceData:Create_furs_InvoiceXML:Exception = " + Ex.Message);
                    return null;
                }
            }