Ejemplo n.º 1
0
        public void LoadAllCash()
        {
            var m = new cMovimenti();

            cUtente1.lSaldo.Text      = cGB.DoubleToMoneyStringValuta(m.Saldo("Saldo"));
            cUtente1.lSaldo.ForeColor = SaldoToColor(m.Saldo("Saldo"));

            if (CasseAggiuntive != null)
            {
                if (CasseAggiuntive.Count > 0)
                {
                    foreach (var caz in CasseAggiuntive)
                    {
                        foreach (TreeNode item in nCasse.Nodes)
                        {
                            if (item.Name.Equals(caz.nome))
                            {
                                var saldC = m.Saldo(caz.nome);

                                item.Text      = caz.nome + ": " + cGB.DoubleToMoneyStringValuta(saldC);
                                item.ForeColor = SaldoToColor(saldC);
                            }
                        }
                    }
                }
            }

            cAlbero.Select();
        }
        public fInserimentoPeriodico(string Tipo_)
        {
            InitializeComponent();

            if (!cGB.DesignTime)
            {
                Tipo = Tipo_;

                var p = new cPeriodici();
                var m = new cMovimenti();
                var c = new cCasse();

                cbCassa.ValueMember   = "Nome";
                cbCassa.DisplayMember = "Nome";
                cbCassa.DataSource    = c.ListaCasse();
                cbCassa.SelectedValue = Tipo;

                cbPeriodicita.ValueMember   = "ID";
                cbPeriodicita.DisplayMember = "Valore";
                cbPeriodicita.Items.AddRange(p.Periodicita_cComboItems());

                eDescrizione.AutoCompleteCustomSource = m.TutteLeDescrizioni();
                eMacroArea.AutoCompleteCustomSource   = m.TutteLeMacroAree();
                eData.Value_ = DateTime.Now;
                eNome.Text   = cGB.DatiUtente.Nome;
                cbPeriodicita.SelectedIndex = 0;
            }
        }
Ejemplo n.º 3
0
        private void bSalva_Click(object sender, EventArgs e)
        {
            Enabled = false;
            Application.DoEvents();

            List <cMovimenti.sMacroArea_e_Descrizione> m = new List <cMovimenti.sMacroArea_e_Descrizione>();

            foreach (cGroupList i in pArea.Controls)
            {
                for (int x = 0; x < i.Count; x++)
                {
                    m.Add(new cMovimenti.sMacroArea_e_Descrizione
                    {
                        MacroArea   = i.Text,
                        Descrizione = i.Items[x].ToString()
                    });
                }
            }

            if (m.Count > -1)
            {
                cMovimenti mov = new cMovimenti();
                int        j   = mov.AggiornaMacroAree(m);

                cGB.MsgBox("Aggiornati " + j + " elementi!");
            }

            Enabled = true;
        }
Ejemplo n.º 4
0
        public fInserimento()
        {
            InitializeComponent();

            var m = new cMovimenti();

            eDescrizione.AutoCompleteCustomSource = m.TutteLeDescrizioni();
            eMacroArea.AutoCompleteCustomSource   = m.TutteLeMacroAree();
            eData.Value_ = DateTime.Now;
            eNome.Text   = cGB.DatiUtente.Nome;
        }
Ejemplo n.º 5
0
        private int NumeroMovimentiContenuti()
        {
            var tot = 0;

            if (!ID__.Equals(eNome.Text, StringComparison.OrdinalIgnoreCase))
            {
                var m = new cMovimenti();
                tot += m.NumeroMovimentiPerCassa(ID__);
                tot += m.NumeroMovimentiPerCassa(eNome.Text);
            }

            return(tot);
        }
Ejemplo n.º 6
0
        private void Inita()
        {
            var m = new cMovimenti();

            m.IntervalloDate(out MinDate, out MaxDate);

            eDescrizione.AutoCompleteCustomSource = m.TutteLeDescrizioni();
            eMacroArea.AutoCompleteCustomSource   = m.TutteLeMacroAree();
            eDa.Value = cGB.DateTo00000(MinDate);
            eA.Value  = cGB.DateTo235959(MaxDate.AddMonths(3));
            cbPeriodicita.SelectedIndex = 0;

            Cerca();
        }
