コード例 #1
0
        public void TheoDoiTruyen(AddBookMark data)
        {
            ResponseInfo response = new ResponseInfo();

            try
            {
                string           token            = HttpContext.Current.Request.Cookies["ToKen"].Value.Replace("%3d", "=");
                string           Token            = BaoMat.Base64Decode(token);
                TblToken         TblToken         = context.Tokens.FirstOrDefault(x => x.TokenTaiKhoan == Token);
                int              ID_TaiKhoan      = TblToken.Id_TaiKhoan;
                TblTheoDoiTruyen tblTheoDoiTruyen = context.TheoDoiTruyens.FirstOrDefault(x => x.Id_NguoiDoc == ID_TaiKhoan && x.Id_Truyen == data.id_Truyen);
                if (tblTheoDoiTruyen == null)
                {
                    context.TheoDoiTruyens.Add(new TblTheoDoiTruyen
                    {
                        Id_NguoiDoc = ID_TaiKhoan,
                        Id_Truyen   = data.id_Truyen
                    });
                    context.SaveChanges();
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #2
0
        /// <summary>
        /// Lấy thông tin tài khoản đang đăng nhập
        /// Author       :   HoangNM - 29/03/2019 - create
        /// </summary>
        /// <param name="token">
        /// token của account đăng nhập.
        /// </param>
        /// <returns>
        /// Thông tin tài khoản
        /// </returns>

        public GetAccount GetAccount(string token)
        {
            string     Token      = BaoMat.Base64Decode(token);
            TblToken   TblToken   = context.Tokens.FirstOrDefault(x => x.TokenTaiKhoan == Token);
            GetAccount getAccount = context.TaiKhoans.Where(x => x.Id == TblToken.Id_TaiKhoan && !x.DelFlag).Select(x => new GetAccount
            {
                Email        = x.Email,
                GioiTinh     = x.ThongTinNguoiDung.GioiTinh,
                Id_Face      = x.Id_Face,
                Id_google    = x.Id_Google,
                Id_TrangThai = x.Id_TrangThai,
                TenTrangThai = x.TrangThaiTaiKhoan.TenTrangThai,
                Id_NhomDich  = x.Id_NhomDich,
                TenNhom      = x.NhomDich.TenNhomDich,
                Username     = x.Username,
                Ten          = x.ThongTinNguoiDung.Ten,
                NgaySinh     = x.ThongTinNguoiDung.NgaySinh,
                NgayHetHan   = TblToken.ThoiGianHetHan,
                Token        = token
            }).FirstOrDefault();
            long TongQuyen = (long)context.TaiKhoans.Where(x => x.Id == TblToken.Id_TaiKhoan && !x.DelFlag).FirstOrDefault().PhanQuyen.TongQuyen;

            getAccount.Permissions = context.Quyens.Where(x => !x.DelFlag && ((long)x.BitQuyen & TongQuyen) != 0).Select(x => new AllPermission
            {
                TenQuyen = x.TenQuyen,
                Id_Quyen = x.Id
            }).ToList();

            return(getAccount);
        }
コード例 #3
0
ファイル: Common.cs プロジェクト: hungud/truyenda-backend
        /// <summary>
        /// Lấy tổng quyền của tài khoản
        /// Author       :   HoangNM - 17/04/2019 - create
        /// </summary>
        /// <param name="token">
        /// token của tài khoản đang đăng nhập
        /// </param>
        /// <returns>
        /// Trả về tài khoản đang đăng nhập
        /// </returns>
        public static decimal GetTongQuyen()
        {
            string      token    = HttpContext.Current.Request.Cookies["ToKen"].Value.Replace("%3d", "=");
            DataContext context  = new DataContext();
            string      Token    = BaoMat.Base64Decode(token);
            TblToken    TblToken = context.Tokens.FirstOrDefault(x => x.TokenTaiKhoan == Token);

            return(context.TaiKhoans.Where(x => x.Id == TblToken.Id_TaiKhoan && !x.DelFlag).FirstOrDefault().PhanQuyen.TongQuyen);
        }
コード例 #4
0
ファイル: Common.cs プロジェクト: hungud/truyenda-backend
        /// <summary>
        /// Lấy thông tin của tài khoản đang đăng nhập
        /// Author       :   HoangNM - 1/04/2019 - create
        /// </summary>
        /// <param name="token">
        /// token của tài khoản đang đăng nhập
        /// </param>
        /// <returns>
        /// Trả về tài khoản đang đăng nhập
        /// </returns>
        public static GetAccount GetAccount()
        {
            string      token    = HttpContext.Current.Request.Cookies["ToKen"].Value.Replace("%3d", "=");
            DataContext context  = new DataContext();
            string      Token    = BaoMat.Base64Decode(token);
            TblToken    TblToken = context.Tokens.FirstOrDefault(x => x.TokenTaiKhoan == Token);

            return(context.TaiKhoans.Where(x => x.Id == TblToken.Id_TaiKhoan && !x.DelFlag).Select(x => new GetAccount
            {
                Id = x.Id,
                IdNhom = x.Id_NhomDich,
                IdQuyen = x.Id_PhanQuyen,
                TongQuyen = x.PhanQuyen.TongQuyen
            }).FirstOrDefault());
        }
コード例 #5
0
        /// <summary>
        /// Update thông tin cá nhân
        /// Author       :   HoangNM - 29/03/2019 - create
        /// </summary>
        /// <param name="account">
        /// thông tin mà người dùng muốn thay đổi
        /// </param>
        /// <returns>
        /// Thông báo
        /// </returns>

        public ResponseInfo UpdateAccount(UpdateAccount account)
        {
            DbContextTransaction transaction = context.Database.BeginTransaction();
            ResponseInfo         response    = new ResponseInfo();

            try
            {
                string token = HttpContext.Current.Request.Cookies["ToKen"].Value.Replace("%3d", "=");
                token = BaoMat.Base64Decode(token);
                TblToken TblToken = context.Tokens.FirstOrDefault(x => x.TokenTaiKhoan == token);

                if (account.New_Passord != "" && string.Compare(account.New_Passord, account.Confirm_Password) == 0)
                {
                    string Hash_Pass = BaoMat.GetMD5(BaoMat.GetSimpleMD5(account.New_Passord), context.TaiKhoans.Where(x => x.Id == TblToken.TaiKhoan.Id && !x.DelFlag).FirstOrDefault().salt_Pass);
                    //cập nhật mật khẩu
                    context.TaiKhoans.Where(x => x.Id == TblToken.TaiKhoan.Id && !x.DelFlag).Update(y => new TblTaiKhoan
                    {
                        hash_Pass = Hash_Pass
                    });
                }


                context.ThongTinNguoiDungs.Where(x => x.Id == TblToken.TaiKhoan.ThongTinNguoiDung.Id && !x.DelFlag).Update(x => new TblUser
                {
                    Ten      = account.Ten,
                    NgaySinh = account.NgaySinh,
                    GioiTinh = account.GioiTinh
                });
                context.SaveChanges();
                response.IsSuccess = true;
                transaction.Commit();

                var errorMsg = new GetErrorMsg().GetMsg((int)MessageEnum.MsgNO.CapNhatThongTinThanhCong);
                response.TypeMsgError = errorMsg.Type;
                response.MsgError     = errorMsg.Msg;
            }
            catch (Exception e)
            {
                response.IsSuccess = false;
                transaction.Rollback();
                throw e;
            }

            return(response);
        }
コード例 #6
0
        /// <summary>
        /// Tìm kiếm các tài khoản theo phân trang và tìm kiếm
        /// Author       :   HoangNM - 18/03/2019 - create
        /// </summary>
        /// <param name="condition">Đối tượng chứa điều kiện tìm kiếm</param>
        /// <param name="type">loại quyền của tài khoản</param>
        /// <returns>Danh sách các tác giả đã tìm kiếm được. Exception nếu có lỗi</returns>
        public DanhSachTaiKhoan GetListTaiKhoan(int page)
        {
            try
            {
                // Nếu không tồn tại điều kiện tìm kiếm thì khởi tạo giá trị tìm kiếm ban đầu
                //if (condition == null)
                //{
                //    condition = new TaiKhoanConditionSearch();
                //}
                DanhSachTaiKhoan listTaiKhoan = new DanhSachTaiKhoan();
                var kt = Convert.ToInt64(new GetPermission().GetQuyen("ACCOUNT_MAN")) & Convert.ToInt64(Common.Common.GetTongQuyen());

                if (kt == 0)
                {
                    string   Token    = Common.Common.GetTokenTaiKhoan();
                    TblToken TblToken = context.Tokens.FirstOrDefault(x => x.TokenTaiKhoan == Token);
                    int      IdNhom   = context.TaiKhoans.FirstOrDefault(x => x.Id == TblToken.Id_TaiKhoan).Id_NhomDich;
                }

                // Lấy các thông tin dùng để phân trang
                listTaiKhoan.Paging = new Paging(context.TaiKhoans.Count(x => !x.DelFlag), page);
                // Tìm kiếm và lấy dữ liệu theo trang
                listTaiKhoan.listTaiKhoan = context.TaiKhoans.Where(x => !x.DelFlag).OrderBy(x => x.Id)
                                            .Skip((listTaiKhoan.Paging.CurrentPage - 1) * listTaiKhoan.Paging.NumberOfRecord)
                                            .Take(listTaiKhoan.Paging.NumberOfRecord).Select(x => new QL_TaiKhoan
                {
                    Id          = x.Id,
                    Username    = x.Username,
                    Email       = x.Email,
                    IdNhom      = x.Id_NhomDich,
                    IdTrangThai = x.Id_TrangThai,
                    TenNhom     = x.NhomDich.TenNhomDich,
                    IdQuyen     = x.Id_PhanQuyen,
                    TenQuyen    = x.PhanQuyen.TenVaiTro
                }).ToList();
                listTaiKhoan.CurrentPage = page;

                return(listTaiKhoan);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #7
0
ファイル: LoginModel.cs プロジェクト: hungud/truyenda-backend
        /// <summary>
        /// Kiểm tra thông tin tài khoản người dùng nhập vào có đúng hay không
        /// Author       :   HoangNM - 28/02/2019 - create
        /// </summary>
        /// <param name="account">Đối tượng chưa thông tin tài khoản</param>
        /// <returns>Đối tượng ResponseInfo chứa thông tin của việc kiểm tra</returns>
        public ResponseInfo CheckAccount(TaiKhoan account)
        {
            try
            {
                ResponseInfo result   = new ResponseInfo();
                TblTaiKhoan  taiKhoan = context.TaiKhoans.FirstOrDefault(x => x.Username == account.Username);

                if (taiKhoan == null)
                {
                    var errorMsg = new GetErrorMsg().GetMsg((int)MessageEnum.MsgNO.KhongCoTaiKhoan);
                    result.Code         = 400;
                    result.TypeMsgError = errorMsg.Type;
                    result.MsgError     = errorMsg.Msg;
                }
                else if ((taiKhoan.hash_Pass) != BaoMat.GetMD5(BaoMat.GetSimpleMD5(account.Password), taiKhoan.salt_Pass))
                {
                    result.Code = 400;
                    var errorMsg = new GetErrorMsg().GetMsg((int)MessageEnum.MsgNO.MatKhauSai);
                    result.TypeMsgError = errorMsg.Type;
                    result.MsgError     = errorMsg.Msg;
                }
                else
                {
                    //Chứa thông tin chuỗi token
                    string   token   = Common.Common.GetToken(taiKhoan.Id);
                    TblToken tokenLG = new TblToken
                    {
                        Id_TaiKhoan    = taiKhoan.Id,
                        TokenTaiKhoan  = token,
                        ThoiGianHetHan = DateTime.Now.AddHours(24)
                    };
                    context.Tokens.Add(tokenLG);
                    context.SaveChanges();
                    result.IsSuccess = true;
                    result.Data      = new
                    {
                        Profile = new Profile()
                        {
                            Id_TrangThai = taiKhoan.Id_TrangThai,
                            TenTrangThai = taiKhoan.TrangThaiTaiKhoan.TenTrangThai,
                            Id_NhomDich  = taiKhoan.Id_NhomDich,
                            TenNhomDich  = taiKhoan.NhomDich.TenNhomDich,
                            Username     = taiKhoan.Username,
                            Email        = taiKhoan.Email,
                            Id_Face      = taiKhoan.Id_Face,
                            Id_Google    = taiKhoan.Id_Google,
                            GioiTinh     = taiKhoan.ThongTinNguoiDung.GioiTinh,
                            Ten          = taiKhoan.ThongTinNguoiDung.Ten,
                            NgaySinh     = (DateTime)taiKhoan.ThongTinNguoiDung.NgaySinh,
                            NgayHetHan   = tokenLG.ThoiGianHetHan,
                            Permissions  = new QuyenProFile
                            {
                                TenvaiTro = taiKhoan.PhanQuyen.TenVaiTro,
                                Id_VaiTro = taiKhoan.PhanQuyen.Id
                            }
                        },
                        Token = BaoMat.Base64Encode(token)
                    };
                    result.ThongTinBoSung1 = BaoMat.Base64Encode(token);


                    var errorMsg = new GetErrorMsg().GetMsg((int)MessageEnum.MsgNO.DangNhapThanhCong);
                    result.TypeMsgError = errorMsg.Type;
                    result.MsgError     = errorMsg.Msg;
                }

                return(result);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #8
0
ファイル: LoginModel.cs プロジェクト: hungud/truyenda-backend
        /// <summary>
        /// So khớp thông tin đăng nhập có thừ FB hoặc GG với thông tin tài khoản của hệ thống.
        /// Author       :   Hoang - 30/04/2019 - create
        /// </summary>
        /// <param name="socialAccount">Thông tin cá nhân lấy được từ FB </param>
        /// <returns>Đối tượng chứ token login của tài khoản trong hệ thống</returns>
        public TblToken CheckSocialAccount(SocialAccount socialAccount)
        {
            DbContextTransaction transaction = context.Database.BeginTransaction();

            try
            {
                if (socialAccount.Id != "")
                {
                    TblTaiKhoan account = context.TaiKhoans.FirstOrDefault(x => x.Email == socialAccount.Email && !x.DelFlag);
                    if (account == null)
                    {
                        account = context.TaiKhoans.FirstOrDefault(x => (
                                                                       x.Id_Face == socialAccount.Id) && !x.DelFlag);
                        if (account != null && socialAccount.Email != "")
                        {
                            account.Email = socialAccount.Email;
                        }
                    }
                    else
                    {
                        account.Id_Face = socialAccount.Id;
                    }
                    if (account == null)
                    {
                        TblUser user = new TblUser
                        {
                            Ten      = socialAccount.FirstName + " " + socialAccount.LastName,
                            GioiTinh = socialAccount.Gender,
                            NgaySinh = socialAccount.Birthday,
                        };
                        context.ThongTinNguoiDungs.Add(user);
                        context.SaveChanges();
                        account = new TblTaiKhoan
                        {
                            Username  = "",
                            hash_Pass = "",
                            salt_Pass = "",
                            Email     = socialAccount.Email,
                            Id_Face   = socialAccount.Id
                        };



                        context.TaiKhoans.Add(account);
                    }
                    TblToken tokenLogin = new TblToken
                    {
                        TokenTaiKhoan  = Common.Common.GetToken(account.Id),
                        ThoiGianHetHan = DateTime.Now.AddHours(12)
                    };
                    account.Tokens.Add(tokenLogin);
                    context.SaveChanges();
                    transaction.Commit();
                    return(tokenLogin);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                transaction.Rollback();
                throw e;
            }
        }