예제 #1
0
 private void txtCoeffConversione_TextChanged(object sender, EventArgs e)
 {
     if (txtCoeffConversione.Text == "")
     {
         // Se cancello il Coeff. di Conversione, la q.tà totale sarà uguale alla q.tà per l'imballo.
         double npackage = CfgFn.GetNoNullDouble(txtQuantitaConfezioni.Text);
         if (npackage > 0)
         {
             txtQuantita.Text = HelpForm.StringValue(npackage, "x.y");
         }
         else
         {
             txtQuantita.Text = "";
         }
         return;
     }
     else
     {
         double npackage        = CfgFn.GetNoNullDouble(txtQuantitaConfezioni.Text);
         int    unitsforpackage = CfgFn.GetNoNullInt32(txtCoeffConversione.Text);
         double number          = npackage * unitsforpackage;
         if (number > 0)
         {
             txtQuantita.Text = HelpForm.StringValue(number, "x.y");
         }
         else
         {
             txtQuantita.Text = "";
         }
     }
 }
예제 #2
0
        private void txtNumConfezioni_Leave(object sender, EventArgs e)
        {
            if (txtQuantitaConfezioni.Text == "")
            {
                txtQuantita.Text = "";
                return;
            }

            double npackage        = CfgFn.GetNoNullDouble(txtQuantitaConfezioni.Text);
            int    unitsforpackage = CfgFn.GetNoNullInt32(txtCoeffConversione.Text);

            if (unitsforpackage == 0)
            {
                unitsforpackage = 1;
            }
            double number = npackage * unitsforpackage;

            if (number > 0)
            {
                txtQuantita.Text = HelpForm.StringValue(number, "x.y");
            }
            else
            {
                txtQuantita.Text = "";
            }
        }
예제 #3
0
        private void CalcolaImportiEUR()
        {
            try {
                double imponibile = CfgFn.GetNoNullDouble(
                    HelpForm.GetObjectFromString(typeof(double), txtNewImportoUnitario.Text, "x.y"));

                double quantita = CfgFn.GetNoNullDouble(
                    HelpForm.GetObjectFromString(typeof(double), txtNewQuantita.Text, "x.y"));

                double aliquota = CfgFn.GetNoNullDouble(
                    HelpForm.GetObjectFromString(typeof(double), txtNewAliquota.Text, "x.y.fixed.4..%.100"));

                double sconto = CfgFn.GetNoNullDouble(
                    HelpForm.GetObjectFromString(typeof(double), txtNewSconto.Text, "x.y.fixed.4..%.100"));

                double imponibiletot = CfgFn.RoundValuta((imponibile * quantita * (1 - sconto)));

                double imponibiletotEUR = CfgFn.RoundValuta(imponibiletot * tassoCambio);

                //double iva = CfgFn.RoundValuta(imponibiletot * aliquota);
                double iva = CfgFn.GetNoNullDouble(
                    HelpForm.GetObjectFromString(typeof(double), txtNewIvaValuta.Text, "x.y"));

                double ivaEUR = CfgFn.RoundValuta(iva * tassoCambio);

                txtNewImponibileEuro.Text = HelpForm.StringValue(imponibiletotEUR,
                                                                 "x.y.fixed.2...1");
                txtNewIvaEuro.Text = HelpForm.StringValue(ivaEUR, "x.y.fixed.2...1");
            }
            catch {
                txtNewImponibileEuro.Text = "";
                txtNewIvaEuro.Text        = "";
            }
        }
예제 #4
0
        private void CalcolaImportiEUR()
        {
            DataRow Curr = DS.invoicedetail.Rows[0];

            try
            {
                double tassocambio = CfgFn.GetNoNullDouble(Curr.GetParentRow("invoice_invoicedetail")["exchangerate"]);
                double imponibile  = CfgFn.GetNoNullDouble(Curr["taxable"]);
                double quantita    = CfgFn.GetNoNullDouble(Curr["number"]);
                //double aliquota   = CfgFn.GetNoNullDouble(aliquota);
                double sconto           = CfgFn.GetNoNullDouble(Curr["discount"]);
                double imponibiletot    = CfgFn.RoundValuta((imponibile * quantita * (1 - sconto)));
                double imponibiletotEUR = CfgFn.RoundValuta(imponibiletot * tassocambio);
                //double iva = CfgFn.GetNoNullDouble(Curr["tax"]);
                //double ivaEUR = CfgFn.RoundValuta(iva * tassocambio);
                //double impindeduc = CfgFn.GetNoNullDouble(Curr["unabatable"]);
                //double impindeducEUR = CfgFn.RoundValuta(impindeduc * tassocambio);

                txtImponibileEUR.Text = imponibiletotEUR.ToString("n");
                //txtImpostaEUR.Text = ivaEUR.ToString("n");
                //txtImpDeducEUR.Text = impindeducEUR.ToString("n");
            }
            catch
            {
                txtImponibileEUR.Text = "";
                //txtImpostaEUR.Text = "";
                //txtImpDeducEUR.Text = "";
            }
        }
예제 #5
0
        /// <summary>
        /// Quota Esente Tappa EURO = (1-[perc.rid.quota esente])* [imp.esente] * [n. giorni fraz.]
        /// </summary>
        /// <param name="Missione"></param>
        /// <param name="Tappa"></param>
        /// <returns></returns>
        public static decimal QuotaEsenteTappa(DataRow Missione, DataRow Tappa, CfgItineration Cfg)
        {
            double  percquotaesentegg = CfgFn.GetNoNullDouble(Tappa["reductionpercentage"]);
            double  ggfraz            = GetNFrazionarioGiorni(Tappa);
            decimal QuotaEsente       = 0;

            if (TappaIsItalia(Tappa))
            {
                QuotaEsente = CfgFn.GetNoNullDecimal(Cfg.italianexemption);
            }
            else
            {
                QuotaEsente = CfgFn.GetNoNullDecimal(Cfg.foreignexemption);
            }
            if (percquotaesentegg > 1)
            {
                percquotaesentegg = 1;
            }
            decimal QuotaEsTappa = Convert.ToDecimal((1 - percquotaesentegg) * ggfraz) * QuotaEsente;

            QuotaEsTappa = CfgFn.RoundValuta(QuotaEsTappa);
            if (QuotaEsTappa > IndennitaTotale(Tappa))
            {
                QuotaEsTappa = IndennitaTotale(Tappa);
            }
            return(QuotaEsTappa);
        }
