public XPCollection <Struttura> GetMioElencoStrutture(UnitOfWork uow, Postazione postazione) { if (Amministratore) { XPCollection <Struttura> tutte = new XPCollection <Struttura>(uow); tutte.Sorting = new SortingCollection(new SortProperty[] { new SortProperty("Descrizione", DevExpress.Xpo.DB.SortingDirection.Ascending) }); return(tutte); } else { if (Autorizzato(OperazioneRiepiloghi)) { XPCollection <Struttura> soggetto = new XPCollection <Struttura>(uow); soggetto.Criteria = new BinaryOperator("SoggettoEconomico.Oid", SoggettoEconomico.Oid); soggetto.Sorting = new SortingCollection(new SortProperty[] { new SortProperty("Descrizione", DevExpress.Xpo.DB.SortingDirection.Ascending) }); return(soggetto); } else { XPCollection <Struttura> soggetto = new XPCollection <Struttura>(uow); soggetto.Criteria = new BinaryOperator("Oid", postazione.Ingresso.Struttura.Oid); soggetto.Sorting = new SortingCollection(new SortProperty[] { new SortProperty("Descrizione", DevExpress.Xpo.DB.SortingDirection.Ascending) }); return(soggetto); } } }
public XPCollection <Ingresso> GetMioElencoIngressi(UnitOfWork uow, Postazione postazione) { XPCollection <Ingresso> tutte = new XPCollection <Ingresso>(uow); tutte.Sorting = new SortingCollection(new SortProperty[] { new SortProperty("Descrizione", DevExpress.Xpo.DB.SortingDirection.Ascending) }); if (Amministratore) { return(tutte); } else { if (Autorizzato(OperazioneRiepiloghi)) { XPCollection <Ingresso> soggetto = new XPCollection <Ingresso>(uow); soggetto.Criteria = new GroupOperator(GroupOperatorType.Or); soggetto.Sorting = new SortingCollection(new SortProperty[] { new SortProperty("Descrizione", DevExpress.Xpo.DB.SortingDirection.Ascending) }); foreach (Ingresso item in tutte) { if (item.SoggettoEconomico.Oid == this.SoggettoEconomico.Oid) { (soggetto.Criteria as GroupOperator).Operands.Add(new BinaryOperator("Oid", item.Oid)); } } if ((soggetto.Criteria as GroupOperator).Operands.Count == 0) { (soggetto.Criteria as GroupOperator).Operands.Add(new NullOperator("Oid")); } return(soggetto); } else { XPCollection <Ingresso> soggetto = new XPCollection <Ingresso>(uow); soggetto.Criteria = new GroupOperator(GroupOperatorType.Or); soggetto.Sorting = new SortingCollection(new SortProperty[] { new SortProperty("Descrizione", DevExpress.Xpo.DB.SortingDirection.Ascending) }); foreach (Ingresso item in tutte) { foreach (var ping in postazione.Ingressi) { if (item.Oid == ping.Ingresso.Oid) { (soggetto.Criteria as GroupOperator).Operands.Add(new BinaryOperator("Oid", item.Oid)); } } } if ((soggetto.Criteria as GroupOperator).Operands.Count == 0) { (soggetto.Criteria as GroupOperator).Operands.Add(new NullOperator("Oid")); } return(soggetto); } } }
public void GeneraBarCode(Postazione postazione, List <Ingresso> ingressi) { bool castello = false; foreach (Ingresso riga in ingressi) { if (riga.IntestazioneStampa == "C") { castello = true; } } if (castello) { BarCode = CreaBarCode12(postazione); } else { BarCode = string.Empty; for (int i = 0; i < 8; i++) { BarCode += m_alfabeto[m_rnd.Next(m_alfabeto.Length)]; } BarCode = string.Format("{0:0}{1:00}{2}", (Vendita.DataContabile.Year - 2000) % 10, postazione.CodiceUnivoco, BarCode); } if (m_ProgressivoMinimo == 0) { // cerca progressivo int anno = Vendita.DataContabile.Year; int dbMinimo = 0; var ret = this.Session.ExecuteScalar(@"select max(NumeroProgressivo) from Stampa inner join Vendita on Stampa.Vendita=Vendita.Oid where year(Vendita.DataContabile)=@anno and Vendita.Postazione=@postazione", new string[] { @"anno", @"postazione" }, new object[] { anno, postazione.Oid }); if (ret != null) { dbMinimo = (int)ret; } NumeroProgressivo = Math.Max(dbMinimo + 1, m_ProgressivoMinimo + 1); } else { NumeroProgressivo = m_ProgressivoMinimo + 1; } CodiceProgressivo = string.Format("{0:00}{1:00}{2:000000}", Vendita.DataContabile.Year - 2000, postazione.CodiceUnivoco, NumeroProgressivo); m_ProgressivoMinimo = NumeroProgressivo; }
public XPCollection <Postazione> GetMioElencoPostazioni(UnitOfWork uow, Postazione postazione) { XPCollection <Postazione> tutte = new XPCollection <Postazione>(uow, new BinaryOperator("Tipologia", EnumTipologiaPostazione.Attiva)); tutte.Sorting = new SortingCollection(new SortProperty[] { new SortProperty("CodiceUnivoco", DevExpress.Xpo.DB.SortingDirection.Ascending) }); if (Amministratore) { return(tutte); } else { if (Autorizzato(OperazioneRiepiloghi)) { // utente amministratrivo // elenco postazioni formato da tutte le POSTAZIONI che hanno lo stesso SOGGETTOECONOMICO dell'utente attuale XPCollection <Postazione> soggetto = new XPCollection <Postazione>(uow); soggetto.Criteria = new GroupOperator(GroupOperatorType.Or); soggetto.Sorting = new SortingCollection(new SortProperty[] { new SortProperty("CodiceUnivoco", DevExpress.Xpo.DB.SortingDirection.Ascending) }); foreach (Postazione item in tutte) { if (item.Struttura.SoggettoEconomico.Oid == this.SoggettoEconomico.Oid) { (soggetto.Criteria as GroupOperator).Operands.Add(new BinaryOperator("Oid", item.Oid)); } } return(soggetto); } else { // utente standard: // il mio elenco postazioni è composto da tutte le POSTAZIONI che hanno la stessa STRUTTURA della postazione in uso XPCollection <Postazione> soggetto = new XPCollection <Postazione>(uow); soggetto.Criteria = new GroupOperator(GroupOperatorType.Or); soggetto.Sorting = new SortingCollection(new SortProperty[] { new SortProperty("CodiceUnivoco", DevExpress.Xpo.DB.SortingDirection.Ascending) }); foreach (Postazione item in tutte) { if (item.Struttura.Oid == postazione.Struttura.Oid) { (soggetto.Criteria as GroupOperator).Operands.Add(new BinaryOperator("Oid", item.Oid)); } } return(soggetto); } } }
private string CreaBarCode12(Postazione postazione) { // Codice a barre: // postazione: xx ,2 // anno: x ,1 // random: xxxxxx ,6 // controllo: x ,1 // numero giri tornello: xx ,2 //if (RigaBasket == null) return false; //if (RigaBasket.Basket == null) return false; //if (RigaBasket.Basket.Postazione == null) return false; int anno = Vendita.DataContabile.Year - 2000; string random = GetRandom(8); //string bc1 = "00000" + postazione.CodiceUnivoco; //bc1 = bc1.Substring(bc1.Length - 2, 2); string bc2 = "00000" + anno; bc2 = bc2.Substring(bc2.Length - 1, 1); string bc3 = "00000" + Quantita; bc3 = bc3.Substring(bc3.Length - 2, 2); random = bc2 + bc3 + random; string check = Check1(random); random = random + check; if (random.Length == 12) { return(random); } else { throw new Exception("Calcolo BarCode12 ERRATO!"); } }