/// <summary>
        /// Adaugare Clinet in Db
        /// Arunca ValidationException daca clientul nu e valid
        /// </summary>
        /// <param name="entity">Clientul de adaugagt</param>
        public void Add(Client entity)
        {
            var con = SQLiteConnectionFactory.GetInstance().CreateConnection();

            ValidatorClient.Validate(entity);
            using (var comm = con.CreateCommand())
            {
                comm.CommandText = "insert into Clienti  values (@id,@nume,@prenume)";
                var paramId = comm.CreateParameter();
                paramId.ParameterName = "@id";
                paramId.Value         = entity.Id;
                comm.Parameters.Add(paramId);

                var paramNume = comm.CreateParameter();
                paramNume.ParameterName = "@nume";
                paramNume.Value         = entity.Nume;
                comm.Parameters.Add(paramNume);

                var paramPreNume = comm.CreateParameter();
                paramPreNume.ParameterName = "@prenume";
                paramPreNume.Value         = entity.Prenume;
                comm.Parameters.Add(paramPreNume);

                var result = comm.ExecuteNonQuery();
                if (result == 0)
                {
                    throw new RepositoryException("Clientul nu a fost adaugat!");
                }
            }
            con.Close();
        }
예제 #2
0
        /// <summary>
        /// Used for validating room keys.
        /// </summary>
        /// <param name="roomKey">Value to validate.</param>
        /// <returns>Returns string array with errors.</returns>
        static public string[] ValidRoomKey(string roomKey)
        {
            ValidatorClient validator = new ValidatorClient("Room key",
                                                            new List <IValidator>()
            {
                new NullInputValidator(),
                new NoSpaceInputValidator(),
                new SqlInjectionInputValidator(),
                new ExactLengthInputValidator(ServiceFactory.RoomKeyLength)
            });

            validator.Validate(roomKey).Wait();

            return(validator.Errors.ToArray());
        }
예제 #3
0
        /// <summary>
        /// Used for validating room names.
        /// </summary>
        /// <param name="roomName">Value to validate.</param>
        /// <returns>Returns string array with errors.</returns>
        static public string[] ValidRoomName(string roomName)
        {
            ValidatorClient validator = new ValidatorClient("Room name",
                                                            new List <IValidator>()
            {
                new NullInputValidator(),
                new SqlInjectionInputValidator(),
                new MaxLengthInputValidator(80),
                new MinLengthInputValidator(5)
            });

            validator.Validate(roomName).Wait();

            return(validator.Errors.ToArray());
        }
예제 #4
0
        /// <summary>
        /// Used for validating password.
        /// </summary>
        /// <param name="email">Value to validate.</param>
        /// <returns>Returns string array with errors.</returns>
        static public string[] ValidPassword(string password)
        {
            List <IValidator> passwordRules = new List <IValidator>()
            {
                new NullInputValidator(),
                new MaxLengthInputValidator(250),
                new MinLengthInputValidator(6),
                new PasswordRequirementInputValidator()
            };

            var validator = new ValidatorClient("Password", passwordRules);

            validator.Validate(password).Wait();

            return(validator.Errors.ToArray());
        }
예제 #5
0
        /// <summary>
        /// Used for validating username.
        /// </summary>
        /// <param name="email">Value to validate.</param>
        /// <returns>Returns string array with errors.</returns>
        static public string[] ValidUsername(string username)
        {
            List <IValidator> usernameRules = new List <IValidator>()
            {
                new NullInputValidator(),
                new NoSpaceInputValidator(),
                new SqlInjectionInputValidator(),
                new MaxLengthInputValidator(75),
                new MinLengthInputValidator(5)
            };

            var validator = new ValidatorClient("Username", usernameRules);

            validator.Validate(username).Wait();

            return(validator.Errors.ToArray());
        }
예제 #6
0
        /// <summary>
        /// Used for validating emails when loggin in with email.
        /// </summary>
        /// <param name="email">Value to validate.</param>
        /// <returns>Returns string array with errors.</returns>
        static public string[] ValidEmailLogin(string email)
        {
            List <IValidator> emailRules = new List <IValidator>()
            {
                new NullInputValidator(),
                new NoSpaceInputValidator(),
                new MaxLengthInputValidator(250),
                new MinLengthInputValidator(5),
                new SqlInjectionInputValidator()
            };

            var emailValidator = new ValidatorClient("Email", emailRules);

            emailValidator.Validate(email).Wait();

            return(emailValidator.Errors.ToArray());
        }
예제 #7
0
        static public async Task <string[]> ValidEmailCreateNewAsync(string email)
        {
            List <IValidator> emailRules = new List <IValidator>()
            {
                new NullInputValidator(),
                new NoSpaceInputValidator(),
                new MaxLengthInputValidator(250),
                new MinLengthInputValidator(5),
                new SqlInjectionInputValidator(),
                new UniqueUserInputValidator()
            };

            var emailValidator = new ValidatorClient("Email", emailRules);

            await emailValidator.Validate(email);

            return(emailValidator.Errors.ToArray());
        }
 public void Add(Client entity)
 {
     _validator.Validate(entity);
     _listaClienti.Add(entity);
 }