예제 #1
0
        public IActionResult Login(LoginViewModel model)
        {
            // ID, 비밀번호 - 필수
            if (ModelState.IsValid)
            {
                using (var db = new AspNetNoteDbContext())
                {
                    // Linq 쿼리식
                    // => : A go to B
                    var user = db.Users.FirstOrDefault(u => u.UserId.Equals(model.UserId) &&
                                                       u.UserPassword.Equals(model.UserPassword));

                    if (user != null)
                    {
                        // 로그인에 성공했을 때

                        HttpContext.Session.SetInt32("USER_LOGIN_KEY", user.UserNo); //Session 설정
                        return(RedirectToAction("LoginSuccess", "Home"));            // 로그인 성공 페이지로 이동
                    }
                }

                // 로그인에 실패했을 때
                ModelState.AddModelError(string.Empty, "사용자 ID 혹은 비밀번호가 올바르지 않습니다.");
            }

            return(View(model));
        }
예제 #2
0
        public IActionResult Add(Note model)
        {
            //로그인 확인
            if (HttpContext.Session.GetInt32("USER_LOGIN_KEY") == null)
            {
                //로그인이 안되었을 경우
                return(RedirectToAction("Login", "Account"));
            }

            model.UserNo = int.Parse(HttpContext.Session.GetInt32("USER_LOGIN_KEY").ToString());

            if (ModelState.IsValid)
            {
                using (var db = new AspNetNoteDbContext())
                {
                    db.Notes.Add(model);
                    if (db.SaveChanges() > 0)   //Commit 성공갯수 리턴
                    {
                        return(Redirect("Index"));
                    }
                    ModelState.AddModelError(string.Empty, "게시물을 저장 할수 없습니다.");
                }
            }
            return(View(model));
        }
예제 #3
0
        public IActionResult Login(LoginViewModel model)
        {
            // 필수 입력 사항 : ID, Password
            if (ModelState.IsValid)
            {
                using (var db = new AspNetNoteDbContext())
                {
                    //Linq 식 사용
                    // => A go to B
                    // DB의 자료와 사용자의 ID, Password 비교
                    // == 사용시 새로운 객체선언으로 인하여 메모리 누수가 발생하므로 Equals을 사용한다.
                    //var user = db.Users.
                    //    FirstOrDefault(u => u.ID == model.ID && u.Password == model.Password);

                    var user = db.Users.
                               FirstOrDefault(u => u.ID.Equals(model.UserId) &&
                                              u.Password.Equals(model.UserPassword));

                    if (user != null)
                    {
                        //로그인 성공 : Session 메모리 등록 및 이동
                        HttpContext.Session.SetInt32("USER_LOGIN_KEY", user.No);
                        return(RedirectToAction("LoginSuccess", "Home"));
                    }
                }

                // 로그인 실패
                // 아이디 검색을 방지
                ModelState.AddModelError(string.Empty, "사용자 아이디 혹은 비밀번호가 올바르지 않습니다.");
            }
            return(View(model));
        }
예제 #4
0
 /// <summary>
 /// 게시판 리스트
 /// </summary>
 /// <returns></returns>
 public IActionResult Index()
 {
     using (var db = new AspNetNoteDbContext())
     {
         var list = db.Notes.ToList();
         return(View(list));
     }
 }
예제 #5
0
 /// <summary>
 /// 상세보기
 /// </summary>
 /// <param name="noteNo"></param>
 /// <returns></returns>
 public IActionResult Detail(int noteNo)
 {
     if (HttpContext.Session.GetInt32("USER_LOGIN_KEY") == null)
     {
         return(RedirectToAction("Login", "Account"));
     }
     using (var db = new AspNetNoteDbContext())
     {
         var note = db.Notes.FirstOrDefault(n => n.NoteNo.Equals(noteNo));
         return(View(note));
     }
 }
예제 #6
0
 /// <summary>
 /// 게시판 리스트
 /// </summary>
 /// <returns></returns>
 public IActionResult Index()
 {
     if (HttpContext.Session.GetInt32("USER_LOGIN_KEY") == null)
     {
         return(RedirectToAction("Login", "Account"));
     }
     using (var db = new AspNetNoteDbContext())
     {
         var list = db.Notes.ToList();
         return(View(list));
     }
 }
예제 #7
0
 public IActionResult Register(User model)
 {
     if (ModelState.IsValid)
     {
         using (var db = new AspNetNoteDbContext())
         {
             db.Users.Add(model);
             db.SaveChanges();
         }
         return(RedirectToAction("Index", "Home"));
     }
     return(View());
 }
예제 #8
0
 public IActionResult Register(User model)
 {
     if (ModelState.IsValid)
     {
         // Java try(SqlSession){} catch(){}
         // C# using문 사용(DB 열고 닫고)
         using (var db = new AspNetNoteDbContext())
         {
             db.Users.Add(model); //메모리까지 올려서
             db.SaveChanges();    //실제 DB에 Update
         }
         return(RedirectToAction("Index", "Home"));
     }
     return(View(model));
 }
예제 #9
0
        public IActionResult Add(Note model)
        {
            if (ModelState.IsValid)
            {
                using (var db = new AspNetNoteDbContext())
                {
                    db.Notes.Add(model);
                    if (db.SaveChanges() > 0)
                    {
                        return(Redirect("index")); // 동일한 컨드롤일경우
                    }
                }

                ModelState.AddModelError(string.Empty, "게시물을 저장할 수 없습니다.");
            }

            return(View());
        }
예제 #10
0
 public IActionResult Login(LoginViewModel model)
 {
     if (ModelState.IsValid)
     {
         using (var db = new AspNetNoteDbContext())
         {
             // Linq - 메서드 체이닝
             var user = db.Users
                        .FirstOrDefault(x => x.UserId.Equals(model.UserId) &&
                                        x.Password.Equals(model.Password));
             if (user != null)
             {
                 HttpContext.Session.SetInt32("USER_LOGIN_KEY", user.UserNo);
                 return(RedirectToAction("LoginSuccess", "Home"));
             }
         }
         ModelState.AddModelError(string.Empty, "사용자 정보를 확인하세요.");
     }
     return(View(model));
 }
예제 #11
0
 /// <summary>
 /// 게시물 삭제
 /// </summary>
 /// <returns></returns>
 public IActionResult Delete(int noteNo)
 {
     if (HttpContext.Session.GetInt32("USER_LOGIN_KEY") == null)
     {
         return(RedirectToAction("Login", "Account"));
     }
     using (var db = new AspNetNoteDbContext())
     {
         db.Notes.Remove(new Note()
         {
             NoteNo = noteNo
         });
         if (db.SaveChanges() > 0)
         {
             return(Redirect("Index"));
         }
         ModelState.AddModelError(string.Empty, "게시물을 삭제할 수 없습니다.");
     }
     return(View());
 }