예제 #6
0
        public WizSostituisciDettaglio(DataRow rContratto, DataAccess Conn, MetaDataDispatcher Disp)
        {
            this.rContratto = rContratto;
            this.Conn       = Conn;
            this.Disp       = Disp;
            QHC             = new CQueryHelper();
            QHS             = Conn.GetQueryHelper();
            InitializeComponent();
            tOldIvaKind = DataAccess.CreateTableByName(Conn, "ivakind", "*");
            GetData.MarkToAddBlankRow(tOldIvaKind);
            GetData.Add_Blank_Row(tOldIvaKind);
            DataAccess.RUN_SELECT_INTO_TABLE(Conn, tOldIvaKind, "description", null, null, true);
            cmbOldTipoIva.DataSource    = tOldIvaKind;
            cmbOldTipoIva.DisplayMember = "description";
            cmbOldTipoIva.ValueMember   = "idivakind";

            tNewIvaKind = DataAccess.CreateTableByName(Conn, "ivakind", "*");
            GetData.MarkToAddBlankRow(tNewIvaKind);
            GetData.Add_Blank_Row(tNewIvaKind);
            DataAccess.RUN_SELECT_INTO_TABLE(Conn, tNewIvaKind, "description", null, null, true);
            cmbNewTipoIva.DataSource    = tNewIvaKind;
            cmbNewTipoIva.DisplayMember = "description";
            cmbNewTipoIva.ValueMember   = "idivakind";

            tassoCambio = CfgFn.GetNoNullDouble(rContratto["exchangerate"]);
        }
예제 #7
0
        private void CalcolaImporti(bool LeggiDati)
        {
            if (Meta.inchiusura)
            {
                return;
            }
            if (Meta.destroyed)
            {
                return;
            }
            if (DS.showcasedetail.Rows.Count == 0)
            {
                return;
            }

            if (LeggiDati)
            {
                Meta.GetFormData(true);
            }
            DataRow Curr = DS.showcasedetail.Rows[0];

            try {
                double imponibile = CfgFn.GetNoNullDouble(Curr["unitprice"]);//Prezzo unitario
                double ivaEUR     = CfgFn.RoundValuta(imponibile * aliquota);
                txtImportoIVA.Text = HelpForm.StringValue(ivaEUR, "x.y.fixed.2...1");
            }
            catch {
                txtImportoIVA.Text = "";
            }
        }
예제 #8
0
        /// <summary>
        /// NFraz.GG = (giorni + ore/24)
        /// </summary>
        /// <param name="Tappa"></param>
        /// <returns></returns>
        public static double GetNFrazionarioGiorni(DataRow Tappa)
        {
            double ngg = CfgFn.GetNoNullDouble(Tappa["days"]);
            double nhh = CfgFn.GetNoNullDouble(Tappa["hours"]);

            return(ngg + (nhh / 24.0));
        }
예제 #9
0
        private void cmbNewTipoIva_SelectedIndexChanged(object sender, EventArgs e)
        {
            if ((cmbNewTipoIva.SelectedValue != null) && (cmbNewTipoIva.SelectedValue != DBNull.Value))
            {
                DataRow[] IvaKind = tNewIvaKind.Select(QHC.CmpEq("idivakind", cmbNewTipoIva.SelectedValue));
                if (IvaKind.Length > 0)
                {
                    DataRow rIvaKind = IvaKind[0];

                    double perc      = CfgFn.GetNoNullDouble(rIvaKind["rate"]);
                    double percIndet = CfgFn.GetNoNullDouble(rIvaKind["unabatabilitypercentage"]);

                    txtNewAliquota.Text  = HelpForm.StringValue(perc, "x.y.fixed.4..%.100");
                    txtNewPercIndet.Text = HelpForm.StringValue(percIndet, "x.y.fixed.4..%.100");
                }
                else
                {
                    txtNewAliquota.Text  = HelpForm.StringValue(0, "x.y.fixed.4..%.100");
                    txtNewPercIndet.Text = HelpForm.StringValue(0, "x.y.fixed.4..%.100");
                }
            }
            else
            {
                txtNewAliquota.Text  = HelpForm.StringValue(0, "x.y.fixed.4..%.100");
                txtNewPercIndet.Text = HelpForm.StringValue(0, "x.y.fixed.4..%.100");
            }

            CalcolaImportiValuta();
            CalcolaImportiEUR();
        }
