コード例 #1
0
        public IActionResult Edit(Note model)
        {
            var noteNo = model.NoteNo;

            if (HttpContext.Session.GetInt32("USER_LOGIN_KEY") == null)
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                if (ModelState.IsValid)
                {
                    using (var db = new AspnetNoteDbContext())
                    {
                        var note = db.Notes.FirstOrDefault(n => n.NoteNo.Equals(noteNo));

                        if (note != null)
                        {
                            note.NoteTitle    = model.NoteTitle;
                            note.NoteContents = model.NoteContents;

                            db.SaveChanges();

                            return(Redirect("Index"));
                        }
                    }
                    //전형적인 에러메시지
                    ModelState.AddModelError(string.Empty, "게시물을 저장할 수 없습니다.");
                }
                return(View(model));
            }
        }
コード例 #2
0
ファイル: NoteController.cs プロジェクト: s730921/AspnetNote
        public IActionResult Add(Note model)
        {
            if (HttpContext.Session.GetInt32("LOGIN_KEY") == null)
            {
                return(RedirectToAction("Login", "Account"));
            }

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

            if (ModelState.IsValid)
            {
                using (var db = new AspnetNoteDbContext())
                {
                    db.Notes.Add(model);

                    if (db.SaveChanges() > 0)
                    {
                        //return RedirectToAction("Index", "Note"); //다른 폴더로 이동할 때
                        return(Redirect("Index"));                   // 같은 폴더에서 이동할 때
                    }
                    ModelState.AddModelError(string.Empty, "게시물을 저장할 수 없습니다.");
                }
            }
            return(View(model));
        }
コード例 #3
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)
                    {
                        return(Redirect("Index"));
                    }
                    // 동일한 컨트롤러 내에서는 Redirect, 타 컨트롤러에 접근할때는 RedirectToAction("Action", "Controller")
                }
                ModelState.AddModelError(string.Empty, "게시물을 저장할 수 없습니다.");
            }
            return(View(model));
        }
コード例 #4
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);


                    //var result =  db.SaveChanges(); // commit

                    if (db.SaveChanges() > 0)
                    {
                        //동일한 위치의 Index로 이동
                        return(Redirect("Index"));
                        //return RedirectToAction("Index","Home");
                    }
                }
                ModelState.AddModelError(string.Empty, "게시물을 저장할 수 없습니다.");
            }
            return(View(model));
        }
コード例 #5
0
        public IActionResult Login(LoginViewModelClass model)
        {
            //Id, Pw -필수
            //using 문에 한 줄이라도 줄면 속도가 빨라진다
            if (ModelState.IsValid)
            {
                using (var db = new AspnetNoteDbContext())
                {
                    //Linq - 메서드 체이닝
                    //=> : A Go to B
                    // == 메모리에 누수가 발생할 수 있다. UserID는 DB에서 받아왔을 거고 ==는 새로운 객체, String을 선언하게 된다. 그래서 일치여부는
                    //
                    //var user = db.Users.FirstOrDefault(u=>u.UserId == model.UserId && u.UserPassword == model.UserPassword);
                    //equals를 사용해야 메모리누수가 발생하지않는다.
                    var user = db.Users.FirstOrDefault(u => u.UserId.Equals(model.UserId) && u.UserPassword.Equals(model.UserPassword));

                    if (user != null)
                    {
                        //로그인 성공 페이지로 이동
                        //HttpContext.Session.SetInt32(key, value);
                        //로그인시 등재 로그아웃되면 빠져나감
                        HttpContext.Session.SetInt32("USER_LOGIN_KEY", user.UserNo);
                        return(RedirectToAction("LoginSuccess", "Home"));
                    }
                }
                //로그인에 실패했을 때
                ModelState.AddModelError(string.Empty, "로그인 정보가 올바르지 않습니다.");
            }



            return(View());
        }
