public ActionResult AddUserToGroup(int groupID, string returnUrl) { var dal = new fwUserDAL(); ViewBag.groupName = new fwGroupDAL().GetByID(groupID).Title; var lstUser = dal.ListByGroup(groupID); var lstUserID = lstUser.Select(m => m.ID).ToList(); ViewBag.lstUser = dal.ListAll().Where(m => !lstUserID.Contains(m.ID)).ToList(); ViewBag.groupID = groupID; return View(lstUser); }
public static fwUser GetCurrentUser() { if (!SessionUtilities.Exist(Constant.Session_CurrentUser)) if (StringHelper.HttpContext.Request.Cookies.Get(Constant.Session_CurrentUser) != null) { var id = int.Parse(StringHelper.HttpContext.Request.Cookies.Get(Constant.Session_CurrentUser).Value); var u = new fwUserDAL().GetByID(id); SessionUtilities.Set(Constant.Session_CurrentUser, u); return u; } else return null; return (fwUser)SessionUtilities.Get(Constant.Session_CurrentUser); }
public List<fwMenu> ListByUser(int userID) { var u = new fwUserDAL().GetByID(userID); if (u == null) return new List<fwMenu>(); if (u.UserName.ToLower() == Constant.AdminFix) return ListAll(); string query = @"select m.* from fwMenu m inner join fwMenuRole mr on mr.MenuID=m.ID inner join fwRoleGroup rg on rg.RoleID=mr.RoleID inner join fwUserGroup ug on ug.GroupID=rg.GroupID where ug.UserID=@UserID and m.Actived=1 order by [Order]"; var lst = new List<fwMenu>(); DataTable dt = DataUtilities.GetTable(query, CommandType.Text, "@UserID", userID); foreach (DataRow row in dt.Rows) { var obj = CreateObj(row); lst.Add(obj); } return lst; }
public ActionResult KiemDuyet(int id, string returnUrl) { var obj = db.Ticket.FirstOrDefault(m => m.ID == id); if (!CanKiemDuyet(obj)) return AccessDenied(); obj.Track += ";#" + DB.CurrentUser.ID; obj.Status = TicketStatus.ChoDuyet; obj.FeedbackID = null; //lấy người có quyền phê duyệt var u = new fwUserDAL().ListByRole(RoleList.ApproveTicket).FirstOrDefault(); obj.Current = u.ID; if (!obj.TicketUser.Any(m => m.UserID == u.ID)) db.Database.ExecuteSqlCommand(string.Format("insert into TicketUser values({0},{1})", obj.ID, u.ID)); CreateNoti(obj.CreatedBy, "Phiếu đề nghị dụng cụ làm việc của bạn <br /> đã được kiểm duyệt", Url.Action("Details", new { id = id })); CreateNoti(obj.Current, "Cần duyệt tra phiếu đề nghị <br /> dụng cụ làm việc", Url.Action("Details", new { id = id })); db.SaveChanges(); ShowMessage("Đồng ý kiểm duyệt thành công!"); if (!string.IsNullOrEmpty(returnUrl)) Redirect(returnUrl); return RedirectToAction("Index", "Home"); }
public ActionResult GuiYeuCau(int id, string returnUrl) { var obj = db.Ticket.FirstOrDefault(m => m.ID == id); if (!CanGuiYeuCau(obj)) return AccessDenied(); obj.Track += ";#" + DB.CurrentUser.ID; obj.Status = TicketStatus.ChoThongQua; obj.FeedbackID = null; //Lấy trưởng phòng của người tạo var userDAL = new fwUserDAL(); var lstNhom = userDAL.GetByID(obj.CreatedBy).fwGroup.Select(m => m.ID).ToList(); var dept = db.Dept.Where(m => lstNhom.Contains(m.GroupID)).FirstOrDefault(); if (dept == null) { ShowMessage("Hiện tại bạn chưa thuộc phòng ban nào. Bạn cần phải thuộc một phòng ban có trưởng phòng để thực hiện \"thông qua\" yêu cầu cho bạn.", false); return RedirectToAction("Details", new { id = id }); } obj.Current = dept.LeaderUserID.Value; db.SaveChanges(); ShowMessage("Gửi yêu cầu thành công!"); //Phân quyền xem if (!obj.TicketUser.Any(m => m.UserID == dept.LeaderUserID.Value)) db.Database.ExecuteSqlCommand(string.Format("insert into TicketUser values({0},{1})", obj.ID, dept.LeaderUserID.Value)); CreateNoti(obj.Current, "Cần thông qua phiếu đề nghị <br /> dụng cụ làm việc", Url.Action("Details", new { id = id })); if (!string.IsNullOrEmpty(returnUrl)) Redirect(returnUrl); return RedirectToAction("Index", "Home"); }
public ActionResult KiemTra(int id) { var obj = db.Checkout.FirstOrDefault(m => m.ID == id); if (!CanKiemTra(obj)) return AccessDenied(); obj.Track += ";#" + DB.CurrentUser.ID; obj.Status = CheckoutStatus.ChoDuyet; obj.ChkFeedbackID = null; //lấy người có quyền duyệt var u = new fwUserDAL().ListByRole(RoleList.ApproveTicket).FirstOrDefault(); if (u == null) { ShowMessage("Hiện tại hệ thống chưa có người duyệt phiếu thanh toán!", false); RedirectToAction("Details", new { id = id }); } obj.Current = u.ID; if (!obj.CheckoutUser.Any(m => m.UserID == u.ID)) db.Database.ExecuteSqlCommand(string.Format("insert into CheckoutUser values({0},{1})", obj.ID, u.ID)); db.SaveChanges(); ShowMessage("Đồng ý kiểm duyệt thành công!"); CreateNoti(obj.Current, "Cần duyệt phiếu yêu cầu thanh toán", Url.Action("Details", new { id = id })); CreateNoti(obj.CreatedBy, "Phiếu yêu cầu thanh toán <br /> đã được kiểm tra", Url.Action("Details", new { id = id })); return RedirectToAction("Index", "RequestBill"); }