예제 #10
0
        private void CalcolaImportiEUR()
        {
            DataRow Curr      = DS.estimatedetail.Rows[0];
            DataRow rEstimate = Curr.GetParentRow("estimate_estimatedetail");
            DataRow rIvaKind  = Curr.GetParentRow("ivakindestimatedetail");

            if (rIvaKind == null || rEstimate == null)
            {
                txtImponibileEUR.Text = "";
                txtIvaEUR.Text        = "";
                return;
            }

            try {
                double tassocambio      = CfgFn.GetNoNullDouble(rEstimate["exchangerate"]);
                double aliquota         = CfgFn.GetNoNullDouble(rIvaKind["rate"]);
                double imponibile       = CfgFn.GetNoNullDouble(Curr["taxable"]);
                double quantita         = CfgFn.GetNoNullDouble(Curr["number"]);
                double sconto           = CfgFn.GetNoNullDouble(Curr["discount"]);
                double imponibiletot    = CfgFn.RoundValuta((imponibile * quantita * (1 - sconto)));
                double imponibiletotEUR = CfgFn.RoundValuta(imponibiletot * tassocambio);
                double iva    = CfgFn.GetNoNullDouble(Curr["tax"]);
                double ivaEUR = CfgFn.RoundValuta(iva * tassocambio);

                txtImponibileEUR.Text = HelpForm.StringValue(imponibiletotEUR,
                                                             "x.y.fixed.2...1");
                //imponibiletotEUR.ToString("n");
                txtIvaEUR.Text = HelpForm.StringValue(ivaEUR,
                                                      "x.y.fixed.2...1"); //                .ToString("n");
            }
            catch {
                txtImponibileEUR.Text = "";
                txtIvaEUR.Text        = "";
            }
        }
예제 #11
0
        public WizRimpiazzaPerProrata(DataRow rContratto, DataAccess Conn, MetaDataDispatcher Disp)
        {
            this.rContratto = rContratto;
            this.Conn       = Conn;
            this.Disp       = Disp;
            QHC             = new CQueryHelper();
            QHS             = Conn.GetQueryHelper();
            InitializeComponent();
            tOldIvaKind = DataAccess.CreateTableByName(Conn, "ivakind", "*");
            GetData.MarkToAddBlankRow(tOldIvaKind);
            GetData.Add_Blank_Row(tOldIvaKind);
            DataAccess.RUN_SELECT_INTO_TABLE(Conn, tOldIvaKind, "description", null, null, true);
            cmbOldTipoIva.DataSource    = tOldIvaKind;
            cmbOldTipoIva.DisplayMember = "description";
            cmbOldTipoIva.ValueMember   = "idivakind";

            tNewIvaKind = DataAccess.CreateTableByName(Conn, "ivakind", "*");
            GetData.MarkToAddBlankRow(tNewIvaKind);
            GetData.Add_Blank_Row(tNewIvaKind);
            DataAccess.RUN_SELECT_INTO_TABLE(Conn, tNewIvaKind, "description", QHS.NullOrEq("active", "S"), null, true);
            cmbNewTipoIva.DataSource    = tNewIvaKind;
            cmbNewTipoIva.DisplayMember = "description";
            cmbNewTipoIva.ValueMember   = "idivakind";

            tOldUnitaMisuraAcquisto = DataAccess.CreateTableByName(Conn, "package", "*");
            GetData.MarkToAddBlankRow(tOldUnitaMisuraAcquisto);
            GetData.Add_Blank_Row(tOldUnitaMisuraAcquisto);
            DataAccess.RUN_SELECT_INTO_TABLE(Conn, tOldUnitaMisuraAcquisto, "description", null, null, true);
            cmbOldUnitaMisuraAcquisto.DataSource    = tOldUnitaMisuraAcquisto;
            cmbOldUnitaMisuraAcquisto.DisplayMember = "description";
            cmbOldUnitaMisuraAcquisto.ValueMember   = "idpackage";

            tNewUnitaMisuraAcquisto = DataAccess.CreateTableByName(Conn, "package", "*");
            GetData.MarkToAddBlankRow(tNewUnitaMisuraAcquisto);
            GetData.Add_Blank_Row(tNewUnitaMisuraAcquisto);
            DataAccess.RUN_SELECT_INTO_TABLE(Conn, tNewUnitaMisuraAcquisto, "description", null, null, true);
            cmbNewUnitaMisuraAcquisto.DataSource    = tNewUnitaMisuraAcquisto;
            cmbNewUnitaMisuraAcquisto.DisplayMember = "description";
            cmbNewUnitaMisuraAcquisto.ValueMember   = "idpackage";

            tOldUnitaMisuraCS = DataAccess.CreateTableByName(Conn, "unit", "*");
            GetData.MarkToAddBlankRow(tOldUnitaMisuraCS);
            GetData.Add_Blank_Row(tOldUnitaMisuraCS);
            DataAccess.RUN_SELECT_INTO_TABLE(Conn, tOldUnitaMisuraCS, "description", null, null, true);
            cmbOldUnitaMisuraCS.DataSource    = tOldUnitaMisuraCS;
            cmbOldUnitaMisuraCS.DisplayMember = "description";
            cmbOldUnitaMisuraCS.ValueMember   = "idunit";

            tNewUnitaMisuraCS = DataAccess.CreateTableByName(Conn, "unit", "*");
            GetData.MarkToAddBlankRow(tNewUnitaMisuraCS);
            GetData.Add_Blank_Row(tNewUnitaMisuraCS);
            DataAccess.RUN_SELECT_INTO_TABLE(Conn, tNewUnitaMisuraCS, "description", null, null, true);
            cmbNewUnitaMisuraCS.DataSource    = tNewUnitaMisuraCS;
            cmbNewUnitaMisuraCS.DisplayMember = "description";
            cmbNewUnitaMisuraCS.ValueMember   = "idunit";


            tassoCambio = CfgFn.GetNoNullDouble(rContratto["exchangerate"]);
        }
예제 #12
0
        /// <summary>
        /// Anticipo EURO = [perc.anticipo]* [Base per anticipo]
        /// </summary>
        /// <param name="Tappa"></param>
        /// <returns></returns>
        public static decimal GetAnticipo(DataRow Tappa)
        {
            double  percanticipo = CfgFn.GetNoNullDouble(Tappa["advancepercentage"]);
            double  importo      = GetBasePerAnticipo(Tappa);
            decimal anticipo     = CfgFn.RoundValuta(Convert.ToDecimal(percanticipo * importo));

            return(anticipo);
        }