コード例 #6
0
        public IActionResult Login(LoginModelView model)
        {
            // ID, 비밀번호 - 필수
            if (ModelState.IsValid)
            {
                using (var db = new AspnetNoteDbContext())
                {
                    // Linq - 메서드 체이닝
                    // => : A Go to B
                    //var user = db.Users.FirstOrDefault(u => u.UserID == model.UserID && u.UserPassword == model.UserPassword);
                    var user = db.Users.FirstOrDefault(u => u.UserID.Equals(model.UserID) &&
                                                       u.UserPassword.Equals(model.UserPassword));

                    if (user != null)
                    {
                        // 로그인 성공
                        //HttpContext.Session.SetInt32(key, value);
                        HttpContext.Session.SetInt32("LOGIN_KEY", user.UserNo);
                        return(RedirectToAction("LoginSuccess", "Home"));    //로그인 성공 페이지로 이동
                    }
                }
                // 로그인 실패
                ModelState.AddModelError(string.Empty, "사용자 ID 혹인 비밀번호가 올바르지 않습니다.");
            }
            return(View(model));
        }
コード例 #7
0
        public async Task <IActionResult> CommentAdd(NoteComments 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())
                {
                    await db.NoteComments.AddAsync(model);

                    string returnUrl = "Detail?NoteNo=" + model.NoteNo;
                    if (db.SaveChanges() > 0)
                    {
                        return(Redirect(returnUrl)); // 현재 게시물로 이동
                    }
                }
                ModelState.AddModelError(string.Empty, "댓글 내용을 저장할 수 없습니다.");
            }
            return(View(model));
        }
コード例 #8
0
        public IActionResult Login(LoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (var db = new AspnetNoteDbContext())
                {
                    //Linq - Mathod chaining  *** Linq query method ***
                    // => : A Go to B
                    //var user = db.Users.FirstOrDefault(u => u.UserId == model.UserId && u.UserPassword == model.UserPassword); //memory leaking

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

                    // if....No ID??? // var user = db.Users.FirstOrDefault(u => u.UserId.Equals(model.UserId));

                    if (user != null)
                    {
                        //Success
                        //HttpContext.Session.SetInt32(key, value);
                        HttpContext.Session.SetInt32("USER_LOGIN_KEY", user.UserNo);
                        return(RedirectToAction("LoginSuccess", "Home"));
                    }
                }

                //Fail
                ModelState.AddModelError(string.Empty, "User is not exist.");
            }
            return(View(model));
        }
コード例 #9
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());

            // Note 에서 받아야할 모든 값을 받았는지 체크 ( Note의 [Reqired] 가 있는 컬럼들 )
            if (ModelState.IsValid)
            {
                using (var db = new AspnetNoteDbContext())
                {
                    db.Notes.Add(model);
                    if (db.SaveChanges() > 0)      // 성공개수 반환함.
                    {
                        return(Redirect("Index")); // 동일한 컨트롤러면 RedirectToAction 안 써도 됨
                    }
                }
                ModelState.AddModelError(String.Empty, "게시물을 저장할 수 없습니다."); // 전역적 에러 메세지
            }
            return(View(model));                                            // 뭔가 잘못된게 있으면 model 넘겨서 어떤게 잘못된지 찾는다.
        }
コード例 #10
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 == model.UserId && u.UserPassword == model.UserPassword);
                    var user = db.Users.FirstOrDefault(u => u.UserId.Equals(model.UserId) && u.UserPassword.Equals(model.UserPassword));

                    if (user != null)
                    {
                        //HttpContext.Session.SetInt32(key, value);
                        HttpContext.Session.SetInt32("USER_LOGIN_KEY", user.UserNo);

                        // 로그인에 성공했을 때
                        return(RedirectToAction("LoginSucess", "Home")); //로그인 성공 페이지로 이동
                    }
                }
                // 로그인에 실패했을 때
                // 사용자 ID 자체가 회원가입 x 경우
                ModelState.AddModelError(string.Empty, "사용자 ID 혹은 비밀번호가 올바르지 않습니다.");

                // 사용자 ID 자체가 회원가입 x 경우
                //ModelState.AddModelError(string.Empty, "사용자 ID가 존재하지 않습니다.");
            }

            return(View(model));
        }
