public override void OnException(ExceptionContext filterContext) { if (filterContext.ExceptionHandled) { return; } var validationContainer = new ValidationContainer(); filterContext.ExceptionHandled = true; var exceptionName = filterContext.Exception.GetType().Name; string exceptionMessage; if (DefinedException.Contains(exceptionName)) { exceptionMessage = filterContext.Exception.Message; } else { exceptionMessage = "We intentionally allowed to not catch exception to track the root causes. Please note down the steps and include following details in the bug.</br>" + "</br></br>Exception Message: " + filterContext.Exception; } validationContainer.AddMessage(MessageType.Error, exceptionMessage); filterContext.Result = new JsonResult { Data = validationContainer, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; }
private void InitializeValidation() { var builder = new ValidationConfigurationBuilder(); ConfigureValidation(builder); _validationContainer = builder.BuildContainer(ErrorsChanged, this); }
public ValidationContainer <T> Build() { var propertyValidations = _rulesBuilders.Select(f => f.BuildValidation()).ToList(); var container = new ValidationContainer <T>(_viewModel, propertyValidations); return(container); }
public Task InitializeAsync(params object[] initParams) { var configBuilder = new ValidationConfigurationBuilder <T>(this); _container = ConfigureValidation(configBuilder); return(OnInitializeAsync(initParams)); }
/// <summary> /// Inizializzazione maschera di ricerca /// </summary> /// <param name="validationContainer"></param> public void Initialize(ValidationContainer validationContainer) { this._validationContainer = validationContainer; if (this._validationContainer == null) { throw new ApplicationException("Parametro 'validationContainer' non fornito"); } }
internal ValidationContainer BuildContainer( EventHandler <DataErrorsChangedEventArgs> errorsChanged, ViewModelWithValidation viewModel) { var propertyValidations = _validationConfiguration.BuildPropertyValidations(); var result = new ValidationContainer(propertyValidations, errorsChanged, viewModel); return(result); }
public ValidatedTextBox() { DefaultStyleKey = typeof(ValidatedTextBox); Loaded += delegate { ValidationContainer.Register(this); Validate(); }; }
public void RootSharesWithContainer() { //there's not really anything i can do with a container.. //i need the scope ValidationContainer toTest = ValidationContainer.CreateValidationContainer(); IValidationContainer scoped = toTest.Scope("abc"); scoped.AddValidation(new Validation("test", ValidationSeverity.Confirm, "hello")); Assert.Contains(toTest.Validations, t => t.Key.Equals("abc.test")); }
public void OverrideExistingValidation_ResolveTrue() { ValidationContainer toTest = ValidationContainer.CreateValidationContainer(); var c = toTest.Scope("one"); c.AddValidation(new Validation("test", ValidationSeverity.Confirm, "hello")); c.AddOverride("test", "hello", "asdf"); Assert.True(c.ResolveValidations()); }
public void ValidationWithNoOverrid_ResolveFalse() { ValidationContainer toTest = ValidationContainer.CreateValidationContainer(); var c = toTest.Scope("one"); c.AddValidation(new Validation("test", ValidationSeverity.Confirm, "hello")); Assert.False(c.ResolveValidations()); }
public void ScopesDontCollide() { ValidationContainer toTest = ValidationContainer.CreateValidationContainer(); toTest.Scope("one").AddValidation(new Validation("test", ValidationSeverity.Confirm, "hello")); toTest.ScopeToRoot().Scope("two").AddValidation(new Validation("test", ValidationSeverity.Confirm, "bye")); toTest.ScopeToRoot(); Assert.Contains(toTest.Validations, t => t.Key.Equals("one.test")); Assert.Contains(toTest.Validations, t => t.Key.Equals("two.test")); }
public ActionResult Index() { BaseValidationContainer = new ValidationContainer(); BaseValidationContainer.AddMessage(MessageTypeEnum.Error, "Error"); BaseValidationContainer.AddMessage(MessageTypeEnum.Success, "Success"); BaseValidationContainer.AddMessage(MessageTypeEnum.Warning, "Warning"); BaseValidationContainer.AddMessage(MessageTypeEnum.Informational, "Information"); return(View()); }
/// <summary> /// Gestione validazione filtri immessi /// </summary> /// <returns></returns> private bool ValidateFilters() { ValidationContainer ctl = this.GetControlValidation(); bool initValid, endValid, rangeValid; // Validazione data trasmissione Validator.ValidateDateRange(this.txtDataTrasmissioneFrom.Text, this.txtDataTrasmissioneTo.Text, out initValid, out endValid, out rangeValid); if (!initValid) { ctl.AddControlErrorMessage(this.lblDataTrasmissioneFrom.ClientID, "Data trasmissione iniziale non valida"); } if (!endValid) { ctl.AddControlErrorMessage(this.lblDataTrasmissioneTo.ClientID, "Data trasmissione finale non valida"); } if (!rangeValid) { ctl.AddControlErrorMessage(this.lblDataTrasmissioneFrom.ClientID, "Data trasmissione iniziale maggiore di quella finale"); } // Validazione data accettazione/rifiuto Validator.ValidateDateRange(this.txtDataAccRifFrom.Text, this.txtDataAccRifTo.Text, out initValid, out endValid, out rangeValid); if (!initValid) { ctl.AddControlErrorMessage(this.lblDataAccRifFrom.ClientID, "Data Acc./Rif. iniziale non valida"); } if (!endValid) { ctl.AddControlErrorMessage(this.lblDataAccRifTo.ClientID, "Data Acc./Rif. finale non valida"); } if (!rangeValid) { ctl.AddControlErrorMessage(this.lblDataAccRifFrom.ClientID, "Data Acc./Rif. iniziale maggiore di quella finale"); } // Validazione data risposta Validator.ValidateDateRange(this.txtDataRispostaFrom.Text, this.txtDataRispostaTo.Text, out initValid, out endValid, out rangeValid); if (!initValid) { ctl.AddControlErrorMessage(this.lblDataRispostaFrom.ClientID, "Data risposta iniziale non valida"); } if (!endValid) { ctl.AddControlErrorMessage(this.lblDataRispostaTo.ClientID, "Data risposta finale non valida"); } if (!rangeValid) { ctl.AddControlErrorMessage(this.lblDataRispostaFrom.ClientID, "Data risposta iniziale maggiore di quella finale"); } return(ctl.IsValid()); }
public void ConfirmFatalValidationDoesNotPassResolve() { ValidationContainer toTest = ValidationContainer.CreateValidationContainer(); var c = toTest.Scope("one"); c.AddValidation(new Validation("test", ValidationSeverity.Fatal, "hello")); c.AddValidation(new Validation("another", ValidationSeverity.Confirm, "asdfas")); c.AddOverride("test", "asdf", "asdf"); Assert.False(c.ResolveValidations()); }
public void TwoValidationsOnlyOneOveride_ResolveFalse() { ValidationContainer toTest = ValidationContainer.CreateValidationContainer(); var c = toTest.Scope("one"); c.AddOverride("test", "test", "test"); c.AddValidation(new Validation("test", ValidationSeverity.Confirm, "hello")); c.AddValidation(new Validation("another", ValidationSeverity.Confirm, "asdfas")); Assert.False(c.ResolveValidations()); }
// private string LogTag = "FCMInstanceIdService"; public override void OnTokenRefresh() { var fcmDeviceId = FirebaseInstanceId.Instance.Token; // Settings (is Shared Preferences) - I save the FCMToken Id in shared preferences // if FCMTokenId is not the same as old Token then update on the server if (Settings.FcmTokenId != fcmDeviceId) { var oldFcmId = Settings.FcmTokenId; var validationContainer = new ValidationContainer(); // HERE UPDATE THE TOKEN ON THE SERVER TBApp.Current._usersProvider.UpdateFcmTokenOnServer(oldFcmId, fcmDeviceId, validationContainer); Settings.FcmTokenId = fcmDeviceId; } base.OnTokenRefresh(); }
public void RubberStamp_ValidationContainer_FailMultipleConditions() { var validator1 = new Validator <Person>(); validator1.AddRule(p => p.Name, con => con.IsNotNull()); var validator2 = new Validator <Person>(); validator2.AddRule(p => p.Lastname, con => con.IsNotNull()); var container = new ValidationContainer <Person>(); container.Add(validator1); container.Add(validator2); var result = container.Validate(new Person()); Assert.That(result.IsValid, Is.False); }
public void RubberStamp_ValidationContainer() { var validator1 = new Validator <Person>(); validator1.AddRule(p => p.Name, con => con.IsNotNull()); var validator2 = new Validator <Person>(); validator2.AddRule(p => p.Lastname, con => con.IsNotNull()); var container = new ValidationContainer <Person>(); container.Add(validator1); container.Add(validator2); var result = container.Validate(new Person { Name = "Name", Lastname = "Lastname" }); Assert.That(result.IsValid); }
/// <summary> /// Overriden method to handle exception /// </summary> /// <param name="filterContext"> </param> public override void OnException(ExceptionContext filterContext) { if (filterContext.ExceptionHandled) { return; } var validationContainer = new ValidationContainer(); filterContext.ExceptionHandled = true; var exceptionName = filterContext.Exception.GetType().Name; string exceptionMessage; if (DefinedException.Contains(exceptionName)) { exceptionMessage = filterContext.Exception.Message; } else { exceptionMessage = "We intentionally allowed to not catch exception to track the root causes. Please note down the steps and include following details in the bug.</br>" + "</br></br>Exception Message: " + filterContext.Exception; // + "</br></br>Stack Trace: " + filterContext.Exception.StackTrace; } // Add the Error Message to Validation Container validationContainer.AddMessage(MessageType.Error, exceptionMessage); //TODO: write Exception to Log file filterContext.Result = new JsonResult { Data = validationContainer, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; var context = HttpContext.Current; //ErrorLog.GetDefault(context).Log(new Error(filterContext.Exception, context)); }
protected ViewModelBase() { _validationContainer = new ValidationContainer(ErrorsChanged, this); }
/// <summary> /// Gestione validazione filtri immessi /// </summary> /// <returns></returns> private bool ValidateFilters() { ValidationContainer ctl = this.GetControlValidation(); if (!this.IsValidClassifica()) { ctl.AddControlErrorMessage(this.lblAnno.ClientID, "Codice classifica non trovato"); } if (!Validator.ValidateNumeric(this.txtAnno.Text)) { ctl.AddControlErrorMessage(this.lblAnno.ClientID, "Anno fascicolo non valido"); } if (!Validator.ValidateNumeric(this.txtNumero.Text)) { ctl.AddControlErrorMessage(this.lblNumero.ClientID, "Numero fascicolo non valido"); } bool initValid, endValid, rangeValid; // Validazione data chiusura Validator.ValidateDateRange(this.txtDataChiusuraFrom.Text, this.txtDataChiusuraTo.Text, out initValid, out endValid, out rangeValid); if (!initValid) { ctl.AddControlErrorMessage(this.lblDataChiusuraFrom.ClientID, "Data chiusura iniziale non valida"); } if (!endValid) { ctl.AddControlErrorMessage(this.lblDataChiusuraTo.ClientID, "Data chiusura finale non valida"); } if (!rangeValid) { ctl.AddControlErrorMessage(this.lblDataChiusuraFrom.ClientID, "Data chiusura iniziale maggiore di quella finale"); } // Validazione data collocazione Validator.ValidateDateRange(this.txtDataCollocazioneFrom.Text, this.txtDataCollocazioneTo.Text, out initValid, out endValid, out rangeValid); if (!initValid) { ctl.AddControlErrorMessage(this.lblDataCollocazioneFrom.ClientID, "Data collocazione iniziale non valida"); } if (!endValid) { ctl.AddControlErrorMessage(this.lblDataCollocazioneTo.ClientID, "Data collocazione finale non valida"); } if (!rangeValid) { ctl.AddControlErrorMessage(this.lblDataCollocazioneFrom.ClientID, "Data collocazione iniziale maggiore di quella finale"); } // Validazione data apertura Validator.ValidateDateRange(this.txtDataAperturaFrom.Text, this.txtDataAperturaTo.Text, out initValid, out endValid, out rangeValid); if (!initValid) { ctl.AddControlErrorMessage(this.lblDataAperturaFrom.ClientID, "Data apertura iniziale non valida"); } if (!endValid) { ctl.AddControlErrorMessage(this.lblDataAperturaTo.ClientID, "Data apertura finale non valida"); } if (!rangeValid) { ctl.AddControlErrorMessage(this.lblDataAperturaFrom.ClientID, "Data apertura iniziale maggiore di quella finale"); } // Validazione data creazione Validator.ValidateDateRange(this.txtDataCreazioneFrom.Text, this.txtDataCreazioneTo.Text, out initValid, out endValid, out rangeValid); if (!initValid) { ctl.AddControlErrorMessage(this.lblDataCreazioneFrom.ClientID, "Data creazione iniziale non valida"); } if (!endValid) { ctl.AddControlErrorMessage(this.lblDataCreazioneTo.ClientID, "Data creazione finale non valida"); } if (!rangeValid) { ctl.AddControlErrorMessage(this.lblDataCreazioneFrom.ClientID, "Data creazione iniziale maggiore di quella finale"); } return(ctl.IsValid()); }
/// <summary> /// Inizializzazione controllo di validazione /// </summary> private void InitializeValidationControl() { ValidationContainer ctl = this.GetControlValidation(); ctl.HeaderText = "Sono state rilevate le seguenti incongruenze nei filtri immessi:"; }