예제 #13
0
        /// <summary>
        /// Base Per Anticipo EURO = [IndennitaTotaleNonRidotta] eventualmente moltiplicato per [1-percridanticipo]
        ///  ove il flag percridanticipoitalia/estero ="S"
        /// </summary>
        /// <param name="Tappa"></param>
        /// <returns></returns>
        public static double GetBasePerAnticipo(DataRow Tappa)
        {
            double importo = IndennitaTotaleNonRidotta(Tappa);
            double percrid = CfgFn.GetNoNullDouble(Tappa["reductionpercentage"]);

            importo = importo * (1 - percrid);
            return(importo);
        }
예제 #14
0
        /// <summary>
        /// Indennita Totale EURO = [Indennita Totale Non Ridotta] * (1-Perc.Rid.Diaria)
        ///  Ove Indennità totale non ridotta = [N. giorni frazionario] * [indennita corrisposta]
        /// </summary>
        /// <param name="Tappa">Tappa</param>
        /// <returns>Indennitò totale</returns>
        public static decimal IndennitaTotale(DataRow Tappa)
        {
            double  riduzione = CfgFn.GetNoNullDouble(Tappa["reductionpercentage"]);
            double  tot       = IndennitaTotaleNonRidotta(Tappa) * (1 - riduzione);
            decimal indtot    = CfgFn.RoundValuta(Convert.ToDecimal(tot));

            return(indtot);
        }
예제 #15
0
        private decimal calcRitenutaAmm()
        {
            DataRow Curr            = DS.expensetaxofficial.Rows[0];
            decimal imponibileNetto = CfgFn.GetNoNullDecimal(Curr["taxablenet"]);
            decimal aliquota        = CfgFn.GetNoNullDecimal(Curr["adminrate"]);
            double  quotaNum        = CfgFn.GetNoNullDouble(Curr["adminnumerator"]);
            double  quotaDen        = CfgFn.GetNoNullDouble(Curr["admindenominator"]);

            decimal imponibile      = CfgFn.DecMulDiv(imponibileNetto, quotaNum, quotaDen);
            decimal importoRitenuta = imponibile * aliquota;

            return(CfgFn.RoundValuta(importoRitenuta));
        }
예제 #16
0
        /// <summary>
        /// Indennità chilometrica EURO
        /// </summary>
        /// <param name="Missione"></param>
        /// <returns></returns>
        public static decimal IndennitaChilometrica(DataRow Missione)
        {
            double  KmProprio  = CfgFn.GetNoNullDouble(Missione["owncarkm"]);
            double  KmAmm      = CfgFn.GetNoNullDouble(Missione["admincarkm"]);
            double  KmPiedi    = CfgFn.GetNoNullDouble(Missione["footkm"]);
            decimal ImpProprio = CfgFn.GetNoNullDecimal(Missione["owncarkmcost"]);
            decimal ImpAmm     = CfgFn.GetNoNullDecimal(Missione["admincarkmcost"]);
            decimal ImpPiedi   = CfgFn.GetNoNullDecimal(Missione["footkmcost"]);

            decimal TotAmm     = Convert.ToDecimal(KmAmm) * ImpAmm;
            decimal TotProprio = Convert.ToDecimal(KmProprio) * ImpProprio;
            decimal TotPiedi   = Convert.ToDecimal(KmPiedi) * ImpPiedi;

            return(CfgFn.RoundValuta(TotAmm + TotProprio + TotPiedi));
        }
예제 #17
0
        private decimal calcRitenutaDip()
        {
            DataRow Curr            = DS.expensetaxofficial.Rows[0];
            decimal imponibileNetto = CfgFn.GetNoNullDecimal(Curr["taxablenet"]);
            decimal aliquota        = CfgFn.GetNoNullDecimal(Curr["employrate"]);
            double  quotaNum        = CfgFn.GetNoNullDouble(Curr["employnumerator"]);
            double  quotaDen        = CfgFn.GetNoNullDouble(Curr["employdenominator"]);
            decimal detrazioni      = CfgFn.GetNoNullDecimal(Curr["abatements"]);

            decimal imponibile      = CfgFn.DecMulDiv(imponibileNetto, quotaNum, quotaDen);
            decimal importoRitenuta = imponibile * aliquota;

            importoRitenuta -= detrazioni;
            return(CfgFn.RoundValuta(importoRitenuta));
        }
예제 #18
0
        private void CalcolaImponibileValuta()
        {
            DataRow Curr = DS.estimatedetail.Rows[0];

            try {
                double imponibile    = CfgFn.GetNoNullDouble(Curr["taxable"]);
                double quantita      = CfgFn.GetNoNullDouble(Curr["number"]);
                double sconto        = CfgFn.GetNoNullDouble(Curr["discount"]);
                double imponibiletot = CfgFn.RoundValuta((imponibile * quantita * (1 - sconto)));
                TxtImponibileValutaTot.Text = HelpForm.StringValue(imponibiletot, "x.y.fixed.2...1");//         imponibiletot.ToString("n");
            }
            catch {
                TxtImponibileValutaTot.Text = "";
            }
        }
예제 #19
0
        void RicalcolaIvaIndeducibile()
        {
            try {
                double ivaEUR = CfgFn.GetNoNullDouble(
                    HelpForm.GetObjectFromString(typeof(double), txtNewIvaEuro.Text, "x.y.c"));

                double percindet = CfgFn.GetNoNullDouble(
                    HelpForm.GetObjectFromString(typeof(double), txtNewPercIndet.Text, "x.y.c"));

                double impindeducEUR = CfgFn.RoundValuta(percindet * ivaEUR);
                txtNewIvaIndetraibileEuro.Text = impindeducEUR.ToString("c");
            }
            catch {
                //txtImpDeducEUR.Text = "";
                //txtIvaEUR.Text ="";
                //txtImpDeducEUR.Text="";
            }
        }