コード例 #11
0
        //[HttpPost]
        public IActionResult Login(LoginViewModel model)
        {
            // User ID, Password - Required
            if (ModelState.IsValid)
            {
                using (var db = new AspnetNoteDbContext())
                {
                    // Linq - method chain
                    // => : A Go to B

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

                    if (user != null)
                    {
                        //Login Sucessful
                        //HttpContext.Session.SetInt32(key, value);

                        HttpContext.Session.SetInt32("USER_LOGIN_KEY", user.UserNo);


                        return(RedirectToAction("LoginSucess", "Home")); //Redirects to LoginSucess View in Home controller
                    }
                }
                //Login Failed
                ModelState.AddModelError(string.Empty, "User ID or User Password is not correct.");
            }
            return(View(model));
        }
コード例 #12
0
 public IActionResult Login(LoginViewModel model)
 {
     // ID, PW - 필수 ( Required 조건 체크 ) -- 기존 User 객체는 이름까지 Required 라서 ID , PW 만 필요한 View를 만들어준다.
     if (ModelState.IsValid)
     {
         using (var db = new AspnetNoteDbContext()) // DB를 열고 닫겠다!
         {
             // 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(key, value); -- 세션에 등록하기
                 HttpContext.Session.SetInt32("USER_LOGIN_KEY", user.UserNo);
                 return(RedirectToAction("LoginSuccess", "Home")); // 로그인 성공 페이지로 이동
             }
         }
         //로그인 실패
         ModelState.AddModelError(String.Empty, "사용자 ID 혹은 비밀번호가 올바르지 않습니다.");
     }
     return(View(model));
 }
コード例 #13
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 == model.UserId && u.UserPassWord == model.UserPassWord);
             var user = db.Users
                        .FirstOrDefault(u => u.UserId.Equals(model.UserId) && u.UserPassWord.Equals(model.UserPassWord));
             if (user != null)
             {
                 //로그인에 성공했을 때
                 //HttpContext.Session.SetInt32(key,value);  //key는 식별자가 필요하다. value : 실제 데이터 값 (사용자 번호)
                 HttpContext.Session.SetInt32("USER_LOGIN_KEY", user.UserNo);
                 return(RedirectToAction("LoginSuccess", "home"));
             }
             //로그인에 실패했을 때
             //사용자 ID 자체가 회원가입이 안되는 경우
         }
         ModelState.AddModelError(string.Empty, "사용자 ID 혹은 비밀번호가 올바르지 않습니다.");
     }
     return(View(model));
 }
コード例 #14
0
        public async Task <IActionResult> Index()
        {
            using (var db = new AspnetNoteDbContext())
            {
                var MainNote = await db.Notes.Include(uwn => uwn.User).OrderByDescending(uwn => uwn.NoteNo).Take(5).ToListAsync();

                return(View(MainNote));
            }
        }
コード例 #15
0
ファイル: NoteController.cs プロジェクト: s730921/AspnetNote
 /// <summary>
 /// 게시물 리스트
 /// </summary>
 /// <returns></returns>
 public IActionResult Index()
 {
     if (HttpContext.Session.GetInt32("LOGIN_KEY") == null)
     {
         return(RedirectToAction("Login", "Account"));
     }
     using (var db = new AspnetNoteDbContext())
     {
         var list = db.Notes.ToList();
         return(View(list));
     }
 }
コード例 #16
0
ファイル: NoteController.cs プロジェクト: s730921/AspnetNote
 /// <summary>
 /// 게시판 상세보기
 /// </summary>
 /// <param name="noteNo"></param>
 /// <returns></returns>
 public IActionResult Detail(int noteNo)
 {
     if (HttpContext.Session.GetInt32("LOGIN_KEY") == null)
     {
         return(RedirectToAction("Login", "Account"));
     }
     using (var db = new AspnetNoteDbContext())
     {
         var note = db.Notes.FirstOrDefault(u => u.NoteNo.Equals(noteNo));
         return(View(note));
     }
 }
コード例 #17
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(model));
 }
