Beispiel #1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!Page.IsPostBack)
     {
         Dangnhap.Focus();
     }
 }
Beispiel #2
0
        public ActionResult Login()
        {
            var countDB = db.Nguoidungs.Count();

            //set up tài khoản admin nếu hệ thống chưa có ai
            if (countDB == 0)
            {
                String firstHash  = String.Concat(UserInfo.CreateMD5("123456").ToLower(), "123456");
                String md5MatKhau = UserInfo.CreateMD5(firstHash);

                Nguoidung _ngDung = new Nguoidung();
                _ngDung.Taikhoan = "admin";
                _ngDung.Matkhau  = md5MatKhau.ToLower();
                _ngDung.Isadmin  = true;
                db.Nguoidungs.Add(_ngDung);
                db.SaveChanges();

                Dangnhap _dangNhap = new Dangnhap();
                _dangNhap.NguoidungID      = _ngDung.NguoidungID;
                _dangNhap.Solandangnhapsai = 0;
                db.Dangnhaps.Add(_dangNhap);
                db.SaveChanges();
            }
            return(View());
        }
        public Dangnhap ACOUNT(string s)
        {
            s = congcu.catxau(s);
            string [] tmp   = s.Split('#');
            Dangnhap  login = new Dangnhap(tmp[0], tmp[1]);

            return(login);
        }
        public void writefile(string filename, Dangnhap d)
        {
            FileStream   fs = new FileStream(filename, FileMode.Create, FileAccess.Write);
            StreamWriter sw = new StreamWriter(fs);

            sw.Write(ACC(d));
            sw.Close();
            fs.Close();
        }
Beispiel #5
0
        private void btDangxuat_Click(object sender, EventArgs e)
        {
            Visible       = false;
            ShowInTaskbar = false;
            Dangnhap dangnhap = new Dangnhap();

            dangnhap.Activate();
            dangnhap.Show();
        }
Beispiel #6
0
        /// <summary>
        /// Kiểm tra xem tình trạng tài khoản có bị khóa hay không
        /// </summary>
        /// <param name="nguoiDungID"></param>
        /// <returns></returns>
        public String getTrangThaiKhoa(int nguoiDungID)
        {
            Dangnhap dangNhap = db.Dangnhaps.FirstOrDefault(p => p.NguoidungID == nguoiDungID);

            if (dangNhap != null)
            {
                return(dangNhap.Trangthaikhoa.Value ? "Khóa" : "");
            }
            return("Không có");
        }
Beispiel #7
0
        /// <summary>
        /// Lấy thời gian hết hạn khóa của người dùng
        /// </summary>
        /// <param name="nguoiDungID"></param>
        /// <returns></returns>
        public static DateTime?getThoiGianHetHan(int nguoiDungID)
        {
            Dangnhap dangNhap = db.Dangnhaps.FirstOrDefault(p => p.NguoidungID == nguoiDungID);

            if (dangNhap != null)
            {
                return(dangNhap.Thoigianhethankhoa);
            }
            return(DateTime.Now);
        }
Beispiel #8
0
        /// <summary>
        /// Lấy số lần đăng nhập sai của người dùng
        /// </summary>
        /// <param name="nguoiDungID"></param>
        /// <returns></returns>
        public static int getSoLanDangNhapSai(int nguoiDungID)
        {
            Dangnhap dangNhap = db.Dangnhaps.FirstOrDefault(p => p.NguoidungID == nguoiDungID);

            if (dangNhap != null)
            {
                return(dangNhap.Solandangnhapsai.Value);
            }
            return(-1);
        }
Beispiel #9
0
        public bool kiemtratk(string taikhoan, string matkhau)
        {
            Dangnhap d  = dn.readfile("Data/Login.txt");
            bool     kt = false;

            if (d.Taikhoan == "KTX" && d.Matkhau == "SPKT")
            {
                kt = true;
            }
            return(kt);
        }
