public IEnumerable<UserRole> GetRolesForUser(User user)
        {
            if (user == null)
                throw new ArgumentNullException("user");

            return GetRolesForUser(user.Id);
        }
        public UpdateResult CreateRoleForUser(User user, string role)
        {
            if (user == null)
                throw new ArgumentNullException("user");

            return CreateRoleForUser(user.Email, role, user.Stamp);
        }
Пример #3
0
        public void TestDeleteAndListAndInsert()
        {
            _userRepo.DeleteAll();

            var items = _userRepo.List();
            Assert.True(items.Count() == 0);

            List<User> userCollection = new List<User>();

            int userCounter = 20;

            for (int i = 0; i < userCounter; i++)
            {
                User user = new User
                    {
                        Locale = "en",
                        Name = i.ToString(),
                        Password = "******",
                        TimeZone = 1000
                    };

                _userRepo.Insert(user);
                Assert.GreaterOrEqual(user.Id, 1);
                Assert.GreaterOrEqual(user.Stamp, DateTime.UtcNow.AddMinutes(-1));
                userCollection.Add(user);
            }

            _userRepo.List();
        }
Пример #4
0
        public User Insert(User user)
        {
            if (user == null)
                throw new ArgumentNullException("user");

            return SqlQueryExecutor.Exceute(() =>
                {
                    String query = string.Format(CultureInfo.InvariantCulture, "INSERT INTO {1} {0}; SELECT LAST_INSERT_ID();", InsertFieldList, TableName);
                    int insertedId = (int)Connectionprovider.CurrentConnection.Query<long>(query, new { user.Name, user.Email, user.Password, user.Locale, user.TimeZone }).FirstOrDefault();
                    if (insertedId <= 0)
                        throw new StorageMonsterDbException("User insertion failed");

                    String idAndStampQuery = string.Format(CultureInfo.InvariantCulture, "SELECT id AS Id, stamp AS Stamp FROM {0} WHERE id=@Id;", TableName);
                    IdAndStamp idAndStamp = Connectionprovider.CurrentConnection.Query<IdAndStamp>(idAndStampQuery, new { Id = insertedId }).FirstOrDefault();

                    if (idAndStamp == null)
                        throw new StorageMonsterDbException("User insertion failed");

                    user.Id = idAndStamp.Id;
                    user.Stamp = idAndStamp.Stamp;
                    return user;
                });
        }
Пример #5
0
        public User Update(User user)
        {
            if (user == null)
                throw new ArgumentNullException("user");

            return SqlQueryExecutor.Exceute(() =>
                {
                    String query = string.Format(CultureInfo.InvariantCulture, "UPDATE {1} SET {0} WHERE Id=@Id", UpdateFieldList, TableName);
                    Connectionprovider.CurrentConnection.Execute(query, new { user.Email, user.Name, user.Password, user.Locale, user.TimeZone, user.Id });

                    String idAndStampQuery = string.Format(CultureInfo.InvariantCulture, "SELECT id AS Id, stamp AS Stamp FROM {0} WHERE id=@Id;", TableName);
                    IdAndStamp idAndStamp = Connectionprovider.CurrentConnection.Query<IdAndStamp>(idAndStampQuery, new { user.Id }).FirstOrDefault();

                    if (idAndStamp == null)
                        throw new StorageMonsterDbException("User update failed");

                    user.Id = idAndStamp.Id;
                    user.Stamp = idAndStamp.Stamp;
                    return user;
                });
        }
Пример #6
0
        public User Select(User user)
        {
            if (user == null)
                throw new ArgumentNullException("user");

            return Select(user.Id);
        }