예제 #20
0
        private void CalcolaImportiEUR()
        {
            DataRow Curr        = DS.mandatedetail.Rows[0];
            DataRow rMandate    = Curr.GetParentRow("mandate_mandatedetail");
            double  tassocambio = 0;

            if (rMandate == null)
            {
                MessageBox.Show("L'utente non ha i diritti di accesso al contratto passivo", "Errore");
                tassocambio = CfgFn.GetNoNullDouble(Conn.DO_READ_VALUE("mandate",
                                                                       QHS.MCmp(Curr, new string[] { "yman", "nman" }), "exchangerate"));
            }
            else
            {
                tassocambio = CfgFn.GetNoNullDouble(rMandate["exchangerate"]);
            }
            try
            {
                double imponibile = CfgFn.GetNoNullDouble(Curr["taxable"]);
                double quantita   = CfgFn.GetNoNullDouble(Curr["npackage"]);
                //double aliquota  = CfgFn.GetNoNullDouble(Curr["taxrate"]);
                double sconto           = CfgFn.GetNoNullDouble(Curr["discount"]);
                double imponibiletot    = CfgFn.RoundValuta((imponibile * quantita * (1 - sconto)));
                double imponibiletotEUR = CfgFn.RoundValuta(imponibiletot * tassocambio);
                //double iva        = CfgFn.GetNoNullDouble(Curr["tax"]);
                //double ivaEUR     = CfgFn.RoundValuta(iva*tassocambio);
                //double impindeduc=	CfgFn.GetNoNullDouble(Curr["unabatable"]);
                //double impindeducEUR=	CfgFn.RoundValuta(impindeduc*tassocambio);

                txtImponibileEUR.Text = HelpForm.StringValue(imponibiletotEUR,
                                                             "x.y.fixed.2...1");
                //imponibiletotEUR.ToString("n");
                //txtIvaEUR.Text = HelpForm.StringValue(ivaEUR,
                //    "x.y.fixed.2...1"); //                .ToString("n");
                //txtImpDeducEUR.Text = HelpForm.StringValue(impindeducEUR,
                //    "x.y.fixed.2...1");//                .ToString("n");
            }
            catch
            {
                txtImponibileEUR.Text = "";
                //txtIvaEUR.Text ="";
                //txtImpDeducEUR.Text="";
            }
        }
예제 #21
0
        public static void RicalcolaSpese(DataAccess Conn,
                                          DataRow Missione,
                                          DataTable Spese, object idposition, object classnum
                                          )
        {
            object iditinerationrefundrule = Conn.DO_READ_VALUE("itinerationrefundrule",
                                                                "(start<=" + QueryCreator.quotedstrvalue(
                                                                    Missione[MissFun.CampoDataPerGruppoEstero], true) + ")",
                                                                "max(iditinerationrefundrule)");
            string filter = "(iditinerationrefundrule=" + QueryCreator.quotedstrvalue(iditinerationrefundrule, true) +
                            ")AND (idposition=" + QueryCreator.quotedstrvalue(idposition, true) +
                            ")AND(" + QueryCreator.quotedstrvalue(classnum, true) + " BETWEEN minincomeclass and maxincomeclass)";
            DataTable TRefRule = Conn.RUN_SELECT("itinerationrefundruledetail", "*", null, filter, null, true);

            if (TRefRule.Rows.Count == 0)
            {
                MessageBox.Show("Configurazione anticipo spese non trovata");
                return;
            }

            foreach (DataRow Spesa in Spese.Select())
            {
                string flag_geo  = Spesa["flag_geo"].ToString().ToUpper();
                string filtergeo = "(flag_italy='S')";
                if (flag_geo.ToString() == "U")
                {
                    filtergeo = "(flag_eu='S')";
                }
                if (flag_geo.ToString() == "E")
                {
                    filtergeo = "(flag_extraeu='S')";
                }
                DataRow[] RefRule = TRefRule.Select(filtergeo);
                if (RefRule.Length > 0)
                {
                    Spesa["advancepercentage"] = CfgFn.GetNoNullDouble(RefRule[0]["advancepercentage"]);
                }
                else
                {
                    MessageBox.Show("Configurazione anticipo spese non trovata (Spesa " +
                                    Spesa["description"].ToString() + ")");
                }
            }
        }
예제 #22
0
 public override void CalculateFields(DataRow R, string list_type)
 {
     if (list_type == "documento" || list_type == "wizardiva" || list_type == "default")
     {
         double imponibile         = CfgFn.GetNoNullDouble(R["taxable"]);
         double quantitaConfezioni = CfgFn.GetNoNullDouble(R["npackage"]);
         double sconto             = CfgFn.GetNoNullDouble(R["discount"]);
         double imponibilereale    = CfgFn.RoundValuta((imponibile * quantitaConfezioni * (1 - sconto)));
         double imposta            = CfgFn.GetNoNullDouble(R["tax"]);
         if (R.Table.Columns.Contains("!imponibile"))
         {
             R["!imponibile"] = imponibilereale;
         }
         if (R.Table.Columns.Contains("!totaleriga"))
         {
             R["!totaleriga"] = imponibilereale + imposta;
         }
     }
 }