コード例 #18
0
 public IActionResult Register(User model)
 {
     if (ModelState.IsValid)                        // 사용자에게 필수 입력 내용들이 모두 입력을 받았는지 확인하는 명령
     {
         using (var db = new AspnetNoteDbContext()) //false가 나오면 using문 사용 불가 / model로 돌아간다
         {
             db.Users.Add(model);                   // 메모리로 올리는 것
             db.SaveChanges();                      // 실제 sql에 저장하는 명령
         }
         return(RedirectToAction("Index", "Home")); // 다른 뷰로 전달 할 때 홈 컨트롤러에 있는 인덱스 뷰로 전달을 하는 명령
     }
     return(View(model));
 }
コード例 #19
0
        // GET: /<controller>/
        public IActionResult Index()
        {
            if (HttpContext.Session.GetInt32("USER_LOGIN_KEY") == null)
            {
                // Login Status
                return(RedirectToAction("Login", "Account"));
            }
            //var list = new List<Note>();

            using (var db = new AspnetNoteDbContext())
            {
                var list = db.Notes.ToList(); // Will bring all list
                return(View(list));
            }
        }
コード例 #20
0
        /// <summary>
        /// 게시판 리스트
        /// </summary>
        /// <returns></returns>
        /// 비동기 및 페이징기능 추가
        /// 검색 기능 추가
        public async Task <IActionResult> Index(string searchType, string search, int page = 1)
        {
            using (var db = new AspnetNoteDbContext())
            {
                // Notes 와 User 테이블 조인
                //var UsersWithNotes = db.Notes.Include(uwn => uwn.User).OrderByDescending(uwn => uwn.NoteNo).ToListAsync();
                //return View(await UsersWithNotes);
                var query = db.Notes.AsNoTracking().Include(uwn => uwn.User).OrderByDescending(uwn => uwn.NoteNo).AsQueryable();

                // select box 검색 기능 추가
                if (!string.IsNullOrWhiteSpace(search))
                {
                    switch (searchType)
                    {
                    case "NoteTitle":
                        query = query.Where(uwn => uwn.NoteTitle.Contains(search));
                        break;

                    case "UserName":
                        query = query.Where(uwn => uwn.User.UserName.Contains(search));
                        break;

                    case "NoteContents":
                        query = query.Where(uwn => uwn.NoteContents.Contains(search));
                        break;

                    case "NoteAll":
                        query      = query.Where(uwn => uwn.NoteTitle.Contains(search) || uwn.NoteContents.Contains(search));
                        searchType = "NoteTitle";
                        break;

                    default:
                        query      = query.Where(uwn => uwn.NoteTitle.Contains(search) || uwn.NoteContents.Contains(search));
                        searchType = "NoteTitle";
                        break;
                    }
                    // query = query.Where(uwn => uwn.NoteTitle.Contains(search));
                }

                var UsersWithNotes = await PagingList.CreateAsync(query, 10, page, "NoteNo", searchType);

                UsersWithNotes.RouteValue = new RouteValueDictionary
                {
                    { "filter", search }
                };
                return(View(UsersWithNotes));
            }
        }
コード例 #21
0
        /// <summary>
        /// 게시판 상세
        /// </summary>
        /// <param name="NoteNo"></param>
        /// <returns></returns>
        public async Task <IActionResult> Detail(int NoteNo)
        {
            using (var db = new AspnetNoteDbContext())
            {
                dynamic dNoteComments = new ExpandoObject();
                // Notes(게시물) 와 NoteComments(게시물 댓글)
                dNoteComments.note = await db.Notes.Include(uwn => uwn.User).FirstOrDefaultAsync(n => n.NoteNo.Equals(NoteNo));

                dNoteComments.noteComments = await db.NoteComments.Include(nc => nc.User).Where(nc => nc.NoteNo.Equals(NoteNo)).ToListAsync();

                dNoteComments.CommentsCount = await db.NoteComments.CountAsync(nc => nc.NoteNo.Equals(NoteNo));

                dNoteComments.UserNo = HttpContext.Session.GetInt32("USER_LOGIN_KEY");
                return(View(dNoteComments));
            }
        }