Ejemplo n.º 7
0
        public string GetMacroArea4Descrizione(string desc_)
        {
            var m = new cMovimenti();
            var a = m.MacroAree_e_Descrizioni();

            foreach (var i in a)
            {
                if (i.Descrizione.Equals(desc_, StringComparison.OrdinalIgnoreCase))
                {
                    return(eMacroArea.Text = i.MacroArea);
                }
            }

            return("");
        }
Ejemplo n.º 8
0
        private void LoadData(bool ReloadCashInTreeView, cFiltriRicerca f)
        {
            var ImSaldo = CashName == "Saldo";
            var cc      = f.bCassa ? f.Cassa : CashName;

            FiltriAttuali = f;

            var m = new cMovimenti
            {
                tipo        = cc,
                descrizione = cGB.QQ(f.Descrizione, f.bDescrizione),
                MacroArea   = cGB.QQ(f.MacroAree, f.bMacroAree),
                SoldiDa     = f.SoldiDa,
                SoldiA      = f.SoldiA,
                bSoldi      = f.bSoldi,
                bData       = f.bData,
                DataA       = f.DataA,
                DataDa      = f.DataDa
            };

            UltimaRicerca             = m.Ricerca(out Query);
            bindingSource1.DataSource = UltimaRicerca;
            CurSaldo    = m.Saldo(cc);
            lSaldo.Text = cGB.DoubleToMoneyStringValuta(CurSaldo);

            var R = Math.Round(CurSaldo, 2);

            if (R != 0)
            {
                if (CurSaldo > 0)
                {
                    iSaldo.Image = Resources.arrowGreen;
                }
                else if (CurSaldo < 0)
                {
                    iSaldo.Image = Resources.arrowRed;
                }
            }

            bNuovo.Enabled     = !ImSaldo;
            bGiroconto.Enabled = !ImSaldo;
            bPeriodico.Enabled = !ImSaldo;

            if (ReloadCashInTreeView)
            {
                cGB.RationesCurareMainForm.LoadAllCash();
            }
        }
        private void eDescrizione_Leave(object sender, EventArgs e)
        {
            if (eMacroArea.Text == "" || eMacroArea.Text == null)
            {
                var m = new cMovimenti();
                var a = m.MacroAree_e_Descrizioni();

                foreach (var i in a)
                {
                    if (i.Descrizione.Equals(eDescrizione.Text, StringComparison.OrdinalIgnoreCase))
                    {
                        eMacroArea.Text = i.MacroArea;
                        break;
                    }
                }
            }
        }
Ejemplo n.º 10
0
        private void bElimina_Click(object sender, EventArgs e)
        {
            if (MsgElimina())
            {
                var i = SelectedID;

                if (i > -1)
                {
                    var m = new cMovimenti();
                    m.Elimina(i);

                    LoadData(true);
                }
            }

            dataGridView1.Focus();
        }
Ejemplo n.º 11
0
        private void SalvaNormale()
        {
            var m = new cMovimenti
            {
                ID          = ID__,
                nome        = eNome.Text,
                soldi       = eSoldi.Value,
                data        = eData.Value_,
                descrizione = eDescrizione.Text,
                MacroArea   = eMacroArea.Text,
                tipo        = Tipo.Equals("Saldo", StringComparison.OrdinalIgnoreCase) ? TipoLoaded : Tipo
            };

            if (m.Salva() < 1)
            {
                MsgErroreSalvataggio();
            }
            else
            {
                DialogResult = DialogResult.OK;
            }
        }
Ejemplo n.º 12
0
        private void SalvaGiroconto()
        {
            var s = 0;

            var m1 = new cMovimenti
            {
                ID          = ID__,
                nome        = eNome.Text,
                soldi       = eSoldi.Value,
                data        = eData.Value_,
                descrizione = eDescrizione.Text,
                MacroArea   = eMacroArea.Text,
                tipo        = Tipo.Equals("Saldo", StringComparison.OrdinalIgnoreCase) ? TipoLoaded : Tipo
            };

            var m2 = new cMovimenti
            {
                ID          = ID__,
                nome        = eNome.Text,
                soldi       = -1 * eSoldi.Value,
                data        = eData.Value_,
                descrizione = eDescrizione.Text,
                MacroArea   = eMacroArea.Text,
                tipo        = TipoGiroconto
            };

            s += m1.Salva();
            s += m2.Salva();

            if (s == 2)
            {
                DialogResult = DialogResult.OK;
            }
            else
            {
                MsgErroreSalvataggio();
            }
        }
