Exemplo n.º 1
0
        protected void RepertoriChange_Click(object sender, EventArgs e)
        {
            if (Repertori != null && Repertori.Length != 0 && !String.IsNullOrEmpty(ddl_type_repertorio.SelectedValue))
            {
                RegistroRepertorio repertorio = Repertori.Where(rep => rep.CounterId.Equals(ddl_type_repertorio.SelectedValue)).FirstOrDefault();


                if (repertorio != null)
                {
                    RegistroRepertorioSettingsRequest request = new RegistroRepertorioSettingsRequest();
                    request.CounterId    = repertorio.CounterId;
                    request.TipologyKind = TipologyKind.D;

                    RegistroRepertorioSettingsResponse resp = new RegistroRepertorioSettingsResponse();
                    resp = WsInstance.GetRegisterSettings(request);

                    RegistroRepertorioSingleSettings r = resp.RegistroRepertorioSingleSettings;

                    ddl_rf_aoo.Items.Clear();
                    ddl_rf_aoo.Items.Add(new ListItem("Tutti", "TUTTI"));

                    int        num = 0;
                    Registro[] reg = WsInstance.GetRfByIdAmm(IdAmministrazione, "0");
                    if (reg != null && reg.Length > 0)
                    {
                        num = reg.Length;

                        for (int i = 0; i < reg.Length; i++)
                        {
                            string descrizione = "[" + reg[i].codice + "]" + " - " + reg[i].descrizione;
                            ddl_rf_aoo.Items.Add(descrizione);
                            ddl_rf_aoo.Items[i + 1].Value = reg[i].systemId;
                        }
                    }

                    Registro[] rf = WsInstance.GetRfByIdAmm(IdAmministrazione, "1");
                    if (rf != null && rf.Length > 0)
                    {
                        num = rf.Length + num;
                        int z = 0;
                        for (int y = reg.Length; y < num; y++, z++)
                        {
                            string descrizione = "[" + rf[z].codice + "]" + " - " + rf[z].descrizione;
                            ddl_rf_aoo.Items.Add(descrizione);
                            ddl_rf_aoo.Items[y + 1].Value = rf[z].systemId;
                        }
                    }
                }
            }
            else
            {
                ddl_rf_aoo.Items.Clear();
            }
            this.upRfAOO.Update();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Metodo per l'aggiornamento delle impostazioni relative ad un registro di repòertorio
        /// </summary>
        /// <param name="settings">Impostazioni da salvare</param>
        /// <param name="counterId">Id del contatore</param>
        /// <param name="validationResult">Eventuali errori di validazione, consultarli se il metodo restituisce false</param>
        public static bool SaveRegisterSettings(RegistroRepertorioSingleSettings settings, String counterId, TipologyKind tipologyKind, SettingsType settingsType, out ValidationResultInfo validationResult, String idAmm)
        {
            SaveRegistroRepertorioSettingsResponse response = _docsPaWS.SaveRegisterSettings(new SaveRegistroRepertorioSettingsRequest()
            {
                CounterId = counterId, Settings = settingsType, SettingsToSave = settings, TipologyKind = tipologyKind, IdAdmin = idAmm
            });

            validationResult = response.ValidationResult;

            return(response.SaveChangesResult);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Metodo per la validazione dei dati di un contatore di repertorio
        /// </summary>
        /// <param name="settings">Impostazioni da validare</param>
        /// <returns>Risultato della validazione</returns>
        public static ValidationResultInfo ValidateSettingsData(RegistroRepertorioSingleSettings settings)
        {
            ValidationResultInfo validation = new ValidationResultInfo();

            // La data di fine validità deve essere maggiore della data di oggi
            if (settings.DateAutomaticPrintFinish < DateTime.Now)
            {
                validation.Value = false;
                validation.BrokenRules.Add(new BrokenRule("1", "La data di fine validità deve essere la data di oggi o una data successiva", BrokenRule.BrokenRuleLevelEnum.Error));
            }

            // La data di fine validità deve essere maggiore della data di inizio validità
            if (settings.DateAutomaticPrintFinish < settings.DateAutomaticPrintStart)
            {
                validation.Value = false;
                validation.BrokenRules.Add(new BrokenRule("2", "La data di fine validità deve essere una data successiva a quella di inizio validità", BrokenRule.BrokenRuleLevelEnum.Error));
            }

            // L'intervallo di date deve essere compatibile con la frequenza di stampa (nell'intervallo deve capitare almeno una stampa)
            DateTime nextPrint = GetNextAutomaticPrintDate(new DateTime().GetMaxDate(settings.DateAutomaticPrintStart), settings.PrintFrequency);

            if (nextPrint > settings.DateAutomaticPrintFinish)
            {
                validation.Value = false;
                validation.BrokenRules.Add(new BrokenRule("3", String.Format("Il periodo temporale specificato non è compatibile con la frequenza di stampa. Specificare una data di fine validità pari o successiva a {0} oppure modificare, se possibile, la frequenza di stampa", nextPrint.ToString("dddd, dd MMMM yyyy")), BrokenRule.BrokenRuleLevelEnum.Error));
            }

            // Se è stata selezionata una frequenza di stampa diversa da N devono essere stato selezionato anche un responsabile di stampa
            // ed un utente di stampa
            if (settings.PrintFrequency != RegistroRepertorioSingleSettings.Frequency.N && (String.IsNullOrEmpty(settings.PrinterRoleRespId) || String.IsNullOrEmpty(settings.PrinterUserRespId)))
            {
                validation.Value = false;
                validation.BrokenRules.Add(new BrokenRule("4", "Per abilitare la stampa automatica è necessario selezionare un ruolo responsabile della stampa del registro di repertorio ed un utente che verrà utilizzato come utente creatore del documento", BrokenRule.BrokenRuleLevelEnum.Error));
            }

            // Restituzione del risultato della validazione
            return(validation);
        }
Exemplo n.º 4
0
        protected void ViewDetailsPolicy()
        {
            string idPolicy = Request.QueryString["id"].ToString();

            this.Policy        = WsInstance.GetPolicyById(idPolicy);
            this.txt_nome.Text = this.Policy.nome;

            this.lbl_dataCreazioneDa.txt_Data.Text = this.Policy.dataCreazioneDa;

            if (!string.IsNullOrEmpty(this.Policy.tipoDataCreazione))
            {
                this.ddl_dataCreazione_E.SelectedValue = this.Policy.tipoDataCreazione;

                if (this.Policy.tipoDataCreazione.Equals("2") || this.Policy.tipoDataCreazione.Equals("3") || this.Policy.tipoDataCreazione.Equals("4") || this.Policy.tipoDataCreazione.Equals("5"))
                {
                    this.lblDa.Visible = false;
                    this.lbl_dataCreazioneDa.Visible = false;
                    this.lblA.Visible = false;
                    this.lbl_dataCreazioneA.Visible = false;
                }
                else
                {
                    if (this.Policy.tipoDataCreazione.Equals("0"))
                    {
                        this.lblDa.Visible = true;
                        this.lbl_dataCreazioneDa.Visible       = true;
                        this.lbl_dataCreazioneDa.txt_Data.Text = this.Policy.dataCreazioneDa;

                        this.lblA.Visible = false;
                        this.lbl_dataCreazioneA.Visible       = false;
                        this.lbl_dataCreazioneA.txt_Data.Text = string.Empty;
                    }
                    if (this.Policy.tipoDataCreazione.Equals("1"))
                    {
                        this.lblDa.Visible = true;
                        this.lbl_dataCreazioneDa.Visible       = true;
                        this.lbl_dataCreazioneDa.txt_Data.Text = this.Policy.dataCreazioneDa;
                        if (!string.IsNullOrEmpty(this.Policy.dataCreazioneA))
                        {
                            this.lblA.Visible = true;
                            this.lbl_dataCreazioneA.Visible       = true;
                            this.lbl_dataCreazioneA.txt_Data.Text = this.Policy.dataCreazioneA;
                        }
                    }
                }
            }

            this.rbl_tipo.SelectedValue = this.Policy.tipo;

            if (this.Policy.tipo.Equals("C"))
            {
                GetTypeRegistries();
                this.ddl_rf_aoo.Enabled          = true;
                this.ddl_type_repertorio.Enabled = true;

                if (!string.IsNullOrEmpty(this.Policy.idTemplate))
                {
                    this.ddl_type_repertorio.SelectedValue = this.Policy.idTemplate;

                    if (Repertori != null && Repertori.Length != 0 && !String.IsNullOrEmpty(ddl_type_repertorio.SelectedValue))
                    {
                        RegistroRepertorio repertorio = Repertori.Where(rep => rep.CounterId.Equals(ddl_type_repertorio.SelectedValue)).FirstOrDefault();


                        if (repertorio != null)
                        {
                            RegistroRepertorioSettingsRequest request = new RegistroRepertorioSettingsRequest();
                            request.CounterId    = repertorio.CounterId;
                            request.TipologyKind = TipologyKind.D;

                            RegistroRepertorioSettingsResponse resp = new RegistroRepertorioSettingsResponse();
                            resp = WsInstance.GetRegisterSettings(request);

                            RegistroRepertorioSingleSettings r = resp.RegistroRepertorioSingleSettings;

                            ddl_rf_aoo.Items.Clear();
                            ddl_rf_aoo.Items.Add(new ListItem("Tutti", "TUTTI"));

                            int        num = 0;
                            Registro[] reg = WsInstance.GetRfByIdAmm(IdAmministrazione, "0");
                            if (reg != null && reg.Length > 0)
                            {
                                num = reg.Length;

                                for (int i = 0; i < reg.Length; i++)
                                {
                                    string descrizione = "[" + reg[i].codice + "]" + " - " + reg[i].descrizione;
                                    ddl_rf_aoo.Items.Add(descrizione);
                                    ddl_rf_aoo.Items[i + 1].Value = reg[i].systemId;
                                }
                            }

                            Registro[] rf = WsInstance.GetRfByIdAmm(IdAmministrazione, "1");
                            if (rf != null && rf.Length > 0)
                            {
                                num = rf.Length + num;
                                int z = 0;
                                for (int y = reg.Length; y < num; y++, z++)
                                {
                                    string descrizione = "[" + rf[z].codice + "]" + " - " + rf[z].descrizione;
                                    ddl_rf_aoo.Items.Add(descrizione);
                                    ddl_rf_aoo.Items[y + 1].Value = rf[z].systemId;
                                }
                            }
                        }
                    }
                    else
                    {
                        ddl_rf_aoo.Items.Clear();
                    }


                    if (!string.IsNullOrEmpty(this.Policy.idRf))
                    {
                        this.ddl_rf_aoo.SelectedValue = this.Policy.idRf;
                    }
                }
            }
            else
            {
                this.ddl_rf_aoo.Enabled          = false;
                this.ddl_type_repertorio.Enabled = false;
            }
        }
Exemplo n.º 5
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);
        }
Exemplo n.º 6
0
 /// <summary>
 /// Metodo utilizzato per decidere se abilitare le caselle di testo con le dati di inizio e fine validità
 /// </summary>
 /// <param name="settings">Impostazioni in base a cui decidere se abilitare o meno la casella di testo della data</param>
 /// <returns>True se bisogna visualizzarle attive</returns>
 protected bool EnableDateTextBox(RegistroRepertorioSingleSettings settings)
 {
     return(settings.PrintFrequency != Frequency.N);
 }
Exemplo n.º 7
0
 public ColsRegisterRepertories(RegistroRepertorio regRep, RegistroRepertorioSingleSettings regRepSS)
 {
     this.regRep   = regRep;
     this.regRepSS = regRepSS;
 }