/// <summary> /// /// </summary> /// <param name="rule"></param> /// <returns></returns> protected override bool IsDirtyDependentFields(BaseRuleInfo rule) { bool isDirty = base.IsDirtyDependentFields(rule); if (!isDirty) { // Verifica se, per la causa, è stato modificato il valore del campo sopensione feriale dei termini // rispetto alla versione precedente del profilo FieldStateTypesEnum stateSospensioneFeriale = this.GetFieldState(Fields.SOSPENSIONE_FERIALE, rule); isDirty = (stateSospensioneFeriale != FieldStateTypesEnum.Unchanged); } if (!isDirty) { // Verifica se sono stati modificati i campi i cui valori sono // visualizzati come oggetto e body del messaggio di posta / iCal // Campi dell'oggetto isDirty = this.GetFieldState(Fields.RESISTENTE_CONVENUTO, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.RICORRENTE_ATTORE, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.NUMERO_ORDINE, rule) != FieldStateTypesEnum.Unchanged; // Campi del body if (!isDirty) { isDirty = this.GetFieldState(Fields.GIUDIZIO_DI, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.CONTRO_INTERESSATO_TERZO_CHIAMATO, rule) != FieldStateTypesEnum.Unchanged; } } return(isDirty); }
/// <summary> /// /// </summary> /// <param name="rule"></param> /// <returns></returns> protected override bool IsDirtyDependentFields(BaseRuleInfo rule) { bool isDirty = base.IsDirtyDependentFields(rule); if (!isDirty) { // Verifica se, per la causa, è stato modificato il valore del campo sopensione feriale dei termini // rispetto alla versione precedente del profilo FieldStateTypesEnum stateSospensioneFeriale = this.GetFieldState(Fields.SOSPENSIONE_FERIALE, rule); isDirty = (stateSospensioneFeriale != FieldStateTypesEnum.Unchanged); } if (!isDirty) { // Verifica se, per la causa, è stato modificato il valore del campo "Termine per l'appello" // rispetto alla versione precedente del profilo FieldStateTypesEnum stateTermineAppello = this.GetFieldState(Fields.TERMINE_APPELLO, rule); isDirty = (stateTermineAppello != FieldStateTypesEnum.Unchanged); } if (!isDirty) { // Verifica se sono stati modificati i campi i cui valori sono // visualizzati come oggetto e body del messaggio di posta / iCal // Campi dell'oggetto isDirty = this.GetFieldState(Fields.IMPUTATO_I, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.IMPUTATO_II, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.NUMERO_ORDINE, rule) != FieldStateTypesEnum.Unchanged; // Campi del body if (!isDirty) { isDirty = this.GetFieldState(CommonFields.AUTORITA_GIUDIZIARIA, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(CommonFields.COMPETENZA_TERRITORIALE, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.RUOLO_GENERALE_NOTIZIE_REATO, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.PUBBLICO_MINISTERO, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.RUOLO_GENERALE_GIP_GUP, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.IMPUTATO_I, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.AVVOCATO_IMPUTATO_I, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.IMPUTATO_II, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.AVVOCATO_IMPUTATO_II, rule) != FieldStateTypesEnum.Unchanged; } } return(isDirty); }
/// <summary> /// Reperimento dello stato di modifica di un campo /// </summary> /// <param name="actualProperty"></param> /// <param name="oldProperty"></param> /// <returns></returns> protected virtual FieldStateTypesEnum GetFieldState(Property actualProperty, Property oldProperty) { FieldStateTypesEnum state = FieldStateTypesEnum.Unchanged; if (actualProperty == null && oldProperty != null) { state = FieldStateTypesEnum.Removed; } else if (actualProperty != null && oldProperty == null) { state = FieldStateTypesEnum.Inserted; } else if (actualProperty != null && oldProperty != null && actualProperty.Value != null && oldProperty.Value != null) { if (actualProperty.Type == PropertyTypesEnum.Date && oldProperty.Type == PropertyTypesEnum.Date) { DateTime d1; DateTime.TryParse(actualProperty.Value.ToString(), out d1); DateTime d2; DateTime.TryParse(oldProperty.Value.ToString(), out d2); if (DateTime.Compare(d1, d2) != 0) { state = FieldStateTypesEnum.Changed; } } else { // Il legale è stato modificato, è necessario inviare la cancellazione di tutti gli appuntamenti // in precedenza inviato al vecchio legale if (string.Compare(actualProperty.Value.ToString(), oldProperty.Value.ToString(), true) != 0) { state = FieldStateTypesEnum.Changed; } } } return(state); }
/// <summary> /// /// </summary> /// <param name="rule"></param> /// <returns></returns> protected override bool IsDirtyDependentFields(BaseRuleInfo rule) { bool isDirty = base.IsDirtyDependentFields(rule); if (!isDirty) { // Verifica se il campo tipologia è stato modificato FieldStateTypesEnum tipologiaFieldState = this.GetFieldState(Fields.TIPOLOGIA, rule); isDirty = (tipologiaFieldState != FieldStateTypesEnum.Unchanged); } if (!isDirty) { // Verifica se sono stati modificati i campi i cui valori sono // visualizzati come oggetto e body del messaggio di posta / iCal // Campi dell'oggetto isDirty = this.GetFieldState(Fields.FALLITO, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.NUMERO_ORDINE, rule) != FieldStateTypesEnum.Unchanged; // Campi del body if (!isDirty) { isDirty = this.GetFieldState(CommonFields.AUTORITA_GIUDIZIARIA, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(CommonFields.COMPETENZA_TERRITORIALE, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.FALLITO, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.NUMERO_FALLIMENTO, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.CURATORE, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(Fields.GIUDICE_DELEGATO, rule) != FieldStateTypesEnum.Unchanged; } } return(isDirty); }
/// <summary> /// /// </summary> /// <param name="rule"></param> /// <returns></returns> protected override bool IsDirtyDependentFields(BaseRuleInfo rule) { bool isDirty = base.IsDirtyDependentFields(rule); if (!isDirty) { // Verifica se, per la causa, è stato modificato il valore del campo sopensione feriale dei termini // rispetto alla versione precedente del profilo FieldStateTypesEnum stateSospensioneFeriale = this.GetFieldState(FIELD_SOSPENSIONE_FERIALE, rule); isDirty = (stateSospensioneFeriale == FieldStateTypesEnum.Changed); } if (!isDirty) { // Verifica se, per la causa, è stato modificato il valore del campo "Termine per l'appello". // Tale campo può avere valore di 6 mesi o 12 mesi e determina la decorrenza // temporale per la presentazione dell'appello per la regola "SCADENZA_PRESENTAZIONE_APPELLO" // legata al campo "Data pubblicazione sentenza" if (rule.GetType() == typeof(SubRuleInfo)) { if (this.AreEquals(((SubRuleInfo)rule).SubRuleName, SUBRULE_NAME_SCADENZA_PRESENTAZIONE_APPELLO) || this.AreEquals(((SubRuleInfo)rule).SubRuleName, SUBRULE_NAME_REMINDER_SCADENZA_PRESENTAZIONE_APPELLO)) { // Determina lo stato del campo Termine per l'appello FieldStateTypesEnum stateTermineAppello = this.GetFieldState(FIELD_TERMINE_APPELLO, rule); isDirty = (stateTermineAppello == FieldStateTypesEnum.Changed); } if (!isDirty) { if (this.AreEquals(((SubRuleInfo)rule).SubRuleName, SUBRULE_NAME_SCADENZA_PRESENTAZIONE_APPELLO_CON_DECADIMENTO) || this.AreEquals(((SubRuleInfo)rule).SubRuleName, SUBRULE_NAME_REMINDER_SCADENZA_PRESENTAZIONE_APPELLO_CON_DECADIMENTO)) { // Determina lo stato del campo Termine per l'impugnazione FieldStateTypesEnum stateTermineImpugnazione = this.GetFieldState(FIELD_TERMINE_IMPUGNAZIONE, rule); isDirty = (stateTermineImpugnazione == FieldStateTypesEnum.Changed); } } } } if (!isDirty) { // Verifica se sono stati modificati i campi i cui valori sono // visualizzati come oggetto e body del messaggio di posta / iCal // Campi dell'oggetto isDirty = this.GetFieldState(FIELD_RICORRENTE_ATTORE, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(FIELD_RESISTENTE_CONVENUTO, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(FIELD_NUMERO_ORDINE, rule) != FieldStateTypesEnum.Unchanged; // Campi del body if (!isDirty) { isDirty = this.GetFieldState(CommonFields.AUTORITA_GIUDIZIARIA, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(CommonFields.COMPETENZA_TERRITORIALE, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(FIELD_RUOLO_GENERALE, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(FIELD_GIUDICE, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(FIELD_RICORRENTE_ATTORE, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(FIELD_AVVOCATO_RICORRENTE_ATTORE, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(FIELD_RESISTENTE_CONVENUTO, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(FIELD_AVVOCATO_RESISTENTE_CONVENUTO, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(FIELD_CONTRO_INTERESSATO_TERZO_CHIAMATO, rule) != FieldStateTypesEnum.Unchanged || this.GetFieldState(FIELD_AVVOCATO_CONTRO_INTERESSATO_TERZO_CHIAMATO, rule) != FieldStateTypesEnum.Unchanged; } } return(isDirty); }