예제 #1
0
        public void infosFisseRepositoryTest()
        {
            LumenApplication.Instance.avvia();

            using (new UnitOfWorkScope()) {
                IEntityRepositorySrv <InfoFissa> repo = LumenApplication.Instance.creaServizio <IEntityRepositorySrv <InfoFissa> >();
                repo.start();

                // -- carico anche le informazioni fisse che possono essere modificate
                InfoFissa infoFissa = repo.getById("K");

                infoFissa.varie = DateTime.Now.ToString();

                repo.update(ref infoFissa);
            }
            LumenApplication.Instance.ferma();
        }
예제 #2
0
        private void creaAlcuniDatiDiDefault()
        {
            // Devo creare un fotografo pre-stabilito per assegnare le foto modificate con GIMP
            IEntityRepositorySrv <Fotografo> repo = LumenApplication.Instance.getServizioAvviato <IEntityRepositorySrv <Fotografo> >();
            Fotografo artista = repo.getById(Configurazione.ID_FOTOGRAFO_DEFAULT);

            if (artista == null)
            {
                artista             = new Fotografo();
                artista.id          = Configurazione.ID_FOTOGRAFO_DEFAULT;
                artista.umano       = true;
                artista.attivo      = true;
                artista.cognomeNome = artista.id;
                artista.iniziali    = "XY";
                artista.note        = "default operator";
                repo.addNew(artista);
                repo.saveChanges();
            }
        }
        /** Quando ho finito di scaricar le foto, aggiorno il totale in apposita tabella */
        private void incrementaTotaleFotoScaricate(DateTime tempoScarico)
        {
            // Per gli onride, non sto a memorizzare gli scarichi (sarebbero migliaia di record da una singola unità
            if (_fotografo.umano == false)
            {
                return;
            }

            _giornale.Debug("Inizio incrementaTotaleFotoScaricate()");
            ScaricoCard scaricoCard = new ScaricoCard();

            scaricoCard.id      = Guid.NewGuid();
            scaricoCard.totFoto = (short)numeroFotoAcquisite;

            scaricoCard.fotografo = this._fotografo;
            scaricoCard.tempo     = tempoScarico;          // Deve essere uguale al tempo indicato sulla fotografia
            scaricoCard.giornata  = LumenApplication.Instance.stato.giornataLavorativa;

            IEntityRepositorySrv <ScaricoCard> erep = LumenApplication.Instance.getServizioAvviato <IEntityRepositorySrv <ScaricoCard> >();

            erep.addNew(scaricoCard);
            erep.saveChanges();
            _giornale.Debug("Fine incrementaTotaleFotoScaricate()");
        }
예제 #4
0
        /// <summary>
        /// Carico lo stato dei metadati prendendolo dalle foto selezionate
        /// </summary>
        protected void caricareStatoMetadati()
        {
            bool   didascalieDiscordanti = false;
            string didascaliaNew         = null;

            bool   eventiDiscordanti = false;
            Guid?  eventoIdNew       = null;       // Non posso usare l'oggetto "Evento" perché entity framework sulle entità non idratate mi torna null anche se non è vero :-(
            Evento eventoNew         = null;

            bool  fasiDelGiornoDiscordanti = false;
            short?faseDelGiornoNew         = null;

            IEnumerator <Fotografia> itera = getEnumeratorElementiSelezionati();
            int conta = 0;

            while (itera.MoveNext())
            {
                Fotografia f = itera.Current;
                ++conta;

                // -- didascalia

                if (String.IsNullOrWhiteSpace(f.didascalia))
                {
                    if (didascaliaNew != null)
                    {
                        didascalieDiscordanti = true;
                    }
                }
                else
                {
                    if (f.didascalia != didascaliaNew && conta > 1)
                    {
                        didascalieDiscordanti = true;
                    }
                }
                didascaliaNew = String.IsNullOrWhiteSpace(f.didascalia) ? null : f.didascalia;

                // -- evento

                if (f.evento_id == null)
                {
                    if (eventoIdNew != null)
                    {
                        eventiDiscordanti = true;
                    }
                }
                else
                {
                    if (f.evento_id != eventoIdNew && conta > 1)
                    {
                        eventiDiscordanti = true;
                    }
                }
                eventoIdNew = f.evento_id;
                if (f.evento != null)
                {
                    eventoNew = f.evento;                      // Se la foto è staccata, questo è null (mentre il suo ID è valorizzato)
                }
                // -- fase del giorno

                if (f.faseDelGiorno == null)
                {
                    if (faseDelGiornoNew != null)
                    {
                        fasiDelGiornoDiscordanti = true;
                    }
                }
                else
                {
                    if (f.faseDelGiorno != faseDelGiornoNew && conta > 1)
                    {
                        fasiDelGiornoDiscordanti = true;
                    }
                }
                faseDelGiornoNew = f.faseDelGiorno;
            }


            // -- ora travaso i dati che sono concordanti
            MetadatiFoto metadatiNew = new MetadatiFoto();


            if (didascalieDiscordanti)
            {
                metadatiNew.didascalia    = null;
                metadatiNew.usoDidascalia = false;
            }
            else
            {
                metadatiNew.didascalia    = String.IsNullOrWhiteSpace(didascaliaNew) ? null : didascaliaNew;
                metadatiNew.usoDidascalia = (metadatiNew.didascalia != null);
            }

            if (eventiDiscordanti)
            {
                metadatiNew.evento    = null;
                metadatiNew.usoEvento = false;
            }
            else
            {
                if (eventoIdNew != null)
                {
                    if (eventoNew == null)
                    {
                        // L'oggetto era staccato. Lo rileggo
                        // Devo ricaricare l'oggetto evento dall'ID
                        IEntityRepositorySrv <Evento> repo = LumenApplication.Instance.getServizioAvviato <IEntityRepositorySrv <Evento> >();
                        metadatiNew.evento = repo.getById(eventoIdNew);
                    }
                    else
                    {
                        metadatiNew.evento = eventoNew;
                    }
                }
                metadatiNew.usoEvento = (metadatiNew.evento != null);
            }
            selettoreEventoViewModel.eventoSelezionato = metadatiNew.evento;              // ribalto questo valore nel vm del componente perché è li che sta il valore buono

            if (fasiDelGiornoDiscordanti)
            {
                metadatiNew.faseDelGiorno    = null;
                metadatiNew.usoFaseDelGiorno = false;
            }
            else
            {
                if (faseDelGiornoNew != null)
                {
                    metadatiNew.faseDelGiorno = FaseDelGiornoUtil.getFaseDelGiorno((short)faseDelGiornoNew);
                }
                metadatiNew.usoFaseDelGiorno = (metadatiNew.faseDelGiorno != null);
            }

            this.metadati = metadatiNew;
        }