예제 #23
0
        /// <summary>
        /// Imponibile Tappa EURO = (Indennita Totale - QuotaEsente) * coeff. lordizzazione
        ///  o 0 se negativo, ove
        ///  Indennita Totale = [Indennita corrisposta]*[1-perc.rid.diaria]*[n.giorni fraz.]
        ///  e
        ///  Quota Esente = [1-perc.imp esente]*[quota esente]* [n.giorni  fraz]
        /// </summary>
        /// <param name="Missione"></param>
        /// <param name="Tappa"></param>
        /// <returns></returns>
        public static decimal ImponibileTappa(DataRow Missione, DataRow Tappa, CfgItineration Cfg)
        {
            decimal QuotaEsente  = QuotaEsenteTappa(Missione, Tappa, Cfg);
            decimal IndennitaTot = IndennitaTotale(Tappa);
            //IndennitaTot = DecToEuro(Tappa,IndennitaTot);
            double CoeffLord = CfgFn.GetNoNullDouble(Missione["grossfactor"]);

            if ((IndennitaTot - QuotaEsente) > 0)
            {
                return(CfgFn.RoundValuta(
                           (IndennitaTot - QuotaEsente)
                           * Convert.ToDecimal(CoeffLord)
                           ));
            }
            else
            {
                return(0);
            }
        }
예제 #24
0
        private void CalcolaImponibileValuta()
        {
            //if (LeggiDati) Meta.GetFormData(true);
            DataRow Curr = DS.invoicedetail.Rows[0];

            try
            {
                double imponibile = CfgFn.GetNoNullDouble(Curr["taxable"]);
                double quantita   = CfgFn.GetNoNullDouble(Curr["number"]);
                //double aliquota  = CfgFn.GetNoNullDouble(aliquota);
                double sconto        = CfgFn.GetNoNullDouble(Curr["discount"]);
                double imponibiletot = CfgFn.RoundValuta((imponibile * quantita * (1 - sconto)));
                txtImponibileValuta.Text = imponibiletot.ToString("n");
            }
            catch
            {
                txtImponibileValuta.Text = "";
            }
        }
예제 #25
0
        private void CalcolaImportiValuta()
        {
            try {
                double imponibile = CfgFn.GetNoNullDouble(
                    HelpForm.GetObjectFromString(typeof(double), txtNewImportoUnitario.Text, "x.y"));

                double quantitaconfezioni = CfgFn.GetNoNullDouble(
                    HelpForm.GetObjectFromString(typeof(double), txtNewQuantitaConfezioni.Text, "x.y"));

                double aliquota = CfgFn.GetNoNullDouble(
                    HelpForm.GetObjectFromString(typeof(double), txtNewAliquota.Text, "x.y.fixed.4..%.100"));

                double sconto = CfgFn.GetNoNullDouble(
                    HelpForm.GetObjectFromString(typeof(double), txtNewSconto.Text, "x.y.fixed.4..%.100"));

                double imponibiletot = CfgFn.RoundValuta((imponibile * quantitaconfezioni * (1 - sconto)));

                double imponibiletotEUR = CfgFn.RoundValuta(imponibiletot * tassoCambio);

                //double iva = CfgFn.RoundValuta(imponibiletot * aliquota);
                //double ivaEUR = CfgFn.RoundValuta(iva * tassoCambio);
                double ivaEUR = CfgFn.RoundValuta(imponibiletot * aliquota);

                double percindet = CfgFn.GetNoNullDouble(
                    HelpForm.GetObjectFromString(typeof(double), txtNewPercIndet.Text, "x.y.fixed.4..%.100"));

                //double impindet = CfgFn.RoundValuta(iva * percindet);
                //double impindetEUR = CfgFn.RoundValuta(impindet * tassoCambio);
                double impindetEUR = CfgFn.RoundValuta(ivaEUR * percindet);

                txtNewImponibileValuta.Text = HelpForm.StringValue(imponibiletot,
                                                                   "x.y.fixed.2...1");
                txtNewIvaEuro.Text             = ivaEUR.ToString("c");
                txtNewIvaIndetraibileEuro.Text = impindetEUR.ToString("c");
            }
            catch {
                txtNewImponibileValuta.Text    = "";
                txtNewIvaEuro.Text             = "";
                txtNewIvaIndetraibileEuro.Text = "";
            }
        }
예제 #26
0
 public void MetaData_AfterRowSelect(DataTable T, DataRow R)
 {
     if (Meta.destroyed || Meta.inchiusura)
     {
         return;
     }
     if (T.TableName == "ivakind")
     {
         if (R != null)
         {
             aliquota = CfgFn.GetNoNullDouble(R["rate"]);
         }
         else
         {
             aliquota = 0;
         }
         if (Meta.DrawStateIsDone)
         {
             CalcolaImporti(Meta.DrawStateIsDone);
         }
     }
 }
예제 #27
0
        public override void CalculateFields(DataRow R, string list_type)
        {
            if (list_type == "lista" || list_type == "listaimpon" || list_type == "listaimpos" || list_type == "default" || list_type == "contabilizza")
            {
                decimal imponibile      = CfgFn.GetNoNullDecimal(R["taxable"]);
                double  imponibilereale = Convert.ToDouble(imponibile);
                double  imposta         = CfgFn.GetNoNullDouble(R["taxrate"]);
                double  sconto          = CfgFn.GetNoNullDouble(R["discount"]);
                double  quantita        = CfgFn.GetNoNullDouble(R["number"]);
                double  impo            = CfgFn.RoundValuta(imponibilereale * quantita * (1 - sconto));
                double  iva             = CfgFn.GetNoNullDouble(R["tax"]);

                if (R.Table.Columns.Contains("!imponibile"))
                {
                    R["!imponibile"] = impo;
                }
                if (R.Table.Columns.Contains("!iva"))
                {
                    R["!iva"] = iva;
                }

                R["!totaleriga"] = impo + iva;
            }
        }
