Esempio n. 1
0
    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);
        }
Esempio n. 3
0
        public ValidationContainer <T> Build()
        {
            var propertyValidations = _rulesBuilders.Select(f => f.BuildValidation()).ToList();
            var container           = new ValidationContainer <T>(_viewModel, propertyValidations);

            return(container);
        }
Esempio n. 4
0
        public Task InitializeAsync(params object[] initParams)
        {
            var configBuilder = new ValidationConfigurationBuilder <T>(this);

            _container = ConfigureValidation(configBuilder);

            return(OnInitializeAsync(initParams));
        }
Esempio n. 5
0
 /// <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);
        }
Esempio n. 7
0
 public ValidatedTextBox()
 {
     DefaultStyleKey = typeof(ValidatedTextBox);
     Loaded         += delegate
     {
         ValidationContainer.Register(this);
         Validate();
     };
 }
Esempio n. 8
0
        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"));
        }
Esempio n. 9
0
        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());
        }
Esempio n. 10
0
        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());
        }
Esempio n. 11
0
        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"));
        }
Esempio n. 12
0
    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());
    }
Esempio n. 13
0
        /// <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());
        }
Esempio n. 14
0
        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());
        }
Esempio n. 15
0
        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);
        }
Esempio n. 19
0
    /// <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);
 }
Esempio n. 21
0
        /// <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());
        }
Esempio n. 22
0
        /// <summary>
        /// Inizializzazione controllo di validazione
        /// </summary>
        private void InitializeValidationControl()
        {
            ValidationContainer ctl = this.GetControlValidation();

            ctl.HeaderText = "Sono state rilevate le seguenti incongruenze nei filtri immessi:";
        }