예제 #1
0
        /// <summary>
        /// 保存角色信息和权限
        /// </summary>
        /// <param name="sessionModel"></param>
        /// <param name="employee"></param>
        /// <returns></returns>
        private IEnumerable <string> GetRoleSession(ref LoginSessionModel sessionModel, Employee employee)
        {
            List <string> list = new List <string>();

            //部门或角色为空,
            if (employee.RoleId.IsNullOrEmpty() || employee.DepartmentId.IsNullOrEmpty())
            {
                return(list);
            }
            else
            {
                var RoleDept = DepartmentRoleDAL.Get(u => u.Enable && u.DepartmentId == employee.DepartmentId && u.RoleId == employee.RoleId);
                if (RoleDept == null)
                {
                    return(list);
                }
                var Role = RoleDAL.Get(u => u.Enable && u.RoleId == RoleDept.RoleId);
                if (Role == null)
                {
                    return(list);
                }
                sessionModel.Role = Role;
                var appList = DepartmentRoleApplicationDAL.GetModels(u => u.Enable && u.DepartmentId == employee.DepartmentId && u.RoleId == employee.RoleId).Select(u => u.ApplicationId);
                if (appList.IsNullOrEmpty())
                {
                    return(list);
                }
                else
                {
                    return(list = appList.ToList());
                }
            }
        }
예제 #2
0
        private void SaveLoginSession(Login account)
        {
            Employee employee = EmployeeDAL.Get(u => u.Enable && u.EmployeeId == account.EmployeeId);

            if (employee == null)
            {
                return;
            }
            //Session模型
            LoginSessionModel sessionModel = new LoginSessionModel();
            //用户的权限id集合
            List <string> applist = new List <string>();

            //1.获取用户登录信息
            applist.AddRange(GetUserSession(ref sessionModel, account, employee));
            //2. 获取用户的部门信息
            applist.AddRange(GetDepartmentSession(ref sessionModel, employee));
            //3. 获取用户的部门岗位信息
            applist.AddRange(GetRoleSession(ref sessionModel, employee));

            //4. 保存用户的应用权限
            if (!applist.IsNullOrEmpty())
            {
                applist = applist.Distinct().ToList();
                var applications = ApplicationDAL.GetModels(u => u.Enable && applist.Contains(u.ApplicationId)).ToList();
                sessionModel.Applications = applications;
            }
            sessionModel.AppIds = applist;
            SessionHelper.Set(Enumer.Session.LoginInfo, sessionModel);
        }
 public ActionResult Login(LoginModel model)
 {
     if (ModelState.IsValid)
     {
         var bus    = new KhachHangBus();
         var result = bus.Login(model.Email, model.Password);
         if (result == 1)
         {
             var userSession = new LoginSessionModel();
             userSession.UserName = db.KhachHangs.Where(m => m.Email == model.Email & m.CMND == model.Password).Select(m => m.TenKH).FirstOrDefault();
             userSession.Email    = model.Email;
             userSession.CMND     = model.Password;
             int idKH = db.KhachHangs.Where(m => m.Email == model.Email).Select(m => m.KhachHangID).FirstOrDefault();
             Session["USER_SESSION"] = null;
             Session.Add("USER_SESSION", userSession);
             return(RedirectToAction("Index", "HoaDonTinhCuocThangs"));
         }
         else if (result == 0)
         {
             ModelState.AddModelError("", "Người dùng bị khóa.");
         }
         else if (result == -1)
         {
             ModelState.AddModelError("", "Người dùng không tồn tại.");
         }
         else if (result == -2)
         {
             ModelState.AddModelError("", "Số CMND không đúng.");
         }
     }
     return(View(model));
 }
        public ActionResult Index(int?thang, int?Sim)
        {
            LoginSessionModel userInfo = (LoginSessionModel)Session["USER_SESSION"];
            var id = db.KhachHangs.Where(m => m.Email == userInfo.Email & m.CMND == userInfo.CMND).Select(m => m.KhachHangID).FirstOrDefault();
            var hoaDonTinhCuocThangs = db.HoaDonTinhCuocThangs.Include(h => h.SIM).Where(m => m.SIM.HoaDonDangKy.KhachHang.KhachHangID == id);

            ViewBag.Sim          = new SelectList(db.SIMs.Where(m => m.HoaDonDangKy.KhachHangID == id), "SimID", "SoSim");
            ViewBag.TenKhachHang = userInfo.UserName;
            var monthNow = System.DateTime.Now.Month;
            var yearNow  = System.DateTime.Now.Year;

            ViewBag.MonthNow = thang;

            var getMonthYear = new DateTime(yearNow, monthNow, 1);

            if (thang == null)
            {
                hoaDonTinhCuocThangs = hoaDonTinhCuocThangs.Where(m => m.ThangHD == getMonthYear);
                ViewBag.MonthNow     = monthNow;
            }
            else
            {
                getMonthYear         = new DateTime(yearNow, thang.GetValueOrDefault(monthNow), 1);
                hoaDonTinhCuocThangs = hoaDonTinhCuocThangs.Where(m => m.ThangHD == getMonthYear);
            }

            if (Sim != null)
            {
                hoaDonTinhCuocThangs = hoaDonTinhCuocThangs.Where(m => m.SIMID == Sim);
            }

            decimal tienThueBao = 0;
            decimal tienCuocGoi = 0;

            foreach (var item in hoaDonTinhCuocThangs)
            {
                tienThueBao += item.TienThueBao;
                tienCuocGoi += item.TienCuocSD;
            }
            ViewBag.TienThueBao = tienThueBao.ToString("N0");
            ViewBag.TienCuocGoi = tienCuocGoi.ToString("N0");

            var listID          = hoaDonTinhCuocThangs.Select(m => m.HoaDonTinhCuocThangID);
            var listChiTietHDTC = db.ChiTietHDTCs.Where(m => listID.Contains(m.HoaDonTinhCuocThangID)).ToList();
            var listCTHDTCID    = listChiTietHDTC.Select(m => m.ChiTietHDTCID).ToList();
            var listChiTietCG   = db.ChiTietCuocGois.Where(m => listCTHDTCID.Contains(m.ChiTietHDTCID));

            ViewBag.ListChiTietHDTC    = listChiTietHDTC.OrderBy(m => m.NgayHD);
            ViewBag.ListChiTietCuocGoi = listChiTietCG;

            return(View(hoaDonTinhCuocThangs.ToList()));
        }
