public async Task <IActionResult> ForAddBookAsync(AddBook addbook)
        {
            if (addbook.FileToUpload == null || addbook.FileToUpload.Length == 0)
            {
                return(Content("file not selected"));
            }
            //string path = (@"C:\Users\nithe\Source\Repos\KD-Company\KD Company\wwwroot\Car\");
            var path = Path.Combine(
                Directory.GetCurrentDirectory(), "wwwroot/Image",
                addbook.FileToUpload.FileName);

            Console.WriteLine(path);

            using (var stream = new FileStream(path, FileMode.Create))
            {
                await addbook.FileToUpload.CopyToAsync(stream);
            }
            using (BookAppDbContext dbContext = new BookAppDbContext())
            {
                addbook.FileName = addbook.FileToUpload.FileName;
                dbContext.AddBooks.Add(addbook);

                //dbContext.AddBooks.Add(addbook.SelectedStatus=="0").;
                /// dbContext.addbook.SelectedStatus == "0";
                dbContext.SaveChanges();
            }

            return(View());
        }
        public IActionResult BookDetails()
        {
            BookAppDbContext dbContext = new BookAppDbContext();
            var BookList = dbContext.AddBooks.ToList();

            return(View(BookList));
        }
        public IActionResult Registration(Book Book)
        {
            BookAppDbContext dbContext = new BookAppDbContext();
            Book             obj       = new Book();

            obj.FirstName  = Book.FirstName;
            obj.LastName   = Book.LastName;
            obj.CourseName = Book.CourseName;
            obj.CourseYear = Book.CourseYear;
            obj.Phone      = Book.Phone;
            obj.Address    = Book.Address;
            obj.City       = Book.City;
            obj.Email      = Book.Email;

            ShareMail mail = new ShareMail();
            string    pass = mail.SendEmail(Book.Email);

            obj.Password = pass;


            dbContext.Add(obj);
            dbContext.SaveChanges();


            return(View());
        }
        //public IActionResult Forlogin(AdminLogin adminLogin)

        //{
        //    using (BookAppDbContext dbContext = new BookAppDbContext())
        //    {
        //        dbContext.AdminLogins.Add(adminLogin);
        //        dbContext.SaveChanges();

        //    }

        //    return View();

        //}



        public IActionResult UserDetails()
        {
            BookAppDbContext dbContext = new BookAppDbContext();
            var UserList = dbContext.Books.ToList();

            return(View(UserList));
        }
        public IActionResult ViewFeedback()
        {
            BookAppDbContext dbContext = new BookAppDbContext();
            var feedbackList           = dbContext.Feedbacks.ToList();

            return(View(feedbackList));
        }
        public IActionResult SelectedBooks()
        {
            BookAppDbContext dbContext = new BookAppDbContext();

            var SelectedList = dbContext.AddBooks.ToList().Where(x => x.SelectedStatus == "1");

            return(View(SelectedList));
        }
        public IActionResult AddFeedback(Feedback feedback)
        {
            using (BookAppDbContext dbContext = new BookAppDbContext())
            {
                dbContext.Feedbacks.Add(feedback);
                dbContext.SaveChanges();
            }

            return(View());
        }
        public IActionResult Search(String searchString)
        {
            BookAppDbContext dbContext = new BookAppDbContext();
            var bookList = dbContext.AddBooks.ToList().Where(x => x.SelectedStatus == "0");

            if (!String.IsNullOrEmpty(searchString))
            {
                var filterList = bookList.Where(x => x.BookName.ToLower().Contains(searchString.ToLower())).ToList();

                return(View(filterList));
            }
            else
            {
                return(View(bookList));
            }
        }
        public IActionResult ForLogin(string email, string password)
        {
            BookAppDbContext dbContext = new BookAppDbContext();
            string           Email     = email;

            string Password = password;
            var    userlist = dbContext.Books.ToList();
            var    user     = userlist.Where(X => X.Email == email && X.Password == password).FirstOrDefault();

            if (user != null)
            {
                return(View());
            }
            else
            {
                return(RedirectToAction("Login"));
            }
        }
        public IActionResult AdminHome(string email, string password)

        {
            BookAppDbContext dbContext = new BookAppDbContext();

            string Email     = email;
            string Password  = password;
            var    loginlist = dbContext.AdminLogins.ToList();
            var    user      = loginlist.Where(X => X.Email == email && X.Password == password).FirstOrDefault();

            if (user != null)
            {
                return(View());
            }
            else
            {
                return(RedirectToAction("Invalid"));
            }
        }
        public IActionResult UpdateStatus(int id)
        {
            //Console.WriteLine(addBook);
            BookAppDbContext dbContext = new BookAppDbContext();
            //int id;
            var SelectedList = dbContext.AddBooks.Where(x => x.Id == id).FirstOrDefault();

            SelectedList.SelectedStatus = "1";
            dbContext.AddBooks.Update(SelectedList);

            //var Book = dbContext.AddBooks.Where(x => x.Id == id).FirstOrDefault();
            ////foreach (var book in AddBooks)
            ////{
            ////    author.Books.Remove(book);
            ////}
            ////context.Authors.Remove(author);
            //Book.SelectedStatus = "1";
            //dbContext.AddBooks.Remove(Book);
            dbContext.SaveChanges();

            return(View());
        }
