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; } }
private void Salva() { if (eSoldi.Selected) { eSoldi.DoCalc(); } else { if (eSoldi.Value == 0) { cGB.MsgBox("Campo importo vuoto!", MessageBoxIcon.Exclamation); } else { var m = new 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; } } } }
private void bElimina_Click(object sender, EventArgs e) { if (MsgElimina()) { var i = SelectedID; if (i > -1) { var m = new cPeriodici(); m.Elimina(i); LoadData(); } } }
private void LoadData() { var p = new cPeriodici(); bindingSource1.DataSource = p.Ricerca(); }
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; }
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(); } } }