예제 #5
0
        /// <summary>
        /// 保存用户基本信息和登陆信息
        /// </summary>
        /// <param name="sessionModel"></param>
        /// <param name="account"></param>
        /// <param name="employee"></param>
        /// <returns></returns>
        private IEnumerable <string> GetUserSession(ref LoginSessionModel sessionModel, Login account, Employee employee)
        {
            //不保存登陆密码信息
            account.LoginPassword = "";
            account.Salt          = "";

            sessionModel.Account = account;

            List <string> list = new List <string>();

            //获取员工基本信息
            sessionModel.Employee = employee;
            //获取员工的应用程序权限
            var appids = EmployeeApplicationDAL.GetModels(u => u.Enable && u.EmployeeId == employee.EmployeeId).Select(u => u.ApplicationId);

            if (!appids.IsNullOrEmpty())
            {
                list = appids.ToList();
            }
            return(list);
        }
예제 #6
0
        public ActionResult Login(LoginModel login)
        {
            if (ModelState.IsValid)
            {
                // check login
                var user = db.NHANVIENs.Find(login.username);
                if (user != null)
                {
                    if (user.PASSWORD == login.passwrord)
                    {
                        LoginSessionModel session = new LoginSessionModel();
                        session.username = user.MA_NHANVIEN;
                        session.name     = user.HOTEN_NHANVIEN;

                        Session.Add("session", session);

                        switch (user.BOPHAN)
                        {
                        case "LỄ TÂN": return(RedirectToAction("Index", "LeTan"));

                        case "KẾ TOÁN": return(RedirectToAction("Index", "KeToan"));

                        case "QUẢN LÝ": return(RedirectToAction("ThongKeThuePhong", "QuanLy"));

                        case "VẬT TƯ": return(RedirectToAction("Index", "VatTu"));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Mật khẩu không đúng");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Nhân viên không tồn tại");
                }
            }
            return(View(login));
        }
예제 #7
0
        /// <summary>
        /// 保存部门信息和角色权限
        /// </summary>
        /// <param name="sessionModel"></param>
        /// <param name="employee"></param>
        /// <returns></returns>
        private IEnumerable <string> GetDepartmentSession(ref LoginSessionModel sessionModel, Employee employee)
        {
            List <string> list = new List <string>();

            if (employee.DepartmentId.IsNullOrEmpty())
            {
                return(list);
            }
            else
            {
                var dept = DepartmentDAL.Get(u => u.DepartmentId == employee.DepartmentId);
                if (dept != null)
                {
                    sessionModel.Department = dept;
                    var appList = DepartmentApplicationDAL.GetModels(u => u.Enable && u.DepartmentId == employee.DepartmentId).Select(u => u.ApplicationId);
                    if (!appList.IsNullOrEmpty())
                    {
                        list = appList.ToList();
                    }
                }
                return(list);
            }
        }
예제 #8
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            string arg = filterContext.HttpContext.Request.QueryString[Enumer.Session.LoginInfo.ToString()];

            if (string.IsNullOrEmpty(arg))
            {
                filterContext.Result = new ContentResult()
                {
                    Content = "无权访问"
                };
            }
            else
            {
                string key = Enumer.Session.LoginInfo.ToString();
                object obj = filterContext.HttpContext.Session[key];
                if (obj == null)
                {
                    filterContext.Result = new ContentResult()
                    {
                        Content = "无权访问"
                    };
                }
                else
                {
                    LoginSessionModel sessionModel = obj as LoginSessionModel;
                    List <string>     appIds       = sessionModel.AppIds;
                    string            appId        = arg;
                    if (appIds == null || !appIds.Contains(appId))
                    {
                        filterContext.Result = new ContentResult()
                        {
                            Content = "无权访问"
                        };
                    }
                }
            }
        }