private void barButtonItemCorrispettivi_ItemClick(object sender, ItemClickEventArgs e) { if (Parametri()) { DateTime dataagg = Postazione.DataSicuroAggiornamento(); if (dataagg <= _Fine) { XtraMessageBox.Show(string.Format("Attenzione: alcune biglietterie non hanno ancora conferito i dati per il periodo indicato. Data sicuro aggiornamento: {0:d}", Postazione.DataSicuroAggiornamento()), "Attenzione", MessageBoxButtons.OK, MessageBoxIcon.Warning); } XPCollection <Vendita> vendite = new XPCollection <Vendita>(this.unitOfWork1, new GroupOperator(new CriteriaOperator[] { new BinaryOperator("Struttura", _Struttura), new BinaryOperator("DataContabile", _Inizio, BinaryOperatorType.GreaterOrEqual), new BinaryOperator("DataContabile", _Fine, BinaryOperatorType.LessOrEqual) })); if (_Struttura.Descrizione == "Biglietteria Online") { XtraReportCorrispettiviInternet rcs = new XtraReportCorrispettiviInternet(); rcs.Init(vendite, _Inizio, _Fine, _Struttura); rcs.ShowRibbonPreview(); } else { XtraReportCorrispettiviBiglietteria rcs = new XtraReportCorrispettiviBiglietteria(); rcs.Init(vendite, _Inizio, _Fine, _Struttura); rcs.ShowRibbonPreview(); } } }
public List <Postazione> GetAll() { DbEntity db = new DbEntity(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = @"SELECT Postazioni.*, dbo.TipoPostazione.descrizione FROM Postazioni INNER JOIN TipoPostazione ON TipoPostazione.idtipopost = Postazioni.fk_tipo"; DataTable dt = db.eseguiQuery(cmd); List <Postazione> postazioni = null; if (dt.Rows.Count > 0) { postazioni = new List <Postazione>(); foreach (DataRow dr in dt.Rows) { Postazione newPost = new Postazione(); newPost.ID = (int)dr["idpostazione"]; newPost.Tag = (string)dr["tag"]; newPost.Tipo = (string)dr["descrizione"]; postazioni.Add(newPost); } } return(postazioni); }
public List <Postazione> GetBasedOnUtente(Utente U) { DbEntity db = new DbEntity(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = String.Format(@"SELECT Postazioni.*, dbo.TipoPostazione.descrizione FROM Postazioni INNER JOIN TipoPostazione ON TipoPostazione.idtipopost = Postazioni.fk_tipo INNER JOIN Utenti_postazioni ON Utenti_postazioni.fk_postazione = Postazioni.idpostazione INNER JOIN Utenti ON Utenti.idutente = Utenti_postazioni.fk_utente WHERE Utenti.idutente = {0}", U.ID); DataTable dt = db.eseguiQuery(cmd); List <Postazione> postazioni = null; if (dt.Rows.Count > 0) { postazioni = new List <Postazione>(); foreach (DataRow dr in dt.Rows) { Postazione newPost = new Postazione(); newPost.ID = (int)dr["idpostazione"]; newPost.Tag = (string)dr["tag"]; newPost.Tipo = (string)dr["descrizione"]; postazioni.Add(newPost); } } return(postazioni); }
static void GO() { List <MyFeData> elenco = DownloadData(); List <MyFeData> elencoNuovi = new List <MyFeData>(); using (Session session = new Session()) { Utente utente = session.FindObject <Utente>(new BinaryOperator("AdUsername", "Internet")); MuseiBase.CurrentUser = utente; Postazione postazione = session.FindObject <Postazione>(new BinaryOperator("CodiceUnivoco", 1)); postazione.Utente = utente.FullName; postazione.SyncSuccess = postazione.SyncTry = DateTime.Now; postazione.SyncResult = EnumSyncResult.Ok; postazione.Save(); foreach (MyFeData myFeData in elenco) { var trans = session.FindObject <TransazioneWeb>(new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] { new BinaryOperator("Transazione", myFeData.Transazione), new BinaryOperator("CodiceOperazione", myFeData.CodiceOperazione) })); if (trans == null) { elencoNuovi.Add(myFeData); } } var mioelenco = elencoNuovi.OrderBy(m => m.InseritaIlDateTime).ToArray(); List <string> log = new List <string>(); foreach (MyFeData myFeData in mioelenco) { if (myFeData.TipoOperazione == "vendita") { CreaVendita(myFeData); string logitem = string.Format("Creata Vendita {0} del {1:g}", myFeData.CodiceTessera, myFeData.InseritaIlDateTime); log.Add(logitem); Console.WriteLine(logitem); } if (myFeData.TipoOperazione == "annullo") { AnnullaVendita(myFeData); string logitem = string.Format("Annullata Vendita {0} del {1:g}", myFeData.CodiceTessera, myFeData.InseritaIlDateTime); log.Add(logitem); Console.WriteLine(logitem); } } if (log.Count > 0) { // send email } } }
protected void btn_AddNewPostazione_Click(object sender, EventArgs e) { string Tag = txt_Tag.Text; int IDTipo = Convert.ToInt32(drp_Tipo.SelectedItem.Value); if (Tag != "") { if (new daoPostazioni().CheckTag(Tag) != false) { Postazione P = new Postazione(); P.Tag = Tag; P.TipoID = IDTipo; new daoPostazioni().AddPostazione(P); pnl_Alert.Visible = true; pnl_Alert.CssClass = "alert alert-success"; lbl_Alert.Text = "<strong>OK!</strong> Postazione inserita con ID "; } else { pnl_Alert.Visible = true; pnl_Alert.CssClass = "alert alert-danger"; lbl_Alert.Text = "<strong>Errore!</strong> TAG già presente"; } } else { pnl_Alert.Visible = true; pnl_Alert.CssClass = "alert alert-danger"; lbl_Alert.Text = "<strong>Errore!</strong> Inserisci un Tag valido"; } }
public async Task <IActionResult> Edit(int id, [Bind("IdPostazione,NomePostazione,Descrizione")] Postazione postazione) { if (id != postazione.IdPostazione) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(postazione); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PostazioneExists(postazione.IdPostazione)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(postazione)); }
public void End() { ResultProcessed = true; using (Session session = new Session()) { try { Postazione postazione = session.GetObjectByKey <Postazione>(Program.Postazione.Oid); if (Result) { postazione.SyncResult = EnumSyncResult.Ok; postazione.SyncSuccess = postazione.SyncTry; postazione.Save(); } else { postazione.SyncResult = EnumSyncResult.Error; postazione.Save(); } } catch (Exception) { // possiamo avere un problema sullo schema del database // ignoriamo e proseguiamo l'operazione .. } try { Messaggio msg = new Messaggio(session); msg.Data = DateTime.Now; if (Result) { //msg.Oggetto = String.Format("SYNCOK {0}: {1} sec. Conflitti ({2}/{3}) Modifiche ({4}/{5})", Environment.MachineName, // ResultInfo.Durata(), // ResultInfo.ConflittiSub, ResultInfo.ConflittiPub, ResultInfo.ModificheSub, ResultInfo.ModifichePub); //msg.TestoEsteso = ResultInfo.Info; //msg.Autore = session.GetObjectByKey<Utente>(Program.UtenteCollegato.Oid); //msg.Tipologia = EnumTipoMessaggio.Normale; //msg.Save(); } else { msg.Oggetto = "SYNC_ERR: " + Environment.MachineName; msg.TestoEsteso = ResultInfo.Info; msg.Autore = session.GetObjectByKey <Utente>(Program.UtenteCollegato.Oid); msg.Tipologia = EnumTipoMessaggio.SyncError; msg.Save(); } } catch (Exception) { // possiamo avere un problema sullo schema del database // ignoriamo e proseguiamo l'operazione .. } } }
internal void Add(Postazione postazione, int number, int anno) { if (!Elenco.ContainsKey(postazione)) { Elenco.Add(postazione, new ClassNumerazionePostazione(postazione)); } Elenco[postazione].Add(number, anno); }
internal int NB(Postazione postazione) { if (Elenco.ContainsKey(postazione)) { return(Elenco[postazione].NB()); } else { return(0); } }
internal string EB(Postazione postazione) { if (Elenco.ContainsKey(postazione)) { return(Elenco[postazione].EB()); } else { return(string.Empty); } }
public async Task <IActionResult> Create([Bind("IdPostazione,NomePostazione,Descrizione")] Postazione postazione) { if (ModelState.IsValid) { _context.Add(postazione); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(postazione)); }
private static void AnnullaVendita(MyFeData myFeData) { using (UnitOfWork uow = new UnitOfWork()) { Utente utente = uow.FindObject <Utente>(new BinaryOperator("AdUsername", "Internet")); Postazione postazione = uow.FindObject <Postazione>(new BinaryOperator("CodiceUnivoco", 1)); if (utente == null) { throw new Exception("Manca utente INTERNET"); } if (postazione == null) { throw new Exception("Manca postazione INTERNET, CodiceUnivoco==1"); } var obj = uow.FindObject <Card>(new BinaryOperator("Codice", myFeData.CodiceTessera)); if (obj == null) { throw new Exception("ANNULLO: Manca card con codice: " + myFeData.CodiceTessera); } TransazioneWeb trans = new TransazioneWeb(uow); trans.PuntoVendita = myFeData.PuntoVendita; trans.Cliente = myFeData.Cliente; trans.EmailCliente = myFeData.EmailCliente; trans.IDCliente = myFeData.IDCliente; trans.Transazione = myFeData.Transazione; trans.InseritaIl = myFeData.InseritaIl; trans.TitolareCarta = myFeData.TitolareCarta; trans.EmailTitolare = myFeData.EmailTitolare; trans.Inizio = myFeData.Inizio; trans.Fine = myFeData.Fine; trans.Giorni = myFeData.Giorni; trans.Prodotto = myFeData.Prodotto; trans.CodiceOperazione = myFeData.CodiceOperazione; trans.CodiceTessera = myFeData.CodiceTessera; trans.TipoOperazione = myFeData.TipoOperazione; trans.Quantita = myFeData.Quantita; trans.InseritaIlDateTime = myFeData.InseritaIlDateTime; trans.InizioDateTime = myFeData.InizioDateTime; trans.FineDateTime = myFeData.FineDateTime; trans.Save(); obj.Stampa.Vendita.EliminaVendita(); obj.Delete(); uow.CommitChanges(); } }
public static void DataAgg(BarStaticItem item) { DateTime data = Postazione.DataSicuroAggiornamento(); item.Caption = string.Format("Dati aggiornati a {0:F}", data); if ((DateTime.Now - data).TotalMinutes > 60) { item.Glyph = WinTicketNext.Properties.Resources.sign_warning_BF_16_P; } else { item.Glyph = WinTicketNext.Properties.Resources.about_BF_16_P; } }
private List <Postazione> ElencoPostazioni() { List <Postazione> elenco = new List <Postazione>(); for (int i = 0; i < this.checkedListBoxControlPostazioni.CheckedItems.Count; i++) { Postazione item = (Postazione)this.checkedListBoxControlPostazioni.CheckedItems[i]; XPCollection <Postazione> queste = new XPCollection <Postazione>(this.unitOfWork1, new BinaryOperator("Ingresso", item.Ingresso)); elenco.AddRange(queste); } return(elenco); }
public Panel CustomDiv(Postazione P) { // <div class="col" runat="server" id="div_Foratura"> // <div class="card text-center"> // <asp:ImageButton ID = "btn_Foratura" CssClass="mx-auto d-block width-70" ImageUrl="~/imgs/foratura.png" runat="server" /> // <div class="card-title"> // <span>Foratura</span> // </div> // </div> // </div> Panel wrapper = new Panel(); wrapper.CssClass = "col"; Panel card = new Panel(); card.CssClass = "card text-center postazione"; ImageButton imgBtn = new ImageButton(); imgBtn.CssClass = "mx-auto d-block width-70"; imgBtn.ID = "btn_" + P.ID; imgBtn.ImageUrl = "~/imgs/ic" + P.Tipo + ".png"; imgBtn.Click += new ImageClickEventHandler(btn_Postazione_Click); imgBtn.Attributes.Add("idpostazione", P.ID.ToString()); imgBtn.Attributes.Add("tipo", P.Tipo); Panel cardTitle = new Panel(); cardTitle.CssClass = "card-title"; Label title = new Label(); title.Text = P.Tipo.ToUpper() + " - " + P.Tag; card.Controls.Add(imgBtn); cardTitle.Controls.Add(title); card.Controls.Add(cardTitle); wrapper.Controls.Add(card); return(wrapper); }
private static void SetPostazione() { Session session = new Session(); string key = Environment.MachineName; Postazione posto = session.FindObject <Postazione>(new BinaryOperator("MachineName", key)); if (posto == null) { XtraMessageBox.Show(string.Format("Postazione '{0}' non trovata o non codificata. Impossibile proseguire.", key), "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); } Program.Postazione = posto; XPCollection <Provenienza> provol = new XPCollection <Provenienza>(session); Program.Provenienze = new List <Provenienza>(); Program.Provenienze.AddRange(provol); }
public void AddPostazione(Postazione P) { DataTable dt = new DataTable(); DbEntity db = new DbEntity(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = String.Format(@"INSERT Postazioni ( tag, fk_tipo ) VALUES ( '{0}', -- tag - varchar(55) {1} -- fk_tipo - int )", P.Tag, P.TipoID); db.eseguiQueryNOreturn(cmd); }
private void simpleButtonQuery_Click(object sender, EventArgs e) { Cursor saveCursor = Cursor.Current; try { Cursor.Current = Cursors.WaitCursor; _Inizio = this.dateNavigatorAperture.MyStartDate; _Fine = this.dateNavigatorAperture.MyEndDate; _Postazione = this.lookUpEdit1.EditValue as Postazione; if (_Postazione != null) { _Aperture = new GestoreAperture(); // per sicurezza aggiungo un mese alla data di fine periodo XPCollection <PostazioneAccesso> accessi = new XPCollection <PostazioneAccesso>(this.unitOfWork1); GroupOperator periodoa1 = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] { new BinaryOperator("Data", _Inizio, BinaryOperatorType.GreaterOrEqual), new BinaryOperator("Data", _Fine, BinaryOperatorType.LessOrEqual), new BinaryOperator("Postazione", _Postazione) }); accessi.Criteria = periodoa1; foreach (PostazioneAccesso postazioneAccesso in accessi) { _Aperture.Add(postazioneAccesso.Postazione.Oid, postazioneAccesso.Data); } this.labelControlInfo.Text = string.Format("{0} dal {1:d} al {2:d}", _Postazione.Nome, _Inizio, _Fine); } this.dateNavigatorAperture.Refresh(); timer1.Enabled = true; } finally { Cursor.Current = saveCursor; } }
public void GoSync() { using (Session session = new Session()) { if (StaticInfo.NoSync() || session.DataLayer.Connection == null || !session.DataLayer.Connection.ConnectionString.Contains("MuseiXafRev1locale")) { Result = true; SyncFinished = true; try { Postazione postazione = session.GetObjectByKey <Postazione>(Program.Postazione.Oid); postazione.SyncTry = DateTime.Now; postazione.SyncSuccess = DateTime.Now; postazione.Save(); } catch (Exception) { // possiamo avere un problema sullo schema del database // ignoriamo e proseguiamo l'operazione .. } } else { try { Postazione postazione = session.GetObjectByKey <Postazione>(Program.Postazione.Oid); postazione.SyncTry = DateTime.Now; postazione.Save(); } catch (Exception) { // possiamo avere un problema sullo schema del database // ignoriamo e proseguiamo l'operazione .. } Thread newt = new Thread(start); newt.Start(this); } } }
public List <Lavorazione> GetForPostazione(Postazione P) { DbEntity db = new DbEntity(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = String.Format(@"SELECT * FROM (SELECT Lavorazioni.*, OpzioniLavorazione.opzione, TipoLavorazione.*, Ordini.data AS DataOrdine FROM Lavorazioni INNER JOIN OpzioniLavorazione ON OpzioniLavorazione.idopz = Lavorazioni.fk_opzione INNER JOIN TipoLavorazione ON TipoLavorazione.idtipolav = OpzioniLavorazione.fk_idtipolavorazione INNER JOIN Ordini ON Ordini.idordine = Lavorazioni.fkordine WHERE stato = 0 OR (stato = 1 AND fk_postazione = {1})) AS SUBQUERY WHERE descrizione = '{0}' AND ((stato = 0 AND inizio IS NULL) OR (stato = 1 AND fk_postazione = {1})) ORDER BY stato DESC, DataOrdine", P.Tipo, P.ID); DataTable dt = db.eseguiQuery(cmd); List <Lavorazione> lavorazioni = new List <Lavorazione>(); if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { //int ID, TipoLavorazione Tipo, string Opzione, int OpzioneID, string Note, DateTime Inizio, DateTime Fine, int Stato Lavorazione newLav = new Lavorazione(); newLav.ID = (int)dr["idlavorazione"]; newLav.Tipo = new TipoLavorazione((int)dr["idtipolav"], (string)dr["descrizione"]); newLav.Opzione = (string)dr["opzione"]; newLav.OpzioneID = (int)dr["fk_opzione"]; newLav.Note = (string)dr["note"]; newLav.Inizio = dr.IsNull("inizio") ? default(DateTime) : (DateTime)dr["inizio"]; newLav.Fine = dr.IsNull("fine") ? default(DateTime) : (DateTime)dr["fine"]; newLav.Stato = (int)dr["stato"]; newLav.DataOrdine = (DateTime)dr["DataOrdine"]; lavorazioni.Add(newLav); } } return(lavorazioni); }
private CriteriaOperator GetPostazioni(CriteriaOperator original) { GroupOperator op = new GroupOperator(GroupOperatorType.Or); for (int i = 0; i < this.checkedListBoxControlPostazioni.CheckedItems.Count; i++) { Postazione item = (Postazione)this.checkedListBoxControlPostazioni.CheckedItems[i]; op.Operands.Add(new BinaryOperator("Vendita.Postazione.Ingresso.Oid", item.Ingresso.Oid)); } if (op.Operands.Count == 0) { return(original); } else { return(new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] { op, original })); } }
private void RibbonFormDashBoard_FormClosing(object sender, FormClosingEventArgs e) { if (Program.Postazione != null) { using (Session session = new Session()) { Postazione postazione = session.GetObjectByKey <Postazione>(Program.Postazione.Oid); postazione.Utente = "--"; postazione.Save(); } using (XtraFormSync form = new XtraFormSync()) { if (form.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { this.backgroundWorkerPush.CancelAsync(); Program.UtenteCollegato = null; Program.Postazione = null; } } } }
private void barButtonItemQuery_ItemClick(object sender, ItemClickEventArgs e) { if (Parametri()) { DateTime dataagg = Postazione.DataSicuroAggiornamento(); if (dataagg <= _Fine) { XtraMessageBox.Show(string.Format("Attenzione: alcune biglietterie non hanno ancora conferito i dati per il periodo indicato. Data sicuro aggiornamento: {0:d}", Postazione.DataSicuroAggiornamento()), "Attenzione", MessageBoxButtons.OK, MessageBoxIcon.Warning); } this.xpCollectionVersamenti.Criteria = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] { new BinaryOperator("Struttura.Oid", _Struttura.Oid), new BinaryOperator("FinePeriodo", _Inizio, BinaryOperatorType.GreaterOrEqual), new BinaryOperator("FinePeriodo", _Fine, BinaryOperatorType.LessOrEqual) }); this.gridViewVersamenti.BestFitColumns(); Abilita(true); } }
public Postazione GetByID(int ID) { DbEntity db = new DbEntity(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = String.Format(@"SELECT Postazioni.*, dbo.TipoPostazione.descrizione FROM Postazioni INNER JOIN TipoPostazione ON TipoPostazione.idtipopost = Postazioni.fk_tipo WHERE idpostazione = {0}", ID); DataTable dt = db.eseguiQuery(cmd); Postazione newPost = null; if (dt.Rows.Count > 0) { newPost = new Postazione(); newPost.ID = (int)dt.Rows[0]["idpostazione"]; newPost.Tag = (string)dt.Rows[0]["tag"]; newPost.Tipo = (string)dt.Rows[0]["descrizione"]; } return(newPost); }
public ClassNumerazionePostazione(Postazione postazione) { Postazione = postazione; Insiemi = new List <ClassNumerazioneSet>(); }
private void simpleButtonOk_Click(object sender, EventArgs e) { Variante variante = this.lookUpEditVariante.EditValue as Variante; Titolo titolo = this.lookUpEditTitolo.EditValue as Titolo; Postazione postazione = this.lookUpEdit1.EditValue as Postazione; int quantita = (int)this.spinEditQta.Value; DateTime dataVendita = this.dateEditData.DateTime; if (dataVendita > DateEnd || dataVendita < DateStart) { this.dateEditData.ErrorText = string.Format("Deve essere compresa fra {0:g} e {1:g}", DateStart, DateEnd); return; } if (dataVendita > DateTime.Today) { this.dateEditData.ErrorText = string.Format("Non può essere nel futuro ..."); return; } if ((DateTime.Today - dataVendita).TotalDays > 240) { this.dateEditData.ErrorText = string.Format("Non può essere oltre 8 mesi indietro"); return; } if (dataVendita.Year <= 2013) { this.dateEditData.ErrorText = string.Format("Non può essere nel 2013 o prima"); return; } if (variante != null && postazione != null) { if (!variante.Biglietto.IsAttrib(Biglietto.STR_BIGLIETTO_STORICO)) { if (dataVendita.Date > new DateTime(2011, 6, 1)) { XtraMessageBox.Show("Data deve essere precedente a giugno 2011.", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } if (variante.Biglietto.Percorso.Ingressi.Count > 1) { XtraMessageBox.Show("Non biglietti cumulativi", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Ingresso ingresso = variante.Biglietto.Percorso.Ingressi[0]; Vendita vendita = new Vendita(this.unitOfWork1); vendita.DataContabile = dataVendita.Date; vendita.DataOraStampa = dataVendita.Add(this.timeEditOra.Time.TimeOfDay); vendita.Incasso = (EnumIncasso)this.imageComboBoxEditIncasso.EditValue; vendita.Postazione = postazione; vendita.Struttura = ingresso.Struttura; vendita.TotaleImporto = variante.PrezzoAttuale.Prezzo * quantita; vendita.TotalePersone = quantita; vendita.Utente = this.unitOfWork1.GetObjectByKey <Utente>(Program.UtenteCollegato.Oid); vendita.CodiceLeggibile = Vendita.NuovoCodiceVendita(); vendita.Save(); RigaVenditaVariante riga = new RigaVenditaVariante(this.unitOfWork1); riga.PrezzoTotale = vendita.TotaleImporto; riga.PrezzoUnitario = variante.PrezzoAttuale.Prezzo; riga.Quantita = quantita; riga.Titolo = titolo; riga.Variante = variante; riga.Vendita = vendita; riga.Save(); Stampa stampa = new Stampa(this.unitOfWork1); stampa.FineValidita = vendita.DataContabile; stampa.InizioValidita = vendita.DataContabile; stampa.ImportoTotale = vendita.TotaleImporto; stampa.Quantita = quantita; stampa.Vendita = vendita; stampa.Save(); stampa.GeneraBarCode(Program.Postazione, new List <Ingresso>()); stampa.Save(); RigaStampaIngresso rigastampa = new RigaStampaIngresso(this.unitOfWork1); rigastampa.Ingresso = ingresso; rigastampa.Stampa = stampa; rigastampa.TotaleIngressi = quantita; rigastampa.TotalePersone = quantita; rigastampa.Save(); Entrata entrata = new Entrata(this.unitOfWork1); entrata.DataOraEntrata = vendita.DataOraStampa; entrata.Quantita = quantita; entrata.RigaStampaIngresso = rigastampa; entrata.Save(); this.unitOfWork1.CommitChanges(); DialogResult = System.Windows.Forms.DialogResult.OK; } } else { XtraMessageBox.Show("Selezionare Variante e Postazione", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public Panel CustomDiv(Postazione P, int IDUtente, bool Assegnato) { // <div class="col" runat="server" id="div_Foratura"> // <div class="card text-center"> // <asp:ImageButton ID = "btn_Foratura" CssClass="mx-auto d-block width-70" ImageUrl="~/imgs/foratura.png" runat="server" /> // <div class="card-title"> // <h5>Foratura</h5> // </div> // </div> // </div> Panel wrapper = new Panel(); wrapper.CssClass = "col"; Panel card = new Panel(); card.CssClass = "card text-center postazione form-group"; Image img = new Image(); img.CssClass = "mx-auto d-block width-70"; img.ID = "btn_" + P.ID; img.ImageUrl = "~/imgs/ic" + P.Tipo + ".png"; Panel cardTitle = new Panel(); cardTitle.CssClass = "card-title"; Label title = new Label(); title.Text = P.Tipo.ToUpper() + " - " + P.Tag; Button btn = new Button(); //btn.ID = "btn_" + P.ID + IDUtente; btn.Attributes.Add("PID", P.ID.ToString()); btn.Attributes.Add("UID", IDUtente.ToString()); //btn.UseSubmitBehavior = true; if (Assegnato) { btn.Click += new EventHandler(btn_Rimuovi_Click); //btn.Click += delegate { // btn_Rimuovi_Click(btn, null); //}; btn.CssClass = "btn btn-warning mx-auto form-control"; btn.Text = "Rimuovi"; } else { btn.Click += new EventHandler(btn_Assegna_Click); //btn.Click += delegate { // btn_Assegna_Click(btn, null); //}; btn.CssClass = "btn btn-success mx-auto form-control"; btn.Text = "Assegna"; } card.Controls.Add(img); cardTitle.Controls.Add(title); card.Controls.Add(cardTitle); card.Controls.Add(btn); wrapper.Controls.Add(card); return(wrapper); }
private static bool RecuperaEntratePosticipate() { try { using (UnitOfWork ses = new UnitOfWork()) { Postazione postazione = ses.GetObjectByKey <Postazione>(Program.Postazione.Oid); XPCollection <EntrataPosticipata> entrate = new XPCollection <EntrataPosticipata>(ses, new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] { //new BinaryOperator("") new BinaryOperator("Postazione", postazione), new BinaryOperator("Status", EnumStatusEntrata.InCoda) })); foreach (var item in entrate) { XPCollection <Stampa> stampe = new XPCollection <Stampa>(ses, new GroupOperator(GroupOperatorType.Or, new CriteriaOperator[] { new BinaryOperator("BarCode", item.BarCode), new BinaryOperator("CodiceProgressivo", item.BarCode), new BinaryOperator("Card.Codice", item.BarCode) })); stampe.Sorting = new DevExpress.Xpo.SortingCollection(new SortProperty[] { new SortProperty("Vendita.DataOraStampa", DevExpress.Xpo.DB.SortingDirection.Descending) }); if (stampe.Count > 0) { Stampa stampa = stampe[0]; foreach (PostazioneIngresso ping in postazione.Ingressi) { if (ping.Tipologia == EnumTipologiaPostazioneIngresso.MarcaturaAutomatica) { foreach (RigaStampaIngresso riga in stampa.RigheStampaIngresso) { if (riga.Ingresso == ping.Ingresso) { if (riga.TotalePersone > riga.TotaleIngressi) { // registra entrate su questo ingresso Entrata entrata = new Entrata(ses); entrata.DataOraEntrata = item.DataOraEntrata; entrata.Quantita = riga.TotalePersone - riga.TotaleIngressi; entrata.RigaStampaIngresso = riga; entrata.Save(); riga.TotaleIngressi = riga.TotalePersone; riga.Save(); } } } } } item.DataEvasione = DateTime.Now; item.Status = EnumStatusEntrata.Evasa; item.Save(); Messaggio msg = new Messaggio(ses); msg.Data = DateTime.Now; msg.Oggetto = String.Format("BarCode {0} evaso", item.BarCode); msg.TestoEsteso = String.Format("BarCode {0} evaso", item.BarCode); msg.Autore = ses.GetObjectByKey <Utente>(Program.UtenteCollegato.Oid); msg.Tipologia = EnumTipoMessaggio.RecuperoEntrataPosticipata; msg.Save(); } else { if (item.DataOraEntrata.AddMonths(1) < DateTime.Now) { item.DataEvasione = DateTime.Now; item.Status = EnumStatusEntrata.Annullata; item.Save(); Messaggio msg = new Messaggio(ses); msg.Data = DateTime.Now; msg.Oggetto = String.Format("BarCode {0} annullato", item.BarCode); msg.TestoEsteso = String.Format( "BarCode {0} annullato perche' risale a piu' di un mese fa ed attualmente non ancora presente in archivio ...", item.BarCode); msg.Autore = ses.GetObjectByKey <Utente>(Program.UtenteCollegato.Oid); msg.Tipologia = EnumTipoMessaggio.RecuperoEntrataPosticipata; msg.Save(); } } } ses.CommitChanges(); } } catch (Exception) { XtraMessageBox.Show( "Errore nel recupero dei codici a barre posticipati. Riavviare il programma e riprovare.", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } return(true); }
private void simpleButtonVerifica_Click(object sender, EventArgs e) { string codice = this.buttonEditCodice.Text; CoStampa = new XPCollection <Stampa>(this.unitOfWork1); CoStampa.Criteria = new GroupOperator(GroupOperatorType.Or, new CriteriaOperator[] { new BinaryOperator("BarCode", codice), new BinaryOperator("CodiceProgressivo", codice), new BinaryOperator("Card.Codice", codice) }); CoStampa.Sorting = new SortingCollection(new SortProperty[] { new SortProperty("Vendita.DataOraStampa", DevExpress.Xpo.DB.SortingDirection.Descending) }); this.gridControlIngressi.DataSource = CoStampa; if (CoStampa.Count == 0) { Pulisci(); if (!string.IsNullOrEmpty(codice) && codice.Length > 3) { Postazione postazione = this.unitOfWork1.GetObjectByKey <Postazione>(Program.Postazione.Oid); EntrataPosticipata entrata = this.unitOfWork1.FindObject <EntrataPosticipata>(new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] { new BinaryOperator("BarCode", codice), new BinaryOperator("Postazione", postazione), new BinaryOperator("Status", EnumStatusEntrata.InCoda) })); if (entrata == null) { entrata = new EntrataPosticipata(this.unitOfWork1); entrata.BarCode = codice; entrata.DataOraEntrata = DateTime.Now; entrata.Postazione = postazione; entrata.Utente = this.unitOfWork1.GetObjectByKey <Utente>(Program.UtenteCollegato.Oid); entrata.Status = EnumStatusEntrata.InCoda; entrata.Save(); Messaggio msg = new Messaggio(this.unitOfWork1); msg.Data = DateTime.Now; msg.Oggetto = String.Format("BarCode {0}", codice); msg.TestoEsteso = String.Format("BarCode {0} non trovato, utente {1}, postazione {2} ! (inserito nella lista per il recupero posticipato)", codice, Program.UtenteCollegato.FullName, Program.Postazione.Nome); msg.Autore = entrata.Utente; msg.Tipologia = EnumTipoMessaggio.EntrataPosticipata; msg.Save(); this.unitOfWork1.CommitChanges(); XtraMessageBox.Show(String.Format("Codice {0} NON trovato! (inserito nella lista per il recupero posticipato)", codice), "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { XtraMessageBox.Show(String.Format("Codice {0} NON trovato! (il codice è già presente nella lista per il recupero posticipato)", codice), "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { XtraMessageBox.Show(String.Format("Codice {0} errato!", codice), "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { this.spinEdit1.Value = 0; this.spinEdit1.Enabled = false; this.simpleButtonRegistra.Enabled = false; this.barButtonItemAltre.Enabled = true; this.panelControlInfo.Visible = true; this.gridViewIngressi.BestFitColumns(); this.barButtonItemIngresso.Enabled = true; // prendo la prima stampa (dovrebbe essere l'unica, se non ho cercato per vendita.codiceleggibile) Stampa stampa = CoStampa[0]; ImpostaValiditaCard(stampa); AbilitaStampaCardMyFE(stampa); this.textEditIntestazioneCard.Text = ""; if (stampa.Card != null) { if (stampa.Card.Albergo != null) { this.textEditIntestazioneCard.Text = stampa.Card.Albergo.RagioneSociale; } if (stampa.Card.VendutaOnline) { this.textEditIntestazioneCard.Text = stampa.Card.TitolareCarta; } } this.textEditBarCode.Text = stampa.BarCode; this.textEditProg.Text = stampa.CodiceProgressivo; this.dateEditStart.DateTime = stampa.InizioValidita; this.dateEditEnd.DateTime = stampa.FineValidita; this.textEdit1.Text = stampa.Vendita.Postazione.Nome; this.labelControlStatus.Text = "Regolare"; this.labelControlStatus.ForeColor = Color.Green; // toglie tutti i check foreach (BarItemLink itemLink in this.ribbonPageGroupIngressi.ItemLinks) { itemLink.Item.LargeGlyph = WinTicketNext.Properties.Resources.checkbox_unchecked; itemLink.Item.Enabled = false; } int qta = int.MaxValue; int totali = 0; foreach (PostazioneIngresso postazioneIngresso in Program.Postazione.Ingressi) { RigaStampaIngresso elemento = GetElemento(stampa, postazioneIngresso.Ingresso); if (elemento != null) { totali += elemento.TotalePersone; int poq = elemento.TotalePersone - elemento.TotaleIngressi; if (poq > 0) { qta = Math.Min(poq, qta); foreach (BarItemLink itemLink in this.ribbonPageGroupIngressi.ItemLinks) { Ingresso ingre = itemLink.Item.Tag as Ingresso; if (ingre != null && ingre.Oid == elemento.Ingresso.Oid) { itemLink.Item.LargeGlyph = WinTicketNext.Properties.Resources.checkbox; itemLink.Item.Enabled = true; } } } } } if (qta > 0 && qta < 10000) { StampaVenditaOnline(stampa, false); this.spinEdit1.Value = qta; this.spinEdit1.Enabled = true; this.simpleButtonRegistra.Enabled = true; } else { if (totali > 0) { this.labelControlStatus.Text = "Già utilizzato"; this.labelControlStatus.ForeColor = Color.Orange; } else { this.labelControlStatus.Text = "non valido per questa postazione"; this.labelControlStatus.ForeColor = Color.Orange; } } DateTime adesso = DateTime.Now.Date; if (adesso >= stampa.InizioValidita && adesso <= stampa.FineValidita) { this.dateEditEnd.BackColor = Color.FromArgb(247, 245, 241); this.dateEditStart.BackColor = Color.FromArgb(247, 245, 241); this.labelControlStatus.Text += " (non scaduto)"; } else { this.dateEditEnd.BackColor = Color.Orange; this.dateEditStart.BackColor = Color.Orange; this.labelControlStatus.Text += " (SCADUTO)"; } } MoveFocus(); }
private static void CreaVendita(MyFeData myFeData) { //var aprile = new DateTime(2016, 4, 1); //if (myFeData.InseritaIlDateTime.Date >= aprile) return; using (UnitOfWork uow = new UnitOfWork()) { Utente utente = uow.FindObject <Utente>(new BinaryOperator("AdUsername", "Internet")); Postazione postazione = uow.FindObject <Postazione>(new BinaryOperator("CodiceUnivoco", 1)); if (utente == null) { throw new Exception("Manca utente INTERNET"); } if (postazione == null) { throw new Exception("Manca postazione INTERNET, CodiceUnivoco==1"); } var obj = uow.FindObject <Card>(new BinaryOperator("Codice", myFeData.CodiceTessera)); if (obj != null) { throw new Exception("VENDITA: Esiste già card con codice: " + myFeData.CodiceTessera); } TransazioneWeb trans = new TransazioneWeb(uow); trans.PuntoVendita = myFeData.PuntoVendita; trans.Cliente = myFeData.Cliente; trans.EmailCliente = myFeData.EmailCliente; trans.IDCliente = myFeData.IDCliente; trans.Transazione = myFeData.Transazione; trans.InseritaIl = myFeData.InseritaIl; trans.TitolareCarta = myFeData.TitolareCarta; trans.EmailTitolare = myFeData.EmailTitolare; trans.Inizio = myFeData.Inizio; trans.Fine = myFeData.Fine; trans.Giorni = myFeData.Giorni; trans.Prodotto = myFeData.Prodotto; trans.CodiceOperazione = myFeData.CodiceOperazione; trans.CodiceTessera = myFeData.CodiceTessera; trans.TipoOperazione = myFeData.TipoOperazione; trans.Quantita = myFeData.Quantita; trans.InseritaIlDateTime = myFeData.InseritaIlDateTime; trans.InizioDateTime = myFeData.InizioDateTime; trans.FineDateTime = myFeData.FineDateTime; trans.Save(); Card card = new Card(uow); card.Codice = myFeData.CodiceTessera; card.AssegnataIl = myFeData.InseritaIlDateTime; card.AssegnataStruttura = postazione.Struttura; card.AssegnataUtente = utente; card.Status = EnumStatoCard.Emessa; card.Email = myFeData.EmailTitolare; card.Cliente = myFeData.Cliente; card.TitolareCarta = myFeData.TitolareCarta; card.CodiceOperazione = myFeData.CodiceOperazione; card.Transazione = myFeData.Transazione; card.VendutaOnline = true; card.EmessoBiglietto = false; switch (myFeData.Giorni) { case "2": card.TipologiaCard = EnumTipologiaCard.Card2Giorni; break; case "3": card.TipologiaCard = EnumTipologiaCard.Card3Giorni; break; case "6": card.TipologiaCard = EnumTipologiaCard.Card6Giorni; break; } card.Save(); Vendita vendita = new Vendita(uow); vendita.Incasso = EnumIncasso.Internet; vendita.CodiceLeggibile = Vendita.NuovoCodiceVendita(); vendita.CodicePrevent = ""; vendita.DataContabile = myFeData.InseritaIlDateTime.Date; vendita.DataOraStampa = myFeData.InseritaIlDateTime; vendita.Descrizione = myFeData.TitolareCarta; vendita.Utente = utente; vendita.Postazione = postazione; vendita.Struttura = postazione.Struttura; vendita.TotalePersone = 1; vendita.TotaleImporto = card.Importo; vendita.Save(); Percorso per = uow.FindObject <Percorso>(new BinaryOperator("Descrizione", "MyFE")); Variante v1 = per.GetVarianteMyFe("Com", "C", card.TipologiaCard); Variante v2 = per.GetVarianteMyFe("Pin", "C", card.TipologiaCard); if (v1 == null || v2 == null) //if (v1 == null) { throw new Exception("Manca tariffa"); //XtraMessageBox.Show("Tariffa per le card mancante", "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error); //return false; } decimal totale = v1.Prezzo + (v2 != null ? v2.Prezzo : 0); List <Ingresso> ingressi = new List <Ingresso>(); ingressi.AddRange(per.Ingressi); RigaVenditaVariante rvv1 = new RigaVenditaVariante(uow); rvv1.PrezzoTotale = v1.Prezzo; rvv1.PrezzoUnitario = v1.Prezzo; rvv1.Profilo = 0; rvv1.Quantita = 1; rvv1.Variante = v1; rvv1.Vendita = vendita; rvv1.Card = card; rvv1.Save(); if (v2 != null) { RigaVenditaVariante rvv2 = new RigaVenditaVariante(uow); rvv2.PrezzoTotale = v2.Prezzo; rvv2.PrezzoUnitario = v2.Prezzo; rvv2.Profilo = 0; rvv2.Quantita = 1; rvv2.Variante = v2; rvv2.Vendita = vendita; rvv2.Card = card; rvv2.Save(); } DateTime inizioVal = myFeData.InizioDateTime.Date; DateTime fineVal = inizioVal.AddDays(card.Giorni() - 1); Stampa stampa = new Stampa(uow); stampa.Vendita = vendita; stampa.InizioValidita = inizioVal; stampa.FineValidita = fineVal; stampa.Quantita = 1; stampa.ImportoTotale = totale; stampa.StatoStampa = 0; stampa.TipoStampa = EnumTipoStampa.CardInternet; stampa.Card = card; stampa.Save(); stampa.GeneraBarCode(postazione, ingressi); card.Status = EnumStatoCard.Emessa; card.Stampa = stampa; card.Save(); Stampa doppia = uow.FindObject <Stampa>(new BinaryOperator("BarCode", stampa.BarCode)); if (doppia != null) { stampa.GeneraBarCode(postazione, ingressi); doppia = uow.FindObject <Stampa>(new BinaryOperator("BarCode", stampa.BarCode)); if (doppia != null) { stampa.GeneraBarCode(postazione, ingressi); doppia = uow.FindObject <Stampa>(new BinaryOperator("BarCode", stampa.BarCode)); if (doppia != null) { stampa.GeneraBarCode(postazione, ingressi); } } } stampa.Save(); foreach (Ingresso ingresso in per.Ingressi) { RigaStampaIngresso rigaingresso = new RigaStampaIngresso(uow); rigaingresso.Ingresso = uow.GetObjectByKey <Ingresso>(ingresso.Oid); rigaingresso.Stampa = stampa; rigaingresso.TotalePersone = 1; rigaingresso.Save(); } uow.CommitChanges(); } }