Example #1
0
        public async Task <ResponseEntity> InsertUserAsync(DangKyViewModel modelVm)
        {
            try
            {
                NguoiDung entity = await _nguoiDungRepository.GetByEmailAsync(modelVm.Email);

                if (entity != null) // Kiểm tra email đã được sử dụng bởi tài khoản khác chưa
                {
                    return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, modelVm, MessageConstants.EMAIL_EXITST));
                }

                entity = _mapper.Map <NguoiDung>(modelVm);

                entity.Id = Guid.NewGuid().ToString();
                // Mã hóa mật khẩu
                entity.MatKhau = BCrypt.Net.BCrypt.HashPassword(modelVm.MatKhau);
                entity.Avatar  = !string.IsNullOrEmpty(modelVm.Avatar) ? modelVm.Avatar : "/static/user-icon.png";

                entity = await _nguoiDungRepository.InsertAsync(entity);

                NguoiDungViewModel model = _mapper.Map <NguoiDungViewModel>(entity);
                return(new ResponseEntity(StatusCodeConstants.CREATED, model, MessageConstants.SIGNUP_SUCCESS));
            }
            catch
            {
                return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, modelVm, MessageConstants.SIGNUP_ERROR));
            }
        }
Example #2
0
        public async Task <ResponseEntity> RegisterAsync(int id, KhachHangGhiDanhViewModel modelVm)
        {
            try
            {
                if (await _khachHangRepository.GetSingleByIdAsync(id) == null)
                {
                    return(new ResponseEntity(StatusCodeConstants.NOT_FOUND));
                }

                DangKyViewModel dangKyModel = new DangKyViewModel()
                {
                    Email   = modelVm.Email,
                    MatKhau = modelVm.MatKhau,
                    HoTen   = modelVm.HoTen,
                    BiDanh  = modelVm.BiDanh,
                    SoDT    = modelVm.SoDT,
                    Avatar  = "/static/user-icon.png"
                };

                NguoiDung entity = await _nguoiDungRepository.GetByEmailAsync(modelVm.Email);

                // Tạo tài khoản cho khách hàng nếu chưa có
                if (entity == null)
                {
                    entity    = _mapper.Map <NguoiDung>(dangKyModel);
                    entity.Id = Guid.NewGuid().ToString();
                    // Mã hóa mật khẩu
                    entity.MatKhau     = BCrypt.Net.BCrypt.HashPassword(modelVm.MatKhau);
                    entity.MaNhomQuyen = "HOCVIEN";

                    entity = await _nguoiDungRepository.InsertAsync(entity);
                }
                // Lấy ra lớp học có id trùng với mã lớp học truyền lên
                LopHoc lopHoc = await _lopHocRepository.GetSingleByIdAsync(modelVm.MaLopHoc);

                //LopHocViewModel lopHocVm = _mapper.Map<LopHocViewModel>(lopHoc);
                // Thêm vào danh sách
                HashSet <string> dsHocVien = JsonConvert.DeserializeObject <HashSet <string> >(lopHoc.DanhSachHocVien);
                dsHocVien.Add(entity.Id);

                lopHoc.DanhSachHocVien = JsonConvert.SerializeObject(dsHocVien);

                // Cập nhật lại thông tin lớp
                await _lopHocRepository.UpdateAsync(lopHoc.Id, lopHoc);

                return(new ResponseEntity(StatusCodeConstants.CREATED, lopHoc, MessageConstants.SIGNUP_SUCCESS));
            }
            catch (Exception ex)
            {
                return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER, ex.Message));
            }
        }
Example #3
0
        public ActionResult DangKy(DangKyViewModel dangKyViewModel)
        {
            TaiKhoan taiKhoan = Dbcontext.TaiKhoan.Where(m => m.TenTaiKhoan == dangKyViewModel.TaiKhoan.TenTaiKhoan).FirstOrDefault();

            if (taiKhoan == null)
            {
                if (ModelState.IsValid)
                {
                    if (dangKyViewModel.TaiKhoan.MatKhau == dangKyViewModel.NhapLaiMatKhau)
                    {
                        TaiKhoan newUser = new TaiKhoan()
                        {
                            TenTaiKhoan = dangKyViewModel.TaiKhoan.TenTaiKhoan,
                            MatKhau     = dangKyViewModel.TaiKhoan.MatKhau,
                            QuyenHan    = Models.Enum.QuyenHan.Member,
                            KhachHang   = new KhachHang()
                            {
                                TenKhachHang = dangKyViewModel.KhachHang.TenKhachHang,
                                DiaChi       = dangKyViewModel.KhachHang.DiaChi,
                                NamSinh      = dangKyViewModel.KhachHang.NamSinh,
                                SoTaiKhoan   = dangKyViewModel.KhachHang.SoTaiKhoan,
                                CMND         = dangKyViewModel.KhachHang.CMND,
                                NganHang     = dangKyViewModel.KhachHang.NganHang,
                                SoDienThoai  = dangKyViewModel.KhachHang.SoDienThoai,
                            }
                        };
                        Dbcontext.TaiKhoan.Add(newUser);
                        Dbcontext.SaveChanges();
                        return(View("Index"));
                    }
                }
            }
            List <string> listNH = new List <string>()
            {
                "TPBank",
                "VietcomBank",
                "ViettinBank",
                "SeABank",
                "VPBank",
                "SacomBank",
                "TechcomBank",
                "BIDV",
                "DongABank"
            };

            SelectList selectList = new SelectList(listNH);

            ViewBag.listNH = selectList;

            return(View());
        }
 public DangNhapController(MobileContext db)
 {
     _db      = db;
     DangKyVM = new DangKyViewModel();
 }
Example #5
0
 public async Task <IActionResult> SignUp([FromBody] DangKyViewModel model)
 {
     return(await _nguoiDungService.SignUpAsync(model));
 }
Example #6
0
 public async Task <IActionResult> Post([FromBody] DangKyViewModel model)
 {
     return(await _nguoiDungService.InsertUserAsync(model));
 }