public override UserPermission Find(Expression <Func <UserPermission, bool> > predicate)
        {
            Expect.ArgumentNotNull(predicate, nameof(predicate));

            try
            {
                return(DbSet.MakeInclusions().SingleOrDefault(predicate));
            }
            catch (SqlException ex)
            {
                throw ex.ToRepositoryException();
            }
            catch (Exception ex)
            {
                throw new RepositoryException(ex.Message, ex);
            }
        }
示例#2
0
        public virtual void Add(TEntity entity)
        {
            Expect.ArgumentNotNull(entity, nameof(entity));

            try
            {
                DbSet.Add(entity);
            }
            catch (SqlException ex)
            {
                throw ex.ToRepositoryException();
            }
            catch (Exception ex)
            {
                throw new RepositoryException(ex.Message, ex);
            }
        }
示例#3
0
        public virtual IEnumerable <TEntity> Filter(Expression <Func <TEntity, bool> > predicate)
        {
            Expect.ArgumentNotNull(predicate, nameof(predicate));

            try
            {
                return(DbSet.Where(predicate).AsNoTracking().ToList());
            }
            catch (SqlException ex)
            {
                throw ex.ToRepositoryException();
            }
            catch (Exception ex)
            {
                throw new RepositoryException(ex.Message, ex);
            }
        }
示例#4
0
        public virtual TEntity Find(Expression <Func <TEntity, bool> > predicate)
        {
            Expect.ArgumentNotNull(predicate, nameof(predicate));

            try
            {
                return(DbSet.SingleOrDefault(predicate));
            }
            catch (SqlException ex)
            {
                throw ex.ToRepositoryException();
            }
            catch (Exception ex)
            {
                throw new RepositoryException(ex.Message, ex);
            }
        }
        public override IEnumerable <Permission> Filter(Expression <Func <Permission, bool> > predicate)
        {
            Expect.ArgumentNotNull(predicate, nameof(predicate));

            try
            {
                return(DbSet.Where(predicate).ToList());
            }
            catch (SqlException ex)
            {
                throw ex.ToRepositoryException();
            }
            catch (Exception ex)
            {
                throw new RepositoryException(ex.Message, ex);
            }
        }
示例#6
0
        public bool LoginUser(string login, string password)
        {
            Expect.ArgumentNotNull(login);
            Expect.ArgumentNotNull(password);
            User user = GetUserByLogin(login);

            if (user == null)
            {
                return(false);
            }
            if (!user.VerifyPassword(password))
            {
                return(false);
            }
            user.IsLogged   = true;
            user.LoggedDate = DateTime.UtcNow;
            UpdateUser(user);
            return(true);
        }
示例#7
0
 public void AddUserToRole(Guid id, string roleName)
 {
     Expect.ArgumentNotNull(id);
     Expect.ArgumentNotNull(roleName);
     try
     {
         User user = GetUserById(id);
         Role role = GetRoleByName(roleName);
         if (role != null)
         {
             user.Roles.Add(role);
             UpdateUser(user);
         }
     }
     catch (Exception)
     {
         throw new MembershipServiceException();
     }
 }
示例#8
0
        public void DeleteUser(Guid id)
        {
            Expect.ArgumentNotNull(id);
            User user;

            try
            {
                user = UserRepository.Get(id);
            }
            catch (Exception ex)
            {
                throw new DataException(ex.Message);
            }
            if (user == null)
            {
                throw new UserNotFoundException();
            }
            UserRepository.Delete(id);
        }
示例#9
0
        public User GetUserByEmail(string email)
        {
            Expect.ArgumentNotNull(email);
            User user;

            try
            {
                user = UserRepository.GetByEmail(email);
            }
            catch (Exception ex)
            {
                throw new MembershipServiceException(ex);
            }
            if (user == null)
            {
                throw new UserNotFoundException();
            }
            return(user);
        }
        public override IEnumerable <UserPermission> Filter(Expression <Func <UserPermission, bool> > predicate)
        {
            Expect.ArgumentNotNull(predicate, nameof(predicate));

            try
            {
                return(DbSet.MakeInclusions().Where(predicate)
                       .OrderBy(x => x.User.FirstName)
                       .ThenBy(x => x.User.LastName)
                       .ToList());
            }
            catch (SqlException ex)
            {
                throw ex.ToRepositoryException();
            }
            catch (Exception ex)
            {
                throw new RepositoryException(ex.Message, ex);
            }
        }
示例#11
0
        public User GetUserById(Guid id)
        {
            Expect.ArgumentNotNull(id);
            User user;

            try
            {
                user = UserRepository.Get(id);
            }
            catch (Exception ex)
            {
                throw new MembershipServiceException(ex);
            }
            if (user == null)
            {
                throw new UserNotFoundException {
                          UserId = id
                };
            }
            return(user);
        }
示例#12
0
        public Album CreateNewAlbum(string userName, string albumName, string description = "")
        {
            Expect.ArgumentNotNull(albumName);
            Expect.ArgumentNotNull(userName);
            var  service = new MembershipService();
            User user    = service.GetUserByLogin(userName);

            if (GetAlbumByName(userName, albumName) != null)
            {
                throw new DuplicateAlbumException {
                          AlbumName = albumName
                };
            }
            var album = new Album {
                Name = albumName, Description = description
            };

            user.Albums.Add(album);
            album.User = user;
            service.UpdateUser(user);
            return(album);
        }
示例#13
0
        public Role GetRoleByName(string roleName)
        {
            Expect.ArgumentNotNull(roleName);
            Role role;

            try
            {
                role = RoleRepository.GetByName(roleName);
            }
            catch (Exception ex)
            {
                throw new DataException(ex.Message);
            }
            if (role == null)
            {
                throw new RoleNotFoundException {
                          RoleName = roleName
                }
            }
            ;
            return(role);
        }
示例#14
0
 public void DeletePhoto(Guid id)
 {
     Expect.ArgumentNotNull(id);
     PhotoRepository.Delete(id);
 }
示例#15
0
 public Photo GetById(Guid id)
 {
     Expect.ArgumentNotNull(id);
     return(Context.Photos.FirstOrDefault(photo => photo.Id == id));
 }
示例#16
0
 public Photo GetPhotoById(Guid id)
 {
     Expect.ArgumentNotNull(id);
     return(PhotoRepository.GetById(id));
 }
示例#17
0
 public void UpdatePhoto(Photo photo)
 {
     Expect.ArgumentNotNull(photo);
     PhotoRepository.Update(photo);
 }
示例#18
0
 public void UpdateAlbum(Album album)
 {
     Expect.ArgumentNotNull(album);
     AlbumRepository.Update(album);
 }