Beispiel #12
0
        public async Task BookRepositoryAllMethodTest()
        {
            #region [0] DbContextOptions<T> Object Creation and ILoggerFactory Object Creation
            //[0] DbContextOptions<T> Object Creation and ILoggerFactory Object Creation
            var options = new DbContextOptionsBuilder <BookAppDbContext>()
                          .UseInMemoryDatabase(databaseName: $"BookApp{Guid.NewGuid()}").Options;
            //.UseSqlServer("server=(localdb)\\mssqllocaldb;database=BookApp;integrated security=true;").Options;

            var serviceProvider = new ServiceCollection().AddLogging().BuildServiceProvider();
            var factory         = serviceProvider.GetService <ILoggerFactory>();
            #endregion

            #region [1] AddAsync() Method Test
            //[1] AddAsync() Method Test
            //[1][1] Repository 클래스를 사용하여 저장
            using (var context = new BookAppDbContext(options))
            {
                context.Database.EnsureCreated(); // 데이터베이스가 만들어져 있는지 확인

                //[A] Arrange: 1번 데이터를 아래 항목으로 저장합니다.
                var repository = new BookRepository(context, factory);
                var model      = new Book {
                    Title = "C# 교과서", Description = "C# 기초를 다룹니다."
                };

                //[B] Act: AddAsync() 메서드 테스트
                await repository.AddAsync(model); // Id: 1
            }
            //[1][2] DbContext 클래스를 통해서 개수 및 레코드 확인
            using (var context = new BookAppDbContext(options))
            {
                //[C] Assert: 현재 총 데이터 개수가 1개인 것과, 1번 데이터의 Title이 "C# 교과서"인지 확인합니다.
                Assert.AreEqual(1, await context.Books.CountAsync());

                var model = await context.Books.Where(n => n.Id == 1).SingleOrDefaultAsync();

                Assert.AreEqual("C# 교과서", model.Title);
            }
            #endregion

            #region [2] GetAllAsync() Method Test
            //[2] GetAllAsync() Method Test
            using (var context = new BookAppDbContext(options))
            {
                // 트랜잭션 관련 코드는 InMemoryDatabase 공급자에서는 지원 X
                // using (var transaction = context.Database.BeginTransaction()) { transaction.Commit(); }

                //[A] Arrange
                var repository = new BookRepository(context, factory);
                var model      = new Book {
                    Title = "ASP.NET Core를 다루는 기술", Description = "ASP.NET 기초"
                };

                //[B] Act
                await repository.AddAsync(model);                                                     // Id: 2

                await repository.AddAsync(new Book { Title = "타입스크립트", Description = "TypeScript" }); // Id: 3
            }
            using (var context = new BookAppDbContext(options))
            {
                //[C] Assert
                var repository = new BookRepository(context, factory);
                var models     = await repository.GetAllAsync();

                Assert.AreEqual(3, models.Count()); // TotalRecords: 3
            }
            #endregion

            #region [3] GetByIdAsync() Method Test
            //[3] GetByIdAsync() Method Test
            using (var context = new BookAppDbContext(options))
            {
                // Empty
            }
            using (var context = new BookAppDbContext(options))
            {
                var repository = new BookRepository(context, factory);
                var model      = await repository.GetByIdAsync(2);

                Assert.IsTrue(model.Title.Contains("ASP.NET"));
                Assert.AreEqual("ASP.NET 기초", model.Description);
            }
            #endregion

            #region [4] UpdateAsync() Method Test
            //[4] UpdateAsync() Method Test
            using (var context = new BookAppDbContext(options))
            {
                // Empty
            }
            using (var context = new BookAppDbContext(options))
            {
                var repository = new BookRepository(context, factory);
                var model      = await repository.GetByIdAsync(2);

                model.Title       = "ASP.NET & Core를 다루는 기술"; // Modified
                model.Description = "웹 개발 기술의 집합체";
                await repository.UpdateAsync(model);

                var updateModel = await repository.GetByIdAsync(2);

                Assert.IsTrue(updateModel.Title.Contains("&"));
                Assert.AreEqual("ASP.NET & Core를 다루는 기술", updateModel.Title);
                Assert.AreEqual("웹 개발 기술의 집합체",
                                (await context.Books.Where(m => m.Id == 2).SingleOrDefaultAsync())?.Description);
            }
            #endregion

            #region [5] DeleteAsync() Method Test
            //[5] DeleteAsync() Method Test
            using (var context = new BookAppDbContext(options))
            {
                // Empty
            }
            using (var context = new BookAppDbContext(options))
            {
                var repository = new BookRepository(context, factory);
                await repository.DeleteAsync(2);

                Assert.AreEqual(2, (await context.Books.CountAsync()));
                Assert.IsNull(await repository.GetByIdAsync(2));
            }
            #endregion
        }
Beispiel #13
0
 public BookRepository(BookAppDbContext context, IBookMapper bookMapper)
 {
     _context    = context;
     _bookMapper = bookMapper;
 }
 public ReservationRepository(BookAppDbContext context, IReservationMapper reservationMapper)
 {
     _context           = context;
     _reservationMapper = reservationMapper;
 }
Beispiel #15
0
 public Books1Controller(BookAppDbContext context)
 {
     _context = context;
 }