public fInserimentoPeriodico(string Tipo_) { InitializeComponent(); if (!cGB.DesignTime) { Tipo = Tipo_; var p = new DB.DataWrapper.cPeriodici(); var m = new DB.DataWrapper.cMovimenti(); var c = new DB.DataWrapper.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.UtenteConnesso.UserName; cbPeriodicita.SelectedIndex = 0; } }
private void Salva() { if (eSoldi.Selected) { eSoldi.DoCalc(); } else { if (eSoldi.Value == 0) { cGB.MsgBox("Campo importo vuoto!", MessageBoxIcon.Exclamation); } else { var m = new DB.DataWrapper.cPeriodici(); m.ID = ID__; m.tipo = cbCassa.Text; m.nome = eNome.Text; m.descrizione = eDescrizione.Text; m.MacroArea = eMacroArea.Text; m.soldi = eSoldi.Value; m.NumeroGiorni = (int)eNumGiorni.Value; m.TipoGiorniMese = m.Periodicita_cComboItems_Index(cbPeriodicita.SelectedIndex); if (eScadenza.Checked) { m.Scadenza = eScadenza.Value_; } if (m.TipoGiorniMese == 'G') { m.PartendoDalGiorno = eData.Value_; } else { m.GiornoDelMese = eData.Value_; } if (m.Salva() <= 0) { MsgErroreSalvataggio(); } else { DialogResult = DialogResult.OK; } } } }
public void Cerca() { this.Enabled = false; var ancheFuturi = cbPrevisti.Checked; try { var mov = new DB.DataWrapper.cMovimenti() { DataDa = cGB.DateTo00000(eDa.Value), DataA = cGB.DateTo235959(eA.Value), 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 System.Windows.Forms.DataVisualization.Charting.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 daAggiungere = false; var val = 0d; var LaDataPeriodica = ""; var per = new DB.DataWrapper.cPeriodici(); var movimenti = per.RicercaScadenzeCalcolate(eDa.Value, eA.Value); 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; for (var v = 0; v < serie_nuova.Points.Count; v++) { Totale += serie_nuova.Points[v].YValues[0]; } } //fine movimenti futuri this.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(); this.Enabled = true; foreach (var area in grafico.ChartAreas) { area.RecalculateAxesScale(); } } }
public void Action(eActions a, bool ByUser = false) { LastSelectedNode = cAlbero.SelectedNode; if (a == eActions.Cassaforte) { ShowCash(bCassaforte); } else if (a == eActions.Salvadanaio) { ShowCash(bSalvadanaio); } else if (a == eActions.Dare) { ShowCash(bDare); } else if (a == eActions.Avere) { ShowCash(bAvere); } else if (a == eActions.Portafogli) { ShowCash(bPortafoglio); } else if (a == eActions.Saldo) { ShowCash(bSaldo); } else 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 DB.DataWrapper.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 DB.DataWrapper.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 Controlli.cCalendario(); AddNewTab(c, "Calendario", Properties.Resources.calendario32); } else if (a == eActions.MacroAree) { var c = new Controlli.cMacroAree(); AddNewTab(c, "Macro aree", Properties.Resources.MacroAree); } else if (a == eActions.OpzioniDB) { using (var d = new fOpzioniDb()) d.ShowDialog(); } else if (a == eActions.Calcolatrice) { var d = new Controlli.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 DB.DataWrapper.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 DB.DataWrapper.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 DB.DataWrapper.cPeriodici.ePeriodicita.M: MeseDaAggiungere = 1; break; case DB.DataWrapper.cPeriodici.ePeriodicita.B: MeseDaAggiungere = 2; break; case DB.DataWrapper.cPeriodici.ePeriodicita.T: MeseDaAggiungere = 3; break; case DB.DataWrapper.cPeriodici.ePeriodicita.Q: MeseDaAggiungere = 4; break; case DB.DataWrapper.cPeriodici.ePeriodicita.S: MeseDaAggiungere = 6; break; case DB.DataWrapper.cPeriodici.ePeriodicita.A: MeseDaAggiungere = 12; break; } switch (pi.TipoGiornoMese) { case DB.DataWrapper.cPeriodici.ePeriodicita.M: case DB.DataWrapper.cPeriodici.ePeriodicita.B: case DB.DataWrapper.cPeriodici.ePeriodicita.T: case DB.DataWrapper.cPeriodici.ePeriodicita.Q: case DB.DataWrapper.cPeriodici.ePeriodicita.S: case DB.DataWrapper.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 DB.DataWrapper.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) == System.Windows.Forms.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 DB.DataWrapper.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 DB.DataWrapper.cPeriodici.ePeriodicita.M: MeseDaAggiungere_ = 1; break; case DB.DataWrapper.cPeriodici.ePeriodicita.B: MeseDaAggiungere_ = 2; break; case DB.DataWrapper.cPeriodici.ePeriodicita.T: MeseDaAggiungere_ = 3; break; case DB.DataWrapper.cPeriodici.ePeriodicita.Q: MeseDaAggiungere_ = 4; break; case DB.DataWrapper.cPeriodici.ePeriodicita.S: MeseDaAggiungere_ = 6; break; case DB.DataWrapper.cPeriodici.ePeriodicita.A: MeseDaAggiungere_ = 12; break; } switch (pi.TipoGiornoMese) { case DB.DataWrapper.cPeriodici.ePeriodicita.M: case DB.DataWrapper.cPeriodici.ePeriodicita.B: case DB.DataWrapper.cPeriodici.ePeriodicita.T: case DB.DataWrapper.cPeriodici.ePeriodicita.Q: case DB.DataWrapper.cPeriodici.ePeriodicita.S: case DB.DataWrapper.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", Properties.Resources.grafico32); } else if (a == eActions.Grafico) { AddNewTabGrafico("RationesCurare7.UI.Controlli.cGrafico", "Grafico", Properties.Resources.grafico32); } else if (a == eActions.Torta) { AddNewTabGrafico("RationesCurare7.UI.Controlli.cGraficoTorta", "Torta", Properties.Resources.PieChart); } else if (a == eActions.MovimentiPeriodici) { var c = new Controlli.cMovimentiPeriodici(); AddNewTab(c, "Movimenti periodici", Properties.Resources.perdioci32); } else if (a == eActions.Casse) { var c = new Controlli.cCasse(); AddNewTab(c, "Casse", Properties.Resources.ingranaggio32); } else if (a == eActions.Novita) { var c = new Controlli.cNovita(); AddNewTab(c, "Novità", Properties.Resources.star32); } else if (a == eActions.Cerca) { var c = new Controlli.cRicerca(); AddNewTab(c, "Ricerca", Properties.Resources.find32); } else if (a == eActions.About) { var c = new Controlli.cAbout(); AddNewTab(c, "About", Properties.Resources.about32); } else if (a == eActions.CosaNePensi) { var c = new Controlli.cCosaNePensi(); AddNewTab(c, "Cosa ne pensi?", Properties.Resources.mail32); } cAlbero.SelectedNode = LastSelectedNode; }