Ejemplo n.º 13
0
        public cRicerca(string AutoSetCassa_)
        {
            InitializeComponent();

            if (!DesignTime)
            {
                LatoDaDisegnare = new sLatoBordo
                {
                    Setted = true
                };

                AutoSetCassa = AutoSetCassa_;
                AcceptButton = bCerca;
                AutoFocus    = eDataDa;

                var m = new cMovimenti();
                eDescrizione.AutoCompleteCustomSource = m.TutteLeDescrizioni();
                eMacroArea.AutoCompleteCustomSource   = m.TutteLeMacroAree();
                eDataDa.Value = new DateTime(2005, 1, 1);
                eDataA.Value  = cGB.DateTo235959(DateTime.Now.AddYears(1));

                Carica();
            }
        }
Ejemplo n.º 14
0
        public void Cerca()
        {
            Enabled = false;

            try
            {
                var mov = new cMovimenti();

                Totale = mov.RicercaGraficoSaldo(false);
                grafico.Series.Clear();

                using (var data_reader = mov.RicercaGraficoSpline())
                {
                    var NumCorre    = -1;
                    var serie_nuova = CreaSerie();
                    var DataPrec    = default(DateTime);
                    var DataAct     = default(DateTime);
                    var DateUsate   = new List <string>();
                    var AnnoSoldi   = new SortedDictionary <string, double>();

                    try
                    {
                        var ultimoSoldi = 0D;

                        if (data_reader.HasRows)
                        {
                            while (data_reader.Read())
                            {
                                NumCorre += 1;
                                var LaData = data_reader.GetString(0);
                                DateUsate.Add(LaData);

                                DataPrec = DataAct;
                                DataAct  = StringYYYYMMToDate(LaData);
                                var soldi   = cGB.ObjectToMoney(data_reader[1]);
                                var soldiDB = soldi;

                                foreach (var yyyy in AnnoSoldi)
                                {
                                    soldi += yyyy.Value;
                                }

                                AnnoSoldi[LaData] = soldiDB;

                                var data_point_attuale = CreaDataPoint(LaData, soldi);

                                //inserire un datapoint vuoto se non ho dati nel db per quella data
                                if (DataPrec != DateTime.MinValue)
                                {
                                    if (DateDiff(DataPrec, DataAct) != 1)
                                    {
                                        var differenza_date = DiffDate(DataPrec, DataAct);

                                        for (var u = 0; u < (differenza_date?.Length ?? 0); u++)
                                        {
                                            if (differenza_date[u] != LaData)
                                            {
                                                var data_point_vuoto_no_dati_su_db = new DataPoint
                                                {
                                                    YValues   = DoubleToDataPointDouble(ultimoSoldi),
                                                    ToolTip   = ToEuroWithDate(ultimoSoldi, differenza_date[u]),
                                                    AxisLabel = differenza_date[u],
                                                    Color     = Color.Green
                                                };

                                                DateUsate.Add(differenza_date[u]);
                                                serie_nuova.Points.Insert(NumCorre, data_point_vuoto_no_dati_su_db);

                                                NumCorre += 1;
                                            }
                                        }
                                    }
                                }

                                serie_nuova.Points.Insert(NumCorre, data_point_attuale);
                                ultimoSoldi = soldi;
                            } //fine lettura DB
                        }
                        gbGrafico.Text   = "Grafico dei movimenti - Saldo = " + cGB.DoubleToMoneyStringValuta(Totale);
                        serie_nuova.Name = "Saldo = " + cGB.DoubleToMoneyStringValuta(Totale);
                        grafico.Series.Add(serie_nuova);
                    }
                    finally
                    {
                        data_reader.Close();
                    }
                } //using data_reader
            }
            finally
            {
                SettaTitolo();
                Enabled = true;

                foreach (var area in grafico.ChartAreas)
                {
                    area.RecalculateAxesScale();
                }
            }
        }