Beispiel #10
0
        /// <summary>
        /// Mở khóa tài khoản ra
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>

        public void unlockAccount(int id)
        {
            Dangnhap _login = db.Dangnhaps.FirstOrDefault(p => p.NguoidungID == id);

            if (_login != null)
            {
                _login.Trangthaikhoa      = false;
                _login.Solandangnhapsai   = 0;
                _login.Thoigianhethankhoa = null;
                db.Entry(_login).State    = EntityState.Modified;
                db.SaveChanges();
            }
        }
Beispiel #11
0
        // GET: /Nguoidung/Delete/5
        public ActionResult Delete(int?id)
        {
            Nguoidung nguoidung  = db.Nguoidungs.Find(id);
            int       ngDungID   = nguoidung.NguoidungID;
            Dangnhap  dN         = db.Dangnhaps.FirstOrDefault(p => p.NguoidungID == ngDungID);
            String    sqlCommand = "DELETE FROM [HoaDonHaDong].[dbo].[Lichsusudungct] WHERE NguoidungID = @user";

            db.Database.ExecuteSqlCommand(sqlCommand, new SqlParameter("@user", ngDungID));
            //xóa record đăng nhập
            db.Dangnhaps.Remove(dN);
            db.Nguoidungs.Remove(nguoidung);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Login(FormCollection collection)
        {
            var user = collection["Username"];
            var pass = collection["Password"];

            if (String.IsNullOrEmpty(user))
            {
                ViewData["ErrorUser"] = "******";
            }
            else if (String.IsNullOrEmpty(pass))
            {
                ViewData["ErrorPass"] = "******";
            }
            else
            {
                NHANVIEN TK = data.NHANVIENs.SingleOrDefault(n => n.USER == user && n.PASS == pass);
                if (TK != null)
                {
                    List <Dangnhap> ktdangnhap = kiemtradangnhap();
                    //Kiem tra sách này tồn tại trong Session["Giohang"] chưa?
                    Dangnhap dn = ktdangnhap.Find(n => n.iID == TK.ID_NHANVIEN);
                    if (dn == null)
                    {
                        dn = new Dangnhap(TK.ID_NHANVIEN);
                        ktdangnhap.Add(dn);
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Main"));
                    }
                    Session["ID"]    = TK.ID_NHANVIEN;
                    Session["Quyen"] = TK.ID_PHANQUYEN;
                    Session["Ten"]   = TK.TENNV;
                    if (TK.ID_PHANQUYEN == 1)
                    {
                        return(RedirectToAction("Index", "Main"));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Nhanvien"));
                    }
                }
                else
                {
                    ViewBag.Thongbao = "Đăng nhập không thành công";
                }
            }
            return(View());
        }
Beispiel #13
0
        /// <summary>
        /// Lấy thời gian đăng nhập gần nhất của người dùng
        /// </summary>
        /// <param name="nguoiDungID"></param>
        /// <returns></returns>
        public static String getThoiGianDangNhap(int nguoiDungID)
        {
            Dangnhap dangNhap = db.Dangnhaps.FirstOrDefault(p => p.NguoidungID == nguoiDungID);

            if (dangNhap != null)
            {
                DateTime?timeLogin = dangNhap.Thoigiandangnhap;
                if (timeLogin != null)
                {
                    return(timeLogin.Value.ToString("dd/MM/yyyy HH:mm:ss"));
                }
                else
                {
                    return("");
                }
            }
            return("");
        }
Beispiel #14
0
        private void ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            panel1.Controls.Clear();
            ToolStripDropDownItem ts = (ToolStripDropDownItem)sender;

            if (ts.Text == "Nhà cung cấp")
            {
                panel1.Controls.Add(new Nhacungcap());
            }
            else if (ts.Text == "Khách hàng")
            {
                panel1.Controls.Add(new Khachhang());
            }
            else if (ts.Text == "Sản phẩm")
            {
                panel1.Controls.Add(new Sanpham());
            }
            else if (ts.Text == "Phiếu nhập")
            {
                panel1.Controls.Add(new Phieunhap());
            }
            else if (ts.Text == "Phiếu xuất")
            {
                panel1.Controls.Add(new Phieuxuat());
            }
            else if (ts.Text == "Hướng dẫn")
            {
                panel1.Controls.Add(new Huongdan());
            }
            else if (ts.Text == "Thống kê")
            {
                panel1.Controls.Add(new ThongKe());
            }
            else if (ts.Text == "Đăng xuất")
            {
                Dangnhap dn = new Dangnhap();
                this.Close();
                dn.ShowDialog();
            }
            else if (ts.Text == "Thoát")
            {
                Application.Exit();
            }
        }
        private void btnDangNhap_Click(object sender, EventArgs e)
        {
            Dangnhap    user = Dangnhap.getUser();
            FrmDangNhap log  = new FrmDangNhap();

            if (txtUser.Text == "" & txtPassword.Text == "")
            {
                lblGhiChu.Text = "Bạn chưa nhập user";
                lblGhiChu.Show();
                lbGhiChu2.Text = "Bạn chưa nhập mật khẩu";
                lbGhiChu2.Show();
            }
            else if (txtUser.Text == "" || txtPassword.Text != "")
            {
                lblGhiChu.Text = "Bạn chưa nhập user";
                lblGhiChu.Show();
                lbGhiChu2.Text = "";
                lbGhiChu2.Show();
            }
            else if (txtUser.Text != "" || txtPassword.Text == "")
            {
                lbGhiChu2.Text = "Bạn chưa nhập mật khẩu";
                lbGhiChu2.Show();
                lblGhiChu.Text = "";
                lblGhiChu.Show();
            }
            else
            {
                if (user.Dangnhap1(txtUser.Text, txtPassword.Text) == true)
                {
                    FrmDashboard bang = new FrmDashboard();
                    this.Hide();
                    bang.ShowDialog();
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Tên đăng nhập hoặc mật khẩu không đúng!");
                }
            }
        }