コード例 #22
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 == model.UserId && u.UserPassword == model.UserPassword);
                    // 메모리 누수 방지
                    var user = db.Users
                               .FirstOrDefault(u => u.UserId.Equals(model.UserId) &&
                                               u.UserPassword.Equals(model.UserPassword));
                    //var user = db.Users.FirstOrDefault(u => u.UserId.Equals(model.UserId));

                    /* if (user == null)
                     * {
                     *  // 로그인에 실패했을 때
                     *  ModelState.TryAddModelError(string.Empty, "사용자 ID 혹은 비밀번호가 올바르지 않습니다.");
                     *
                     *  // 사용자 ID 자체가 회원가입 X 경우 - 로그인에서는 권장하지 않는다. 회원가입에서나 권장.
                     *  // ModelState.TryAddModelError(string.Empty, "사용자 ID 가 존재않는다." );
                     * }
                     * else
                     * {
                     *  // 로그인에 성공했을 때
                     *  return RedirectToAction("LoginSuccess", "Home"); // 로그인 성공 페이지로 이동
                     * } */

                    // if 문 정리 else 가 없어도 논리적으로 동일하기 때문에 굳이 else 쓸 필요 없음.
                    // 실패메세지도 굳이 using 문 안에 있을 필요 없음.
                    if (user != null)
                    {
                        // 로그인에 성공했을 때
                        //HttpContext.Session.SetInt32(key, value); key는 특정 세션을 식별하는 식별자, value는 실제 데이터 값
                        HttpContext.Session.SetInt32("USER_LOGIN_KEY", user.UserNo);
                        return(RedirectToAction("LoginSuccess", "Home")); // 로그인 성공 페이지로 이동
                    }
                }
                // 로그인에 실패했을 때
                ModelState.TryAddModelError(string.Empty, "사용자 ID 혹은 비밀번호가 올바르지 않습니다.");
            }
            return(View(model));
        }
コード例 #23
0
        public IActionResult Register(User model)
        {
            if (ModelState.IsValid)
            {
                //Java try(sqlSession) {} catch(){}
                //데이터베이스 입출력을 할 때에 openconnection after close
                using (var db = new AspnetNoteDbContext())
                {
                    //메모리까지 올리기
                    db.Users.Add(model);
                    //sql로 저장하기
                    db.SaveChanges();
                }
                //Home컨트롤러에 있는 Index action으로 리다이렉트하겠다.
                return(RedirectToAction("Index", "Home"));
            }

            return(View(model));
        }
コード例 #24
0
 public IActionResult Register(User model)// 메서드이름만 같고 인자 다르게해서 오버로딩한다.
 {
     // 벨리데이션 체크?
     if (ModelState.IsValid) // 사용자한테 필수로 입력받아야할 내용을 모두 입력 받았느냐
     {
         using (var db = new AspnetNoteDbContext())
         {
             // 사용자 한테 입력받은 데이터가 model 이기 때문에 model은 사용한다.
             // ★ 모두 필수적으로 입력을 받았는지 안받았는지 판단하는 기준은 Model에 있는 [Required] 기준이다
             // 즉, Required된 값이 모두 입력받지 못하면 IsValid는 false이다.★
             db.Users.Add(model); // 메모리 까지 올리기 -> 디버깅해보면 OnConfiguring 간다
             db.SaveChanges();    // 실제 sql로 저장(DB에 commit)
         }
         // Register View에서 다른 뷰로 전달
         return(RedirectToAction("Index", "Home")); // HomeController에 있는 Index 액션으로 전달을 하겠다.
     }
     // 벨리데이션 체크 실패하면
     return(View(model)); // Register 뷰로 다시 돌아간다.
 }
