Exemple #1
0
        /// <summary>
        /// Metodo per la verifica delle condizioni per l'avvio di una stampa. Attualmente le condizioni sono che
        /// il registro sia chiuso e che ci siano numeri da stampare.
        /// </summary>
        /// <param name="counterId"></param>
        /// <param name="registryId"></param>
        /// <param name="rfId"></param>
        /// <param name="checkError"></param>
        /// <returns>False se almeno una delle condizioni fallisce</returns>
        public bool CheckPrintCondition(String counterId, String registryId, String rfId /*, out String lastPrintedNumber, out String lastNumberToPrint*/, out String checkError)
        {
            // Il repertorio deve essere chiuso
            RegistriRepertorioPrintManager manager = new RegistriRepertorioPrintManager();

            RegistroRepertorioSingleSettings.RepertorioState state = manager.GetState(counterId, registryId, rfId);//, out lastPrintedNumber, out lastNumberToPrint);

            // Ci potrebbero essere dei documenti repertoriati modificati dopo l'ultima stampa
            //bool modified = manager.ExistsModifiedDocsAfterLastPrint(counterId, registryId, rfId);

            bool retVal = true;

            checkError = String.Empty;
            if (state == RegistroRepertorioSingleSettings.RepertorioState.O)
            {
                retVal     = false;
                checkError = "Il registro di repertorio deve essere chiuso";
            }
            else
            // Se l'ultimo numero stampato è uguale all'ultimo numero staccato e se non
            // esistono documenti modificati dopo la data dell'ultima stampa, significa che non
            // ci sono documenti da stampare
            //if ((lastPrintedNumber == lastNumberToPrint)) /*&& !modified)*/
            if (!manager.ExistsRepertoriToPrint(counterId, registryId, rfId))
            {
                retVal     = false;
                checkError = "Non ci sono repertori da stampare";
            }

            return(retVal);
        }
Exemple #2
0
        /// <summary>
        /// Metodo per il cambio dello stato di un repertorio
        /// </summary>
        /// <param name="counterId"></param>
        /// <param name="registryId"></param>
        /// <param name="rfId"></param>
        /// <param name="idAmm"></param>
        /// <returns></returns>
        public static bool ChangeRepertorioState(String counterId, String registryId, String rfId, String idAmm)
        {
            bool retVal = true;

            DocsPaDB.Query_DocsPAWS.RegistriRepertorioPrintManager manager = new DocsPaDB.Query_DocsPAWS.RegistriRepertorioPrintManager();

            //String lastPrintedNumber, lastNumberToPrint;
            // Recupero dello stato attuale del contatore
            RegistroRepertorioSingleSettings.RepertorioState state = manager.GetState(counterId, registryId, rfId);//, out lastPrintedNumber, out lastNumberToPrint);

            // Recupero dell'id della tipologia associata al contatore
            String tipology = manager.GetCounterTypology(counterId);

            // Cambio dello stato
            if (state == RegistroRepertorioSingleSettings.RepertorioState.O)
            {
                state = RegistroRepertorioSingleSettings.RepertorioState.C;
            }
            else
            {
                state = RegistroRepertorioSingleSettings.RepertorioState.O;
            }

            // Salvataggio del nuovo stato e sospensione / attivazione della tipologia
            Templates template = new Templates()
            {
                SYSTEM_ID = Convert.ToInt32(tipology)
            };

            using (DocsPaDB.TransactionContext transactionContext = new DocsPaDB.TransactionContext())
            {
                // Salvataggio nuovo stato del registro
                retVal = manager.SaveCounterState(counterId, rfId, registryId, state);

                // Abilitazione / disabilitazione tipologia
                if (state == RegistroRepertorioSingleSettings.RepertorioState.O)
                {
                    template.IN_ESERCIZIO = "NO";
                }
                else
                {
                    template.IN_ESERCIZIO = "SI";
                }

                ProfilazioneDocumenti.messaInEsercizioTemplate(template, idAmm);

                transactionContext.Complete();
            }

            return(retVal);
        }
Exemple #3
0
        /// <summary>
        /// Metodo per l'aggiornamento delle impostazioni relative ad una particolare istanza di contatore
        /// </summary>
        /// <param name="counterId">Id del contatore da salvare</param>
        /// <param name="tipologyKind"></param>
        /// <param name="settingsType">Tipologia di impostazioni richiesta (Singola o Globale)</param>
        /// <param name="settings">Impostazioni da salvare</param>
        /// <param name="idAmm">Id dell'amministrazione</param>
        /// <param name="validationResult">Risultato della validazione delle impostazioni</param>
        /// <returns>Esito dell'operazione di aggiornamento</returns>
        public static bool SaveRegisterSettings(String counterId, RegistroRepertorio.SettingsType settingsType, RegistroRepertorio.TipologyKind tipologyKind, RegistroRepertorioSingleSettings settings, String idAmm, out ValidationResultInfo validationResult)
        {
            bool retVal = true;
            ValidationResultInfo validation = new ValidationResultInfo();

            // Prima di proseguire, validazione dei dati se è stata impostata una frequenza di stampa diversa da N
            if (settings.PrintFrequency != RegistroRepertorioSingleSettings.Frequency.N)
            {
                validation = ValidateSettingsData(settings);
                retVal     = validation.Value;
            }

            // Se la validazione è passata, salvataggio dei dati
            if (validation.Value)
            {
                // Calcolo della data prevista per la prossima stampa
                settings.DateNextAutomaticPrint = GetNextAutomaticPrintDate(DateTime.Now.GetMaxDate(settings.DateAutomaticPrintStart), settings.PrintFrequency);

                DocsPaDB.Query_DocsPAWS.RegistriRepertorioPrintManager manager = new DocsPaDB.Query_DocsPAWS.RegistriRepertorioPrintManager();

                // Recupero dello stato del repertorio prima di modificare
                //String lastPrintedNumber, lastNumberToPrint;
                RegistroRepertorioSingleSettings.RepertorioState state = manager.GetState(counterId, settings.RegistryId, settings.RFId);//, out lastPrintedNumber, out lastNumberToPrint);

                // Se è cambiato lo stato, viene cambiato lo stato del repertorio
                if (state != settings.CounterState)
                {
                    ChangeRepertorioState(counterId, settings.RegistryId, settings.RFId, idAmm);
                }

                retVal = manager.SaveRegisterSettings(counterId, settingsType, tipologyKind, settings);
            }

            validationResult = validation;
            return(retVal);
        }