Beispiel #16
0
        public ActionResult Create([Bind(Include = "NguoidungID,NhanvienID,Taikhoan,Matkhau,Isadmin")] Nguoidung nguoidung, FormCollection form)
        {
            String repeatMK = form["RepeatMatKhau"];
            String matKhau  = form["MatKhau"];
            //lấy giá trị checkbox
            String isAdmin = form["isAdmin"];

            if (matKhau == "")
            {
                ViewBag.passwordMesg = "Mật khẩu không được để trống";
            }
            else
            {
                if (repeatMK == matKhau)
                {
                    String firstHash  = String.Concat(UserInfo.CreateMD5(matKhau).ToLower(), matKhau);
                    String md5MatKhau = UserInfo.CreateMD5(firstHash).ToLower();
                    nguoidung.Matkhau = md5MatKhau;
                    if (Convert.ToInt32(isAdmin) == 1)
                    {
                        nguoidung.Isadmin    = true;
                        nguoidung.NhanvienID = null;
                    }
                    else
                    {
                        nguoidung.Isadmin = false;
                    }

                    Nguoidung ngDung = db.Nguoidungs.FirstOrDefault(p => p.Taikhoan == nguoidung.Taikhoan);
                    if (ngDung == null)
                    {
                        db.Nguoidungs.Add(nguoidung);
                        db.SaveChanges();
                        DateTime?nullDateTime = null;
                        Dangnhap dangNhap     = new Dangnhap();
                        dangNhap.NguoidungID        = nguoidung.NguoidungID;
                        dangNhap.Solandangnhapsai   = 0;
                        dangNhap.Thoigiandangnhap   = nullDateTime;
                        dangNhap.Trangthaikhoa      = false;
                        dangNhap.Thoigianhethankhoa = nullDateTime;
                        db.Dangnhaps.Add(dangNhap);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ViewBag.isDuplicate = "Người dùng này đã có trong cơ sở dữ liệu";
                    }
                }
                else
                {
                    ViewBag.passwordMesg = "Mật khẩu cũ và mật khẩu mới phải trùng nhau";
                }
            }

            int phongBanID = getPhongBanNguoiDung();

            if (phongBanID == 0)
            {
                ViewBag.NhanvienID = db.Nhanviens.Where(p => p.IsDelete == false).ToList();
            }
            else
            {
                ViewBag.NhanvienID = db.Nhanviens.Where(p => p.IsDelete == false && p.PhongbanID == phongBanID).ToList();
            }
            ViewBag.isAdmin = LoggedInUser.Isadmin.Value == true ? 1 : 0;
            return(View(nguoidung));
        }