Ejemplo n.º 15
0
        private void Cerca()
        {
            Enabled = false;

            try
            {
                var mov = new cMovimenti
                {
                    DataDa = cGB.DateTo00000(eDa.Value),
                    DataA  = cGB.DateTo235959(eA.Value)
                };

                var positivita = 0;
                var numCorre   = -1;
                var area       = "Altro";

                switch (cbImporti.SelectedIndex)
                {
                case 0:
                    positivita = -1;
                    break;

                case 1:
                    positivita = 1;
                    break;
                }

                Totale = mov.RicercaGraficoTortaSaldo(positivita);

                grafico.Series.Clear();

                using (var dataReader = mov.RicercaTorta(positivita))
                {
                    var serieNuova = new Series
                    {
                        ChartType        = SeriesChartType.Pie,
                        SmartLabelStyle  = { Enabled = true },
                        ["DrawingStyle"] = ColoreBarra
                    };

                    try
                    {
                        if (dataReader.HasRows)
                        {
                            while (dataReader.Read())
                            {
                                var soldi = cGB.ObjectToMoney(dataReader[1]);

                                try
                                {
                                    area = dataReader.GetString(0);

                                    if (area == null || area.Equals(""))
                                    {
                                        area = "Altro";
                                    }
                                }
                                catch
                                {
                                    area = "Altro";
                                }

                                if (soldi != 0)
                                {
                                    numCorre += 1;

                                    var datapointAttuale = new DataPoint
                                    {
                                        LegendText = ToEuroWithString(soldi, area),
                                        AxisLabel  = area,
                                        YValues    = DoubleToDataPointDouble(soldi),
                                        ToolTip    = soldi.ToString("c")
                                    };

                                    serieNuova.Points.Insert(numCorre, datapointAttuale);
                                }
                            }
                        }

                        gbGrafico.Text  = "Grafico a torta - Saldo = " + cGB.DoubleToMoneyStringValuta(Totale);
                        serieNuova.Name = "Saldo = " + cGB.DoubleToMoneyStringValuta(Totale);

                        grafico.Series.Add(serieNuova);
                    }
                    finally
                    {
                        dataReader.Close();
                    }
                }
            }
            finally
            {
                SettaTitolo();
                Enabled = true;

                foreach (var a in grafico.ChartAreas)
                {
                    a.RecalculateAxesScale();
                }
            }
        }
Ejemplo n.º 16
0
        private int NumeroMovimentiContenuti(string nome)
        {
            var m = new cMovimenti();

            return(m.NumeroMovimentiPerCassa(nome));
        }