コード例 #25
0
        /// <summary>
        /// 게시물 수정
        /// </summary>
        /// <returns></returns>
        public async Task <IActionResult> Edit(int NoteNo)
        {
            if (HttpContext.Session.GetInt32("USER_LOGIN_KEY") == null)
            {
                // 로그인이 안된 상태
                return(RedirectToAction("Login", "Account"));
            }
            using (var db = new AspnetNoteDbContext())
            {
                // Notes 와 User 테이블 조인
                var note = await db.Notes.Include(uwn => uwn.User).FirstOrDefaultAsync(n => n.NoteNo.Equals(NoteNo));

                if (HttpContext.Session.GetInt32("USER_LOGIN_KEY") == note.UserNo)
                {
                    return(View(note));
                }
                // 메세지나 오류 처리 해야함 또는 오류페이지 만들어야 함
                return(RedirectToAction("Error", "Home"));
            }
        }
コード例 #26
0
        public IActionResult Register(User model)
        {
            //유효성 체크
            if (ModelState.IsValid)
            {
                /*
                 * java에서는 try{}catch{} 으로 처리
                 * c#에서는 using문을 사용함
                 * using에서 db설정 후 해당 구문을 빠져나가면 db가 자동으로 닫히게 됨.
                 */
                using (var db = new AspnetNoteDbContext())
                {
                    db.Users.Add(model);    //메모리에 올라감
                    db.SaveChanges();       //sql에 업로드

                    return(RedirectToAction("index", "Home"));
                }
            }
            return(View(model));
        }
コード例 #27
0
        public IActionResult Login(LoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (var db = new AspnetNoteDbContext())
                {
                    //linq - 메서드 체인닝으로 처리 함.
                    //var user = db.Users.FirstOrDefault(u => u.User_Id == model.User_Id && u.User_Password == model.User_Password);
                    var user = db.Users.FirstOrDefault(u => u.User_Id.Equals(model.User_Id) && u.User_Password.Equals(model.User_Password));

                    if (user != null)
                    {
                        //Login성공
                        return(RedirectToAction("LoginSuccess", "Home")); //로그인 성공 페이지로 이동
                    }
                }
                //Login에 실패
                ModelState.AddModelError(string.Empty, "사용자 ID 혹은 비밀번호가 올바르지 않습니다.");
            }
            return(View(model));
        }
コード例 #28
0
        public IActionResult Register(User model)
        {
            // Check validation

            // C#  Java try(SqlSession){} catch(){}
            if (ModelState.IsValid)
            {
                using (var db = new AspnetNoteDbContext())
                {
                    // 메모리 상에 올라감
                    db.Users.Add(model);

                    // sql로 저장
                    db.SaveChanges();
                }
                // 돌아가는 위치
                return(RedirectToAction("Index", "Home"));
            }

            return(View(model));
        }
コード例 #29
0
 public IActionResult Login(LoginViewModel model)
 {
     if (ModelState.IsValid)
     {
         using (var db = new AspnetNoteDbContext())
         {
             // Linq Method Chaining
             var user = db.Users.FirstOrDefault(u => u.UserId.Equals(model.UserId) &&
                                                u.UserPassword.Equals(model.UserPassword));
             if (user != null)
             {
                 // Login Success
                 //HttpContext.Session.SetInt32(key, value);
                 HttpContext.Session.SetInt32("USER_LOGIN_KEY", user.UserNo);
                 return(RedirectToAction("Index", "Home"));
             }
         }
         // Login Fail
         ModelState.AddModelError(string.Empty, "Invalid User");
     }
     return(View(model));
 }
コード例 #30
0
        public IActionResult Register(User model)
        {
            // User.cs 의 Required 가 있는데 사용자가 폼에서 하나라도 입력을 안하면
            // IsValid 는 false를 반환함. Required가 있는 항목만 검사함
            if (ModelState.IsValid)
            {
                // java try(sqlsession){} catch(){}

                // C#
                // using문을 써가지고 데이터컨텍스트를 데이터커넥션을 열고
                // using문이 끝나고 바깥에 나가면 자동으로 클로징이 되서 using문 사용
                using (var db = new AspnetNoteDbContext())
                {
                    // 메모리까지 올림
                    db.Users.Add(model);
                    // 실제 sql에 저장
                    db.SaveChanges(); // Commit
                }
                return(RedirectToAction("index", "Home"));
            }
            return(View(model));
        }