Beispiel #17
0
        public ActionResult Index(FormCollection form)
        {
            //Sesssion sử dụng cho việc giữ dữ  liệu của dropdownlist
            Session["selectedNhanvien"]      = "";
            Session["solieuTieuThuNhanvien"] = "";

            String tenDangNhap = form["username"];
            String matKhau     = form["password"];
            //mã hóa password 2 lần, chuyển về lowercase sau đó mã hóa lần 2
            String firstHash = String.Concat(UserInfo.CreateMD5(matKhau).ToLower(), matKhau);

            String md5MatKhau = UserInfo.CreateMD5(firstHash);

            // Response.Write(UserInfo.CreateMD5(UserInfo.CreateMD5("123456")+"123456")); Response.End();
            //kiểm tra DB, nếu empty thì quay lại trang đăng nhập, nếu > 0 thì
            var countRecordDB = db.Nguoidungs.Count();

            TempData["message"] = null;
            if (countRecordDB > 0)
            {
                //kiểm tra username của người dùng, nếu không có trong db thì không cần check nữa
                var nguoiDung = db.Nguoidungs.Where(p => p.Taikhoan == tenDangNhap);
                if (nguoiDung.Count() > 0)
                {
                    //lấy mật khẩu trong DB ra và đối chiều vs mật khẩu ng dùng nhập vào, nếu thành công thì điều hướng về trang tương ứng về role
                    var passwordDB = nguoiDung.First().Matkhau;
                    //lưu session cho nguoiDungID và tên đăng nhập
                    int nguoiDungID = nguoiDung.First().NguoidungID;

                    if (passwordDB.ToLower() == md5MatKhau.ToLower())
                    {
                        //cập nhật lại state đăng nhập, reset số lần đăng nhập sai về 0
                        Dangnhap dangNhap = info.getDangNhap(nguoiDungID);
                        //nếu thời gian hiện tại > thời gian hết hạn khóa thì cho đăng nhập
                        if (dangNhap != null)
                        {
                            if (dangNhap.Thoigianhethankhoa == null)
                            {
                                dangNhap.Thoigiandangnhap   = DateTime.Now;
                                dangNhap.Trangthaikhoa      = false;
                                dangNhap.Solandangnhapsai   = 0;
                                dangNhap.Thoigianhethankhoa = null;
                                //  db.Dangnhaps.Attach(dangNhap);
                                db.Entry(dangNhap).State = EntityState.Modified;
                                db.SaveChanges();
                                //lưu session liên quan
                                Session["nguoiDungID"] = nguoiDungID;
                                Session["tenDangNhap"] = tenDangNhap;
                                //tuyến người dùng hiện đang đăng nhập
                                var tuyenID = (from i in db.Tuyentheonhanviens
                                               join r in db.Nhanviens on i.NhanVienID equals r.NhanvienID
                                               join s in db.Nguoidungs on r.NhanvienID equals s.NhanvienID
                                               where s.NguoidungID == nguoiDungID
                                               select new
                                {
                                    TuyenKHID = i.TuyenKHID,
                                    NhanVienID = i.NhanVienID
                                }).ToList();
                                //nếu rỗng tuyến
                                if (tuyenID != null)
                                {
                                    String dsTuyen = "";
                                    foreach (var item in tuyenID)
                                    {
                                        dsTuyen = dsTuyen + item.TuyenKHID + ",";
                                    }
                                    //loại bỏ dấu , ở cuối chuỗi nếu ds tuyến ko rỗng
                                    if (!String.IsNullOrEmpty(dsTuyen))
                                    {
                                        dsTuyen = dsTuyen.Remove(dsTuyen.Length - 1);
                                    }
                                    Session["tuyenID"] = dsTuyen;

                                    var hasTuyenID = tuyenID.FirstOrDefault();
                                    if (hasTuyenID != null)
                                    {
                                        Session["nhanVienID"] = hasTuyenID.NhanVienID;
                                    }
                                }
                                bool checkAdmin = UserInfo.checkAdmin(nguoiDungID);
                                //lấy Phòng ban obj
                                if (!checkAdmin)
                                {
                                    Phongban phongBan = info.getPhongBan(nguoiDungID);
                                    if (phongBan != null)
                                    {
                                        Session["phongBan"] = phongBan.PhongbanID;
                                        List <int> kinhDoanhList = db.Phongbans.Where(p => p.Ten.Contains("kinh")).Select(p => p.PhongbanID).ToList();
                                        List <int> thuNganList   = db.Phongbans.Where(p => p.Ten.Contains("thu")).Select(p => p.PhongbanID).ToList();
                                        List <int> inHoaDonList  = db.Phongbans.Where(p => p.Ten.Contains("in")).Select(p => p.PhongbanID).ToList();
                                        //kinh doanh
                                        if (kinhDoanhList.Contains(phongBan.PhongbanID))
                                        {
                                            return(RedirectToAction("index", "Khachhang"));
                                        }
                                        //thu ngân
                                        else if (thuNganList.Contains(phongBan.PhongbanID))
                                        {
                                            return(RedirectToAction("Index", "Congno"));
                                        }
                                        //in hóa đơn
                                        else
                                        {
                                            return(RedirectToAction("index", "Print"));
                                        }
                                    }
                                }
                                //nếu là admin
                                else
                                {
                                    return(RedirectToAction("Index", "Quanhuyen"));
                                }
                            }
                        }
                    }

                    //nếu đăng nhập thất bại, tính số lần đăng nhập, nếu > 5 sẽ tiến hành khóa tài khoản trong khoảng thời gian nào đó, nếu nhập sai quá nhiều (bội của 5) thì cộng dồn
                    //thời gian hết hạn khóa.
                    else
                    {
                        Dangnhap dangNhap         = info.getDangNhap(nguoiDungID);
                        int      soLanDangNhapSai = UserInfo.getSoLanDangNhapSai(nguoiDungID);
                        //nếu số lần nhập lớn hơn SOLANDANGNHAPSAI thì khóa tài khoản, set ngày hết hạn = ngày bây h + 5

                        if (dangNhap != null)
                        {
                            if (soLanDangNhapSai >= UserInfo.SOLANDANGNHAPSAI)
                            {
                                //cập nhật thời gian đăng nhập
                                dangNhap.Thoigiandangnhap = DateTime.Now;
                                dangNhap.Trangthaikhoa    = true;

                                //cộng dồn thời gian nếu đăng nhập sai quá nhiều, nếu nhập sai 5 lần liên tiếp sẽ cộng dồn thời gian hết hạn lên
                                if (dangNhap.Solandangnhapsai % 5 == 0)
                                {
                                    if (dangNhap.Thoigianhethankhoa != null)
                                    {
                                        dangNhap.Thoigianhethankhoa = dangNhap.Thoigianhethankhoa.Value.AddDays(UserInfo.DATETHRESHOLD);
                                        //reset số lần đăng nhập sai về 0
                                    }
                                    else
                                    {
                                        dangNhap.Thoigianhethankhoa = DateTime.Now.AddDays(UserInfo.DATETHRESHOLD);
                                    }
                                    dangNhap.Solandangnhapsai = 0;
                                }
                                //nếu không thì cứ tiếp tục cộng thêm số lần đăng nhập sai
                                else
                                {
                                    dangNhap.Solandangnhapsai = dangNhap.Solandangnhapsai + 1;
                                }
                                TempData["message"] = "Tài khoản của bạn đã bị khóa " + UserInfo.DATETHRESHOLD + " ngày do nhập sai password quá 5 lần. Xin hãy quay trở lại sau";
                            }
                            //nếu đã có nhưng chưa < số lần đăng nhập sai thì cập nhật thông tin đăng nhập, hiện thông báo kiểm tra lại mật khẩu
                            else
                            {
                                dangNhap.Thoigiandangnhap = DateTime.Now;
                                dangNhap.Solandangnhapsai = dangNhap.Solandangnhapsai + 1;
                                TempData["message"]       = "Xin hãy kiểm tra lại mật khẩu";
                            }
                            //Attach và chuyển object state
                            //db.Dangnhaps.Attach(dangNhap);
                            db.Entry(dangNhap).State = EntityState.Modified;
                        }
                        //nếu ko có thì thêm mới
                        else
                        {
                            Dangnhap dangNhapThatBai = new Dangnhap();
                            dangNhapThatBai.NguoidungID      = nguoiDungID;
                            dangNhapThatBai.Thoigiandangnhap = DateTime.Now;
                            dangNhapThatBai.Trangthaikhoa    = false;
                            dangNhapThatBai.Solandangnhapsai = 1;
                            db.Dangnhaps.Add(dangNhapThatBai);
                            TempData["message"] = "Xin hãy kiểm tra lại mật khẩu";
                        }
                        db.SaveChanges();
                    }
                }
                else
                {
                    TempData["message"] = "Không có thông tin người dùng trong hệ thống";
                }
            }

            return(RedirectToAction("Index", "Home"));
            //return null;
        }
        public LowControlBar_ViewModel()
        {
            ToMain_Command = new RelayCommand <UserControl>(p =>
            {
                return(true);
            }, p =>
            {
                Window windowparent = getParent(p) as Window;

                if (p.Uid.ToString() == "QL")
                {
                    View.View_Quanly.Manhinhchinh view = new View.View_Quanly.Manhinhchinh();
                    view.WindowState           = windowparent.WindowState;
                    view.WindowStartupLocation = WindowStartupLocation.CenterScreen;

                    view.Show();
                }
                else if (p.Uid.ToString() == "TK")
                {
                    View.View_Thukho.Manhinhchinh view = new View.View_Thukho.Manhinhchinh();
                    view.WindowState           = windowparent.WindowState;
                    view.WindowStartupLocation = WindowStartupLocation.CenterScreen;

                    view.Show();
                }

                windowparent.Close();
            });

            Account_Command = new RelayCommand <UserControl>(p =>
            {
                return(true);
            }, p =>
            {
                if (p.Uid.ToString() == "QL")
                {
                    View.View_Quanly.Thongtin_taikhoan view = new View.View_Quanly.Thongtin_taikhoan();
                    view.ShowDialog();
                }
                else if (p.Uid.ToString() == "TK")
                {
                    View.View_Thukho.Thongtin_taikhoan view = new View.View_Thukho.Thongtin_taikhoan();
                    view.ShowDialog();
                }
            });

            Logout_Command = new RelayCommand <UserControl>(p =>
            {
                return(true);
            }, p =>
            {
                if (ViewModel.Taikhoan_ViewModel.Glo_CurrentUser != null)
                {
                    ViewModel.Taikhoan_ViewModel.Chuyentrangthai_Dong(ViewModel.Taikhoan_ViewModel.Glo_CurrentUser);
                }

                Dangnhap dangnhap = new Dangnhap();
                dangnhap.Show();

                Window windowparent = getParent(p) as Window;
                if (windowparent != null)
                {
                    windowparent.Close();
                }
            });
        }
 public string ACC(Dangnhap d)
 {
     return(d.Taikhoan + "#" + d.Matkhau);
 }