예제 #28
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            int yman = CfgFn.GetNoNullInt32(rContratto["yman"]);

            if (txtStop.Text == "")
            {
                MessageBox.Show(this, "Inserire la data di annullamento del dettaglio");
                this.DialogResult = DialogResult.None;
                return;
            }
            else
            {
                object date = HelpForm.GetObjectFromString(typeof(DateTime), txtStop.Text, "x.y.g");
                if (date == null)
                {
                    MessageBox.Show(this, "Inserire la data di annullamento del dettaglio");
                    this.DialogResult = DialogResult.None;
                    return;
                }

                if (((DateTime)date).Year != Conn.GetEsercizio())
                {
                    MessageBox.Show(this, "La data di annullamento deve essere dell'esercizio corrente.");
                    this.DialogResult = DialogResult.None;
                    return;
                }
                if (((DateTime)date).Year < yman)
                {
                    MessageBox.Show(this, "La data di annullamento deve essere successiva all'anno di creazione del contratto");
                    this.DialogResult = DialogResult.None;
                    return;
                }
            }


            if (txtStart.Text == "")
            {
                MessageBox.Show(this, "Inserire la data di inizio validità del dettaglio");
                this.DialogResult = DialogResult.None;
                return;
            }
            else
            {
                object date = HelpForm.GetObjectFromString(typeof(DateTime), txtStart.Text, "x.y.g");
                if (date == null)
                {
                    MessageBox.Show(this, "Inserire la data di inizio validità del dettaglio");
                    this.DialogResult = DialogResult.None;
                    return;
                }
                if (((DateTime)date).Year != Conn.GetEsercizio())
                {
                    MessageBox.Show(this, "La data di inizio validità deve essere dell'esercizio corrente.");
                    this.DialogResult = DialogResult.None;
                    return;
                }
                if (((DateTime)date).Year < yman)
                {
                    MessageBox.Show(this, "La data di inizio validità deve essere successiva all'anno di creazione del contratto");
                    this.DialogResult = DialogResult.None;
                    return;
                }
            }

            if (CfgFn.GetNoNullInt32(cmbNewTipoIva.SelectedValue) == 0)
            {
                MessageBox.Show(this, "Inserire il tipo IVA del nuovo dettaglio");
                this.DialogResult = DialogResult.None;
                return;
            }

            double quantitaconfezioni = CfgFn.GetNoNullDouble(
                HelpForm.GetObjectFromString(typeof(double), txtNewQuantitaConfezioni.Text, "x.y"));

            if (quantitaconfezioni <= 0)
            {
                MessageBox.Show(this, "Inserire una quantità maggiore di 0 per il nuovo dettaglio");
                this.DialogResult = DialogResult.None;
                return;
            }

            double imponibile = CfgFn.GetNoNullDouble(
                HelpForm.GetObjectFromString(typeof(double), txtNewImportoUnitario.Text, "x.y"));

            if (imponibile <= 0)
            {
                MessageBox.Show(this, "Inserire un imponibile unitario maggiore di 0 per il  nuovo dettaglio");
                this.DialogResult = DialogResult.None;
                return;
            }

            double sconto = CfgFn.GetNoNullDouble(
                HelpForm.GetObjectFromString(typeof(double), txtNewSconto.Text, "x.y.fixed.4..%.100"));

            if (sconto < 0)
            {
                MessageBox.Show(this, "Inserire una percentuale di sconto valida per il nuovo dettaglio");
                this.DialogResult = DialogResult.None;
                return;
            }

            if (txtNewDescrizione.Text.Trim() == "")
            {
                MessageBox.Show(this, "Inserire la descrizione del nuovo dettaglio");
                this.DialogResult = DialogResult.None;
                return;
            }


            this.DialogResult = DialogResult.OK;
        }
예제 #29
0
        private void btnSelect_Click(object sender, EventArgs e)
        {
            MetaDettaglio = Disp.Get("estimatedetailgroupview");
            MetaDettaglio.FilterLocked = true;
            MetaDettaglio.DS           = new DataSet();

            string filter = QHS.AppAnd(QHS.MCmp(rContratto, new string[] { "idestimkind", "yestim", "nestim" })
                                       , QHS.IsNull("stop"));
            int count = Conn.RUN_SELECT_COUNT("estimatedetailgroupview", filter, true);

            if (count == 0)
            {
                MessageBox.Show(this, "Nel contratto selezionato non esistono dettagli da annullare", "Avviso",
                                MessageBoxButtons.OK);
                return;
            }
            DataRow rDett = MetaDettaglio.SelectOne("dettaglio", filter, null, null);

            if (rDett == null)
            {
                MessageBox.Show(this, "Non è stata selezionata alcuna riga", "Avviso",
                                MessageBoxButtons.OK);
                return;
            }

            // Valorizzazione degli oggetti:

            HelpForm.SetComboBoxValue(cmbOldTipoIva, rDett["idivakind"]);
            DataRow[] IvaKind = tOldIvaKind.Select(QHC.CmpEq("idivakind", rDett["idivakind"]));
            if (IvaKind.Length > 0)
            {
                DataRow rIvaKind = IvaKind[0];
                double  perc     = CfgFn.GetNoNullDouble(rIvaKind["rate"]);

                txtOldAliquota.Text = HelpForm.StringValue(perc, "x.y.fixed.4..%.100");
            }

            double quantita = CfgFn.GetNoNullDouble(rDett["number"]);

            txtOldQuantita.Text = quantita.ToString("n");

            double importoUnitario = CfgFn.GetNoNullDouble(rDett["taxable"]);

            txtOldImportoUnitario.Text = importoUnitario.ToString();

            double sconto = CfgFn.GetNoNullDouble(rDett["discount"]);

            txtOldSconto.Text = sconto.ToString("p");

            double imponibileValuta = CfgFn.RoundValuta((importoUnitario * quantita * (1 - sconto)));

            txtOldImponibileValuta.Text = imponibileValuta.ToString();

            double ivaValuta = CfgFn.GetNoNullDouble(rDett["tax"]);

            txtOldIvaValuta.Text = ivaValuta.ToString();

            decimal imponibileEuro = CfgFn.GetNoNullDecimal(rDett["taxable_euro"]);

            txtOldImponibileEuro.Text = imponibileEuro.ToString("c");

            decimal ivaEuro = CfgFn.GetNoNullDecimal(rDett["iva_euro"]);

            txtOldIvaEuro.Text = ivaEuro.ToString("c");

            txtOldDescrizione.Text = rDett["detaildescription"].ToString();
            txtOldIdGroup.Text     = rDett["idgroup"].ToString();

            btnCopy.Enabled = true;
            rOldDettaglio   = rDett;
            btnOK.Enabled   = true;
        }
