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(); }
/// <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); }
/// <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); }
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; } }
/// <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); }
/// <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); }
public ColsRegisterRepertories(RegistroRepertorio regRep, RegistroRepertorioSingleSettings regRepSS) { this.regRep = regRep; this.regRepSS = regRepSS; }