Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        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);
                }
            }
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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);
                }
            }
        }
Beispiel #5
0
        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!");
            }
        }