Ejemplo n.º 17
0
        public void Action(eActions a, bool ByUser = false)
        {
            LastSelectedNode = cAlbero.SelectedNode;

            if (a == eActions.NuovoMovimento)
            {
                using (var sce = new fGiroconto
                {
                    Titolo = "Scegli la cassa in cui vuoi inserire"
                })
                    if (sce.ShowDialog() == DialogResult.OK)
                    {
                        var mov = new cMovimenti();

                        using (var fi = new fInserimento
                        {
                            Tipo = sce.CassaSelezionata,
                            Saldo = mov.Saldo(sce.CassaSelezionata)
                        })
                            if (fi.ShowDialog() == DialogResult.OK)
                            {
                                cGB.RationesCurareMainForm.LoadAllCash();
                            }
                    }
            }
            else if (a == eActions.NuovoGiroconto)
            {
                using (var sce = new fGiroconto
                {
                    Titolo = "Scegli la cassa in cui vuoi inserire"
                })
                    if (sce.ShowDialog() == DialogResult.OK)
                    {
                        using (var g = new fGiroconto(sce.CassaSelezionata))
                            if (g.ShowDialog() == DialogResult.OK)
                            {
                                var mov = new cMovimenti();

                                using (var fi = new fInserimento
                                {
                                    Modalita = fInserimento.eModalita.Giroconto,
                                    TipoGiroconto = g.CassaSelezionata,
                                    Tipo = sce.CassaSelezionata,
                                    Saldo = mov.Saldo(sce.CassaSelezionata)
                                })
                                    if (fi.ShowDialog() == DialogResult.OK)
                                    {
                                        cGB.RationesCurareMainForm.LoadAllCash();
                                    }
                            }
                    }
            }
            else if (a == eActions.Calendario)
            {
                var c = new cCalendario();
                AddNewTab(c, "Calendario", Resources.calendario32);
            }
            else if (a == eActions.MacroAree)
            {
                var c = new cMacroAree();
                AddNewTab(c, "Macro aree", Resources.MacroAree);
            }
            else if (a == eActions.OpzioniDB)
            {
                using (var d = new fOpzioniDb())
                    d.ShowDialog();
            }
            else if (a == eActions.Calcolatrice)
            {
                var d = new fCalc
                {
                    StartPosition = FormStartPosition.CenterScreen,
                    TopMost       = true,
                    ShowInTaskbar = true
                };

                d.Show();
            }
            else if (a == eActions.ControllaPromemoria)
            {
                var c = new DB.DataWrapper.cCalendario();

                if (c.PresenzaPromemoria())
                {
                    using (fPromemoria p = new fPromemoria())
                        p.ShowDialog();
                }
                else
                {
                    if (ByUser)
                    {
                        cGB.MsgBox("Nessun promemoria a breve scadenza.");
                    }
                }
            }
            else if (a == eActions.ControllaPeriodiciSoloAlert)
            {
                var c = new cPeriodici();
                var mov_periodici_entro_oggi = c.RicercaScadenzeEntroOggi_plus_X_Giorni(5);

                if (mov_periodici_entro_oggi != null)
                {
                    if (mov_periodici_entro_oggi.Count > 0)
                    {
                        foreach (var pi in mov_periodici_entro_oggi)
                        {
                            var dtd = DateTime.Now;
                            var MeseDaAggiungere = 0;

                            switch (pi.TipoGiornoMese)
                            {
                            case cPeriodici.ePeriodicita.G:
                                if (pi.PartendoDalGiorno.Year < 1900)
                                {
                                    dtd = cGB.DateToOnlyDate(new DateTime(DateTime.Now.Year, DateTime.Now.Month, pi.GiornoDelMese.Day).AddDays(pi.NumeroGiorni));
                                }
                                else
                                {
                                    dtd = cGB.DateToOnlyDate(new DateTime(DateTime.Now.Year, DateTime.Now.Month, pi.PartendoDalGiorno.Day).AddDays(pi.NumeroGiorni));
                                }
                                break;

                            case cPeriodici.ePeriodicita.M:
                                MeseDaAggiungere = 1;
                                break;

                            case cPeriodici.ePeriodicita.B:
                                MeseDaAggiungere = 2;
                                break;

                            case cPeriodici.ePeriodicita.T:
                                MeseDaAggiungere = 3;
                                break;

                            case cPeriodici.ePeriodicita.Q:
                                MeseDaAggiungere = 4;
                                break;

                            case cPeriodici.ePeriodicita.S:
                                MeseDaAggiungere = 6;
                                break;

                            case cPeriodici.ePeriodicita.A:
                                MeseDaAggiungere = 12;
                                break;
                            }

                            switch (pi.TipoGiornoMese)
                            {
                            case cPeriodici.ePeriodicita.M:
                            case cPeriodici.ePeriodicita.B:
                            case cPeriodici.ePeriodicita.T:
                            case cPeriodici.ePeriodicita.Q:
                            case cPeriodici.ePeriodicita.S:
                            case cPeriodici.ePeriodicita.A:
                                dtd = cGB.DateToOnlyDate(new DateTime(DateTime.Now.Year, DateTime.Now.Month, pi.GiornoDelMese.Day).AddMonths(MeseDaAggiungere));
                                break;
                            }

                            pi.GiornoDelMese = dtd;
                        }

                        mov_periodici_entro_oggi.Sort();

                        using (var f = new fPromemoriaPeriodici {
                            Movimenti = mov_periodici_entro_oggi
                        })
                            f.ShowDialog();
                    }
                }
            }
            else if (a == eActions.ControllaPeriodici)
            {
                var CiSono = false;
                var c      = new cPeriodici();
                var mov_periodici_entro_oggi = c.RicercaScadenzeEntroOggi();

                if (mov_periodici_entro_oggi != null)
                {
                    if (mov_periodici_entro_oggi.Count > 0)
                    {
                        CiSono = true;
                    }
                }

                if (CiSono)
                {
                    var QualcosaInserito = false;

                    if (cGB.MsgBox("Ci sono dei movimenti periodici da inserire, vuoi visualizzarli ora?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        foreach (var pi in mov_periodici_entro_oggi)
                        {
                            using (var inz = new fInserimento())
                            {
                                var dtd = DateTime.Now;
                                var MeseDaAggiungere_ = 0;

                                switch (pi.TipoGiornoMese)
                                {
                                case cPeriodici.ePeriodicita.G:
                                    if (pi.PartendoDalGiorno.Year < 1900)
                                    {
                                        dtd = cGB.DateToOnlyDate(new DateTime(DateTime.Now.Year, DateTime.Now.Month, pi.GiornoDelMese.Day).AddDays(pi.NumeroGiorni));
                                    }
                                    else
                                    {
                                        dtd = cGB.DateToOnlyDate(new DateTime(DateTime.Now.Year, DateTime.Now.Month, pi.PartendoDalGiorno.Day).AddDays(pi.NumeroGiorni));
                                    }
                                    break;

                                case cPeriodici.ePeriodicita.M:
                                    MeseDaAggiungere_ = 1;
                                    break;

                                case cPeriodici.ePeriodicita.B:
                                    MeseDaAggiungere_ = 2;
                                    break;

                                case cPeriodici.ePeriodicita.T:
                                    MeseDaAggiungere_ = 3;
                                    break;

                                case cPeriodici.ePeriodicita.Q:
                                    MeseDaAggiungere_ = 4;
                                    break;

                                case cPeriodici.ePeriodicita.S:
                                    MeseDaAggiungere_ = 6;
                                    break;

                                case cPeriodici.ePeriodicita.A:
                                    MeseDaAggiungere_ = 12;
                                    break;
                                }

                                switch (pi.TipoGiornoMese)
                                {
                                case cPeriodici.ePeriodicita.M:
                                case cPeriodici.ePeriodicita.B:
                                case cPeriodici.ePeriodicita.T:
                                case cPeriodici.ePeriodicita.Q:
                                case cPeriodici.ePeriodicita.S:
                                case cPeriodici.ePeriodicita.A:
                                    dtd = cGB.DateToOnlyDate(new DateTime(DateTime.Now.Year, DateTime.Now.Month, pi.GiornoDelMese.Day).AddMonths(MeseDaAggiungere_));
                                    break;
                                }

                                inz.Tipo = pi.tipo;
                                inz.eDescrizione.Text = pi.descrizione;
                                inz.eMacroArea.Text   = pi.MacroArea == null || pi.MacroArea == "" ? inz.GetMacroArea4Descrizione(pi.descrizione) : pi.MacroArea;
                                inz.eNome.Text        = pi.nome;
                                inz.eSoldi.Value      = pi.soldi;

                                if (inz.ShowDialog() == DialogResult.OK)
                                {
                                    if (pi.TipoGiorniMese == 'G')
                                    {
                                        pi.GiornoDelMese     = new DateTime();
                                        pi.PartendoDalGiorno = dtd;
                                    }
                                    else
                                    {
                                        pi.PartendoDalGiorno = new DateTime();
                                        pi.GiornoDelMese     = dtd;
                                    }

                                    pi.Salva();
                                    QualcosaInserito = true;
                                }
                            }
                        }

                        if (QualcosaInserito)
                        {
                            LoadAllCash();
                        }
                    }
                }
                else
                {
                    if (ByUser)
                    {
                        cGB.MsgBox("Non ricorre nessun movimento periodico.");
                    }
                }
            }
            else if (a == eActions.GraficoSpline)
            {
                AddNewTabGrafico("RationesCurare7.UI.Controlli.cGraficoSpline", "Grafico a linee", Resources.grafico32);
            }
            else if (a == eActions.Grafico)
            {
                AddNewTabGrafico("RationesCurare7.UI.Controlli.cGrafico", "Grafico", Resources.grafico32);
            }
            else if (a == eActions.Torta)
            {
                AddNewTabGrafico("RationesCurare7.UI.Controlli.cGraficoTorta", "Torta", Resources.PieChart);
            }
            else if (a == eActions.MovimentiPeriodici)
            {
                var c = new cMovimentiPeriodici();
                AddNewTab(c, "Movimenti periodici", Resources.perdioci32);
            }
            else if (a == eActions.Casse)
            {
                var c = new Controlli.cCasse();
                AddNewTab(c, "Casse", Resources.ingranaggio32);
            }
            else if (a == eActions.Novita)
            {
                var c = new cNovita();
                AddNewTab(c, "Novità", Resources.star32);
            }
            else if (a == eActions.Cerca)
            {
                var c = new cRicerca();
                AddNewTab(c, "Ricerca", Resources.find32);
            }
            else if (a == eActions.About)
            {
                var c = new cAbout();
                AddNewTab(c, "About", Resources.about32);
            }
            else if (a == eActions.CosaNePensi)
            {
                var c = new cCosaNePensi();
                AddNewTab(c, "Cosa ne pensi?", Resources.mail32);
            }

            cAlbero.SelectedNode = LastSelectedNode;
        }
Ejemplo n.º 18
0
        private void Carica()
        {
            string     ulMA = "";
            cMovimenti mov  = new cMovimenti();
            List <cMovimenti.sMacroArea_e_Descrizione> z = mov.MacroAree_e_Descrizioni();
            List <string> desc = mov.TutteLeDescrizioni_Array(false);

            gNoCat.ClearItems();
            pArea.Controls.Clear();

            if (desc != null)
            {
                if (desc.Count > 0)
                {
                    gNoCat.AddRange(desc);
                }
            }

            if (z != null)
            {
                if (z.Count > 0)
                {
                    int          g     = -1;
                    int          e     = -1;
                    string[]     elems = new string[z.Count];
                    cGroupList[] G     = new cGroupList[z.Count];

                    for (int i = 0; i < z.Count; i++)
                    {
                        if (!ulMA.Equals(z[i].MacroArea, StringComparison.OrdinalIgnoreCase) || i == z.Count - 1)
                        {
                            if (g > -1)
                            {
                                if (e > -1)
                                {
                                    string[] elems2 = new string[e + 1];
                                    Array.Copy(elems, elems2, e + 1);

                                    G[g].AddRange(elems2);

                                    e = -1;
                                }
                            }

                            if (!ulMA.Equals(z[i].MacroArea, StringComparison.OrdinalIgnoreCase))
                            {
                                G[g += 1] = NewG(z[i].MacroArea);
                            }
                        }

                        elems[e += 1] = z[i].Descrizione;
                        ulMA          = z[i].MacroArea;
                    }

                    if (g > -1)
                    {
                        cGroupList[] G2 = new cGroupList[g + 1];
                        Array.Copy(G, G2, g + 1);
                        pArea.Controls.AddRange(G2);
                    }
                }
            }
        }
Ejemplo n.º 19
0
        private void Cerca()
        {
            Enabled = false;
            var ancheFuturi = cbPrevisti.Checked;

            try
            {
                var DataDa = cGB.DateTo00000(eDa.Value);
                var DataA  = cGB.DateTo235959(eA.Value);

                var mov = new cMovimenti
                {
                    DataDa      = DataDa,
                    DataA       = DataA,
                    descrizione = cGB.QQ(eDescrizione.Text),
                    MacroArea   = cGB.QQ(eMacroArea.Text)
                };

                Totale = mov.RicercaGraficoSaldo();
                grafico.Series.Clear();

                using (var data_reader = mov.RicercaGrafico(cbPeriodicita.SelectedIndex == 1))
                {
                    var NumCorre        = -1;
                    var serie_nuova     = CreaSerie();
                    var DataPrec        = default(DateTime);
                    var DataAct         = default(DateTime);
                    var DateUsate       = new List <string>();
                    var tipo_intervallo = cbPeriodicita.SelectedIndex == 1 ? eTipoData.Anno : eTipoData.Mese;

                    try
                    {
                        if (data_reader.HasRows)
                        {
                            while (data_reader.Read())
                            {
                                NumCorre += 1;
                                var LaData = data_reader.GetString(0);
                                DateUsate.Add(LaData);

                                DataPrec = DataAct;
                                DataAct  = StringYYYYMMToDate(LaData);
                                var soldi = cGB.ObjectToMoney(data_reader[1]);
                                var data_point_attuale = CreaDataPoint(LaData, soldi);

                                //inserire un datapoint vuoto se non ho dati nel db per quella data
                                if (DataPrec != DateTime.MinValue)
                                {
                                    if (DateDiff(tipo_intervallo, DataPrec, DataAct) != 1)
                                    {
                                        var differenza_date = DiffDate(tipo_intervallo, DataPrec, DataAct);

                                        for (var u = 0; u < (differenza_date?.Length ?? 0); u++)
                                        {
                                            if (differenza_date[u] != LaData)
                                            {
                                                var data_point_vuoto_no_dati_su_db = new DataPoint
                                                {
                                                    YValues   = DoubleToDataPointDouble(0D),
                                                    ToolTip   = ToEuroWithDate(0D, differenza_date[u]),
                                                    AxisLabel = differenza_date[u],
                                                    Color     = Color.Green
                                                };

                                                DateUsate.Add(differenza_date[u]);
                                                serie_nuova.Points.Insert(NumCorre, data_point_vuoto_no_dati_su_db);

                                                NumCorre += 1;
                                            }
                                        }
                                    }
                                }

                                serie_nuova.Points.Insert(NumCorre, data_point_attuale);
                            } //fine lettura DB
                        }
                        if (ancheFuturi)
                        {
                            var    val = 0d;
                            bool   daAggiungere;
                            string LaDataPeriodica;
                            var    per       = new cPeriodici();
                            var    movimenti = per.RicercaScadenzeCalcolate(DataDa, DataA);

                            for (var i = 0; i < movimenti.Count; i++)
                            {
                                daAggiungere    = false;
                                LaDataPeriodica = movimenti[i].GiornoDelMese.ToString(tipo_intervallo == eTipoData.Mese ? "yyyy/MM" : "yyyy");
                                val            += movimenti[i].soldi_d;

                                if (i < movimenti.Count - 1)
                                {
                                    if (LaDataPeriodica != movimenti[i + 1].GiornoDelMese.ToString(tipo_intervallo == eTipoData.Mese ? "yyyy/MM" : "yyyy"))
                                    {
                                        daAggiungere = true;
                                    }
                                }
                                else
                                {
                                    daAggiungere = true;
                                }

                                if (daAggiungere)
                                {
                                    if (DateUsate.Contains(LaDataPeriodica))
                                    {
                                        for (var v = 0; v < serie_nuova.Points.Count; v++)
                                        {
                                            if (serie_nuova.Points[v].AxisLabel.Equals(LaDataPeriodica, StringComparison.OrdinalIgnoreCase))
                                            {
                                                serie_nuova.Points[v] = CreaDataPoint(LaDataPeriodica, serie_nuova.Points[v].YValues[0] + val, Color.Blue, Color.Brown);
                                                break;
                                            }
                                        }
                                    }
                                    else
                                    {
                                        NumCorre++;
                                        var e = CreaDataPoint(LaDataPeriodica, val, Color.Blue, Color.Brown);
                                        serie_nuova.Points.Insert(NumCorre, e);
                                    }

                                    val = 0;
                                }
                            }

                            Totale = 0;
                            foreach (var t in serie_nuova.Points)
                            {
                                Totale += t.YValues[0];
                            }
                        } //fine movimenti futuri

                        gbGrafico.Text   = "Grafico dei movimenti - Saldo = " + cGB.DoubleToMoneyStringValuta(Totale);
                        serie_nuova.Name = "Saldo = " + cGB.DoubleToMoneyStringValuta(Totale);
                        grafico.Series.Add(serie_nuova);
                    }
                    finally
                    {
                        data_reader.Close();
                    }
                } //using data_reader
            }
            finally
            {
                SettaTitolo();
                Enabled = true;

                foreach (var area in grafico.ChartAreas)
                {
                    area.RecalculateAxesScale();
                }
            }
        }