Exemple #1
0
        public List <Book> GetAllBookPaged(int bookFilter, int userId, int pageSize, int page)
        {
            var books         = new List <Book>();
            var sqlParameters = new SqlParametersHelper()
                                .AddParameter("@bookFilter", bookFilter, SqlDbType.Int)
                                .AddParameter("@userId", userId, SqlDbType.Int)
                                .AddParameter("@pageSize", pageSize, SqlDbType.Int)
                                .AddParameter("@page", page, SqlDbType.Int)
                                .GetParameters();

            dbHelper.ExecuteProcedure(sp_GetAllBooksPaged, (reader) =>
            {
                while (reader.Read())
                {
                    books.Add(new Book
                    {
                        Id              = (int)reader[0],
                        Name            = reader[1].ToString(),
                        IsAvailable     = bool.Parse(reader[2].ToString()),
                        Authers         = autherRepo.GetAuthersByBookId((int)reader[0]),
                        CurrentReaderId = reader[3] != DBNull.Value ? (int)reader[3] : -1
                    });
                }
            }, sqlParameters);

            return(books);
        }
Exemple #2
0
        public bool ReturnBook(int bookId, int userId)
        {
            var sqlParameters = new SqlParametersHelper()
                                .AddParameter("@bookId", bookId, SqlDbType.Int)
                                .AddParameter("@userId", userId, SqlDbType.Int)
                                .GetParameters();

            var result = dbHelper.ExecuteProcedure(sp_ReturnBook, sqlParameters);

            return(result);
        }
Exemple #3
0
        public bool Register(User user)
        {
            var authers       = new List <Auther>();
            var sqlParameters = new SqlParametersHelper()
                                .AddParameter("@userName", user.Name, SqlDbType.NVarChar)
                                .AddParameter("@email", user.Email, SqlDbType.NVarChar)
                                .GetParameters();

            var result = dbHelper.ExecuteProcedure(sp_RegisterUser, sqlParameters);

            return(result);
        }
Exemple #4
0
        public List <Auther> GetAuthersByBookId(int bookId)
        {
            var authers       = new List <Auther>();
            var sqlParameters = new SqlParametersHelper()
                                .AddParameter("@bookId", bookId, SqlDbType.Int)
                                .GetParameters();

            dbHelper.ExecuteProcedure(sp_GetAuthersByBookId, (reader) =>
            {
                while (reader.Read())
                {
                    authers.Add(new Auther {
                        Id   = (int)reader[0],
                        Name = reader[1].ToString()
                    });
                }
            }, sqlParameters);

            return(authers);
        }
Exemple #5
0
        public User GetUserById(int userId)
        {
            var user          = (User)null;
            var sqlParameters = new SqlParametersHelper()
                                .AddParameter("@userId", userId, SqlDbType.Int)
                                .GetParameters();

            dbHelper.ExecuteProcedure(sp_GetUserById, (reader) =>
            {
                while (reader.Read())
                {
                    user = new User
                    {
                        Id    = (int)reader[0],
                        Name  = reader[1].ToString(),
                        Email = reader[2].ToString()
                    };
                }
            }, sqlParameters);

            return(user);
        }
Exemple #6
0
        public User Login(User user)
        {
            var loggedInUser  = (User)null;
            var sqlParameters = new SqlParametersHelper()
                                .AddParameter("@email", user.Email, SqlDbType.NVarChar)
                                .GetParameters();

            dbHelper.ExecuteProcedure(sp_LoginUser, (reader) =>
            {
                while (reader.Read())
                {
                    loggedInUser = new User
                    {
                        Id    = (int)reader[0],
                        Name  = reader[1].ToString(),
                        Email = reader[2].ToString()
                    };
                }
            }, sqlParameters);

            return(loggedInUser);
        }
Exemple #7
0
        public Book GetBookById(int bookId)
        {
            var book          = (Book)null;
            var sqlParameters = new SqlParametersHelper()
                                .AddParameter("@bookId", bookId, SqlDbType.Int)
                                .GetParameters();

            dbHelper.ExecuteProcedure(sp_GetBookById, (reader) =>
            {
                while (reader.Read())
                {
                    book = new Book
                    {
                        Id          = (int)reader[0],
                        Name        = reader[1].ToString(),
                        IsAvailable = bool.Parse(reader[2].ToString()),
                        Authers     = autherRepo.GetAuthersByBookId((int)reader[0])
                    };
                }
            }, sqlParameters);

            return(book);
        }
Exemple #8
0
        public List <BorrowOrder> GetBorrowOrdersByBookId(int bookId)
        {
            var borrowOrder   = new List <BorrowOrder>();
            var sqlParameters = new SqlParametersHelper()
                                .AddParameter("@bookId", bookId, SqlDbType.Int)
                                .GetParameters();

            dbHelper.ExecuteProcedure(sp_GetBorrowOrdersByBookId, (reader) =>
            {
                while (reader.Read())
                {
                    borrowOrder.Add(new BorrowOrder
                    {
                        Reader     = userRepo.GetUserById((int)reader[0]),
                        Book       = bookRepo.GetBookById(bookId),
                        ActionTime = (DateTime)reader[2],
                        ActionType = reader[3].ToString()
                    });
                }
            }, sqlParameters);

            return(borrowOrder);
        }