예제 #30
0
        private void btnSelect_Click(object sender, EventArgs e)
        {
            MetaDettaglio = Disp.Get("mandatedetailgroupview");
            MetaDettaglio.FilterLocked = true;
            MetaDettaglio.DS           = new DataSet();

            string filter = QHS.AppAnd(QHS.MCmp(rContratto, new string[] { "idmankind", "yman", "nman" })
                                       , QHS.IsNull("stop"));

            int count = Conn.RUN_SELECT_COUNT("mandatedetailgroupview", filter, true);

            if (count == 0)
            {
                MessageBox.Show(this, "Nel contratto selezionato non esistono dettagli da annullare", "Avviso",
                                MessageBoxButtons.OK);
                return;
            }

            DataRow rDett = MetaDettaglio.SelectOne("dettaglio", filter, null, null);

            if (rDett == null)
            {
                MessageBox.Show(this, "Non è stata selezionata alcuna riga", "Avviso",
                                MessageBoxButtons.OK);
                return;
            }

            // Valorizzazione degli oggetti:

            HelpForm.SetComboBoxValue(cmbOldTipoIva, rDett["idivakind"]);
            DataRow[] IvaKind = tOldIvaKind.Select(QHC.CmpEq("idivakind", rDett["idivakind"]));
            if (IvaKind.Length > 0)
            {
                DataRow rIvaKind  = IvaKind[0];
                double  perc      = CfgFn.GetNoNullDouble(rIvaKind["rate"]);
                double  percIndet = CfgFn.GetNoNullDouble(rIvaKind["unabatabilitypercentage"]);

                txtOldAliquota.Text  = HelpForm.StringValue(perc, "x.y.fixed.4..%.100");
                txtOldPercIndet.Text = HelpForm.StringValue(percIndet, "x.y.fixed.4..%.100");
            }

            if (rDett["idlist"] != DBNull.Value)
            {
                string intcode = Conn.DO_READ_VALUE("list", QHC.CmpEq("idlist", rDett["idlist"]), "intcode").ToString();
                txtOldListino.Text = intcode;

                string list = Conn.DO_READ_VALUE("list", QHC.CmpEq("idlist", rDett["idlist"]), "description")
                              .ToString();
                txtOldDescrizioneListino.Text = list;

                HelpForm.SetComboBoxValue(cmbOldUnitaMisuraAcquisto, rDett["idpackage"]);

                int CoeffConversione = CfgFn.GetNoNullInt32(rDett["unitsforpackage"]);
                txtOldCoeffConversione.Text = CoeffConversione.ToString("n");

                HelpForm.SetComboBoxValue(cmbOldUnitaMisuraCS, rDett["idunit"]);
            }

            double quantitaconfezioni = CfgFn.GetNoNullDouble(rDett["npackage"]);

            txtOldQuantitaConfezioni.Text = quantitaconfezioni.ToString("n");

            double quantita = CfgFn.GetNoNullDouble(rDett["number"]);

            txtOldQuantita.Text = quantita.ToString("n");

            double importoUnitario = CfgFn.GetNoNullDouble(rDett["taxable"]);

            txtOldImportoUnitario.Text = importoUnitario.ToString();

            double sconto = CfgFn.GetNoNullDouble(rDett["discount"]);

            txtOldSconto.Text = sconto.ToString("p");

            double imponibileValuta = CfgFn.RoundValuta((importoUnitario * quantitaconfezioni * (1 - sconto)));

            txtOldImponibileValuta.Text = imponibileValuta.ToString();

            double ivaEuro = CfgFn.GetNoNullDouble(rDett["tax"]);

            txtOldIvaEuro.Text = ivaEuro.ToString("c");

            double ivaIndetraibileEuro = CfgFn.GetNoNullDouble(rDett["unabatable"]);

            txtOldIvaIndetraibileEuro.Text = ivaIndetraibileEuro.ToString("c");

            decimal imponibileEuro = CfgFn.GetNoNullDecimal(rDett["taxable_euro"]);

            txtOldImponibileEuro.Text = imponibileEuro.ToString("c");


            chkOldPromiscuo.Checked = (rDett["flagmixed"].ToString().ToUpper() == "S");

            int flagActivity = CfgFn.GetNoNullInt32(rDett["flagactivity"]);

            rdoOldAttivita1.Checked = (flagActivity == 1);
            rdoOldAttivita2.Checked = (flagActivity == 2);
            rdoOldAttivita3.Checked = (flagActivity == 3);
            rdoOldAttivita4.Checked = (flagActivity == 4);

            txtOldDescrizione.Text = rDett["detaildescription"].ToString();
            txtOldIdGroup.Text     = rDett["idgroup"].ToString();
            btnCopy.Enabled        = true;
            rOldDettaglio          = rDett;
            btnOK.Enabled          = true;

            idinv       = rOldDettaglio["idinv"];
            idlist      = rOldDettaglio["idlist"];
            idlocation  = rOldDettaglio["idlocation"];
            assetkind   = rOldDettaglio["assetkind"];
            va3type     = rOldDettaglio["va3type"];
            idaccmotive = rOldDettaglio["idaccmotive"];
            expensekind = rOldDettaglio["expensekind"];
        }