private int RicevutePeriodo(DateTime inizio, DateTime fine, SoggettoEconomico soggetto) { ClassNumerazione numerazione = new ClassNumerazione(); XPCollection <Vendita> vendite = new XPCollection <Vendita>(this.unitOfWork1); vendite.Criteria = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] { new BinaryOperator("Struttura.Oid", _Struttura.Oid), new BinaryOperator("DataContabile", inizio, BinaryOperatorType.GreaterOrEqual), new BinaryOperator("DataContabile", fine, BinaryOperatorType.LessOrEqual) }); foreach (Vendita vendita in vendite) { bool soggettoEsterno = false; if (soggetto != null) { foreach (var rigaVenditaVariante in vendita.RigheVenditaVariante) { if (rigaVenditaVariante.Card != null && rigaVenditaVariante.Variante.Biglietto.Gestore.Oid == soggetto.Oid) { soggettoEsterno = true; } } } foreach (Stampa stampa in vendita.Stampe) { foreach (RigaStampaIngresso riga in stampa.RigheStampaIngresso) { if (riga.Ingresso.SoggettoEconomico.Oid == soggetto.Oid || soggettoEsterno) { numerazione.Add(stampa.Vendita.Postazione, stampa.NumeroProgressivo, stampa.Vendita.DataContabile.Year); } } } } return(numerazione.NB()); }
private void simpleButtonStampa_Click(object sender, EventArgs e) { int mesi = (int)this.radioGroupPeriodo.EditValue; SoggettoEconomico soggetto = this.lookUpEdit1.EditValue as SoggettoEconomico; if (soggetto == null || _Struttura.SoggettoEconomico == soggetto) { ReportQ1(mesi); } else { if (mesi == 12) { ReportQ1A(soggetto); } else { XtraMessageBox.Show("solo per 12 mesi"); } } }
private string RicevuteMesePeriodo(DateTime dateTime, SoggettoEconomico soggetto) { DateTime mese = new DateTime(dateTime.Year, dateTime.Month, 1); ClassNumerazione numerazione = new ClassNumerazione(); XPCollection <Vendita> vendite = new XPCollection <Vendita>(this.unitOfWork1); vendite.Criteria = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] { new BinaryOperator("Struttura.Oid", _Struttura.Oid), new BinaryOperator("DataContabile", mese, BinaryOperatorType.GreaterOrEqual), new BinaryOperator("DataContabile", mese.AddMonths(1).AddDays(-1), BinaryOperatorType.LessOrEqual) }); foreach (Vendita vendita in vendite) { foreach (Stampa stampa in vendita.Stampe) { if (soggetto == null) { numerazione.Add(stampa.Vendita.Postazione, stampa.NumeroProgressivo, stampa.Vendita.DataContabile.Year); } else { foreach (RigaStampaIngresso riga in stampa.RigheStampaIngresso) { if (riga.Ingresso.SoggettoEconomico.Oid == soggetto.Oid) { numerazione.Add(stampa.Vendita.Postazione, stampa.NumeroProgressivo, stampa.Vendita.DataContabile.Year); } } } } } return(numerazione.EB()); }
internal void Init(List <DatiReportQ1> elenco, Struttura struttura, DateTime inizio, SoggettoEconomico destinazione) { foreach (DatiReportQ1 dati in elenco) { this.bindingSource1.Add(dati); } this.xrLabelT1.Text = string.Format("{0} - {1} - CONTO DELLA GESTIONE DELL'AGENTE CONTABILE ESTERNO COMPILATO PER {2} - ANNO {3}", struttura.Descrizione, struttura.SoggettoEconomico.RagioneSociale, destinazione.RagioneSociale, inizio.Year).ToUpper(); this.xrLabelAgente.Text = string.Format("L'agente contabile {0}", struttura.Descrizione); this.xrLabelNome.Text = struttura.Responsabile; xrTableCellNote.Text = string.Format("Numerazione compresa in quella complessiva della biglietteria elettronica di: {0}", struttura.SoggettoEconomico.RagioneSociale); }
private void ReportQ1A(SoggettoEconomico soggetto) { DateTime inizio = new DateTime(_Inizio.Year, 1, 1); DateTime fine = new DateTime(_Inizio.Year, 12, 31); XPCollection <Versamento> versamenti = new XPCollection <Versamento>(this.unitOfWork1); GroupOperator tipo = new GroupOperator(GroupOperatorType.Or, new CriteriaOperator[] { new BinaryOperator("Tipologia", EnumTipologiaVersamento.Versamento_AdAltriEnti) }); versamenti.Criteria = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] { new BinaryOperator("Struttura.Oid", _Struttura.Oid), new BinaryOperator("InizioPeriodo", inizio, BinaryOperatorType.GreaterOrEqual), new BinaryOperator("FinePeriodo", fine, BinaryOperatorType.LessOrEqual), tipo }); versamenti.Sorting = new SortingCollection(new SortProperty[] { new SortProperty("DataVersamento", DevExpress.Xpo.DB.SortingDirection.Ascending) }); List <DatiReportQ1> elenco = new List <DatiReportQ1>(); foreach (Versamento item in versamenti) { DatiReportQ1Sub dati = new DatiReportQ1Sub(); dati.Quietanza = item.Quietanza; switch (item.Tipologia) { case EnumTipologiaVersamento.Versamento_AdAltriEnti: dati.Importo = -item.ContanteAltriEnti; break; default: throw new Exception(String.Format("Valore (versamento.tipologia) non previsto: {0}", item.Tipologia)); } if (string.IsNullOrEmpty(item.Quietanza)) { XtraMessageBox.Show("Errore ReportQ1A: non sono state inserite tutte le quietanze del periodo considerato.", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Warning); //return; } DatiReportQ1 target = null; foreach (DatiReportQ1 datiReportQ1 in elenco) { if (datiReportQ1.MeseInizio == item.InizioPeriodo.Month) { target = datiReportQ1; } } if (target == null) { target = new DatiReportQ1(); target.Periodo = string.Format("{0:MMMM} - {1:MMMM}", item.InizioPeriodo, item.FinePeriodo).ToUpper(); target.MeseInizio = item.InizioPeriodo.Month; target.RicevutePeriodo = string.Format("n. {0} biglietti", RicevutePeriodo(item.InizioPeriodo, item.FinePeriodo, soggetto)); target.ImportoPeriodo = 0; target.Elenco = new List <DatiReportQ1Sub>(); elenco.Add(target); } target.Elenco.Add(dati); target.CalcolaTotale(); } XtraReportQ1A report = new XtraReportQ1A(); report.Init(elenco, _Struttura, inizio, soggetto); report.ShowRibbonPreviewDialog(); }
private void simpleButtonRegistra_Click(object sender, EventArgs e) { // controlli .. _Inizio = this.dateEditInizioPeriodo.DateTime.Date; _Fine = this.dateEditFinePeriodo.DateTime.Date; if (_Fine < _Inizio) { // errore XtraMessageBox.Show("Data inizio periodo maggiore della data di fine.", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (_Fine.Month != _Inizio.Month) { // errore XtraMessageBox.Show("Inizio e Fine periodo devono essere nello stesso mese.", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (_Fine.Year != _Inizio.Year) { // errore XtraMessageBox.Show("Inizio e Fine periodo devono essere nello stesso anno.", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (_Fine >= DateTime.Now.Date) { // errore XtraMessageBox.Show("La data di fine periodo non può essere oggi o nel futuro.", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //if (this.dateEditDataVersamento.DateTime.Date > DateTime.Now.Date) //{ // // errore // XtraMessageBox.Show("La data del versamento non può essere nel futuro.", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); // return; //} Guid gruppo = Guid.NewGuid(); Versamento vcq = new Versamento(this.unitOfWork1); vcq.DataVersamento = this.dateEditDataVersamento.DateTime.Date; vcq.InizioPeriodo = _Inizio; vcq.FinePeriodo = _Fine; vcq.Tipologia = EnumTipologiaVersamento.Incasso_Contanti; vcq.Incassi = this.spinEditVersamento.Value; vcq.Pos = 0; vcq.PosAltriEnti = 0; vcq.ImportoVersato = this.spinEditVersamento.Value; vcq.Struttura = _Struttura; vcq.SoggettoEconomico = null; if (this.lookUpEditBeneficiario.EditValue != null) { SoggettoEconomico soggetto = this.lookUpEditBeneficiario.EditValue as SoggettoEconomico; if (soggetto != null && soggetto.Oid != _Struttura.SoggettoEconomico.Oid) { vcq.Incassi = 0; vcq.SoggettoEconomico = soggetto; vcq.ContanteAltriEnti = this.spinEditVersamento.Value; vcq.Tipologia = EnumTipologiaVersamento.Incasso_Contanti_AltriEnti; } } vcq.Quietanza = this.textEditQuietanza.Text; vcq.Gruppo = gruppo; vcq.Save(); this.unitOfWork1.CommitChanges(); DialogResult = DialogResult.OK; }
private decimal ImportoVendite(Struttura struttura, DateTime inizio, DateTime fine, SoggettoEconomico soggetto) { XPCollection <Vendita> vendite = new XPCollection <Vendita>(this.unitOfWork1); vendite.Criteria = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] { new BinaryOperator("Struttura", struttura), new BinaryOperator("DataContabile", inizio, BinaryOperatorType.GreaterOrEqual), new BinaryOperator("DataContabile", fine, BinaryOperatorType.LessOrEqual) }); decimal result = 0; foreach (Vendita vendita in vendite) { foreach (RigaVenditaVariante rigaVenditaVariante in vendita.RigheVenditaVariante) { if (rigaVenditaVariante.Variante.Biglietto.Gestore == soggetto) { result += rigaVenditaVariante.PrezzoTotale; } } } return(result); }