public async Task <ResponseEntity> ChangePasswordAsync(DoiMatKhauViewModel modelVm) { try { NguoiDung entity = await _nguoiDungRepository.GetByEmailAsync(modelVm.Email); if (entity == null) { return(new ResponseEntity(StatusCodeConstants.NOT_FOUND)); } entity.MatKhau = BCrypt.Net.BCrypt.HashPassword(modelVm.MatKhau); entity = await _nguoiDungRepository.UpdateAsync(entity.Id, entity); if (entity == null) { return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, modelVm, MessageConstants.UPDATE_ERROR)); } return(new ResponseEntity(StatusCodeConstants.OK, modelVm, MessageConstants.UPDATE_SUCCESS)); } catch { return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER)); } }
public async Task <ResponseEntity> SignInAsync(DangNhapViewModel modelVm) { try { // Lấy ra thông tin người dùng từ database dựa vào email NguoiDung entity = await _nguoiDungRepository.GetByEmailAsync(modelVm.Email); if (entity == null)// Nếu email sai { return(new ResponseEntity(StatusCodeConstants.NOT_FOUND, modelVm, MessageConstants.SIGNIN_WRONG)); } // Kiểm tra mật khẩu có khớp không if (!BCrypt.Net.BCrypt.Verify(modelVm.MatKhau, entity.MatKhau)) { // Nếu password không khớp return(new ResponseEntity(StatusCodeConstants.NOT_FOUND, modelVm, MessageConstants.SIGNIN_WRONG)); } // Tạo token string token = await GenerateToken(entity); if (token == string.Empty) { return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, modelVm, MessageConstants.TOKEN_GENERATE_ERROR)); } entity.Token = token; NguoiDungViewModel model = _mapper.Map <NguoiDungViewModel>(entity); return(new ResponseEntity(StatusCodeConstants.OK, model, MessageConstants.SIGNIN_SUCCESS)); } catch { return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, modelVm, MessageConstants.SIGNIN_ERROR)); } }
public override async Task <ResponseEntity> UpdateAsync(dynamic id, KhachHangViewModel modelVm) { try { KhachHang khachHang = await _khachHangRepository.GetSingleByIdAsync(id); if (khachHang == null) { return(new ResponseEntity(StatusCodeConstants.NOT_FOUND, modelVm)); } KhachHangViewModel khachHangVm = _mapper.Map <KhachHangViewModel>(khachHang); khachHangVm.ThongTinKH = JsonConvert.DeserializeObject <ThongTinKHViewModel>(khachHang.ThongTinKH); // CẬP NHẬT THÔNG TIN KHÁCH HÀNG khachHangVm.TenKH = modelVm.TenKH; khachHangVm.BiDanh = modelVm.BiDanh; khachHangVm.ThongTinKH.Email = modelVm.ThongTinKH.Email; khachHangVm.ThongTinKH.SoDienThoai = modelVm.ThongTinKH.SoDienThoai; khachHangVm.ThongTinKH.NguonGioiThieu = modelVm.ThongTinKH.NguonGioiThieu; khachHangVm.ThongTinKH.CongViecHienTai = modelVm.ThongTinKH.CongViecHienTai; khachHangVm.ThongTinKH.TruongDaVaDangHoc = modelVm.ThongTinKH.TruongDaVaDangHoc; khachHangVm.ThongTinKH.MucTieu = modelVm.ThongTinKH.MucTieu; khachHangVm.ThongTinKH.DiemTiemNang = modelVm.ThongTinKH.DiemTiemNang; khachHang = _mapper.Map <KhachHang>(khachHangVm); await _khachHangRepository.UpdateAsync(id, khachHang); // CẬP NHẬT THÔNG TIN NGƯỜI DÙNG NguoiDung nguoiDung = await _nguoiDungRepository.GetByEmailAsync(khachHangVm.ThongTinKH.Email); nguoiDung.HoTen = modelVm.TenKH; nguoiDung.BiDanh = modelVm.BiDanh; nguoiDung.SoDT = modelVm.ThongTinKH.SoDienThoai; nguoiDung.Email = modelVm.ThongTinKH.Email; await _nguoiDungRepository.UpdateAsync(nguoiDung.Id, nguoiDung); return(new ResponseEntity(StatusCodeConstants.OK, modelVm, MessageConstants.UPDATE_SUCCESS)); } catch (Exception ex) { return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER, ex.Message)); } }
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)); } }