public bool CheckUserDocumentReadable(string userId, int documentId, bool receivedDocument) { var userDepartment = new UserDepartment(); userDepartment = _departmentRepository.GetUserMainOrganization(userId); if (userDepartment != null) { string listSubDepartmentId = userDepartment.ListSubDepartmentId; int departmentId = userDepartment.DepartmentId; List <SPCheckUserDocumentReadable_Result> listCheckUserDocumentReadable = new List <SPCheckUserDocumentReadable_Result>(); listCheckUserDocumentReadable = _entities.SPCheckUserDocumentReadable(userId, documentId, receivedDocument, departmentId, listSubDepartmentId).ToList(); if (listCheckUserDocumentReadable.Count > 0) { return(true); } else { return(false); } } else { return(false); } }
public async Task <ActionResult> Edit([Bind(Include = "UserName,Email,Id")] EditUserDepartmentViewModel editUser, params int[] selectedDepartments) { if (ModelState.IsValid) { var user = await _userManager.FindByIdAsync(editUser.Id); if (user == null) { return(HttpNotFound()); } //删除现在所属部门 var departments = user.Departments.ToList(); departments.Each(t => _db.Set <UserDepartment>().Remove(t)); //新增所属部门 selectedDepartments = selectedDepartments ?? new int[] { }; selectedDepartments.Each(departmentId => { var userDepartment = new UserDepartment { ApplicationUserId = user.Id, DepartmentId = departmentId }; _db.Set <UserDepartment>().Add(userDepartment); }); _db.SaveChanges(); return(RedirectToAction("Index")); } ModelState.AddModelError("", "操作失败。"); return(View()); }
public ActionResult Create([Bind(Include = "DepartmentName,Domain")] Department department) { try { //only super user can create departments if (IsSuperUser()) { using (var db = new CAMS_DatabaseEntities()) { if (ModelState.IsValid) { db.Departments.Add(department); db.SaveChanges(); UserDepartment userDepartment = new UserDepartment { UserId = GetConnectedUser(), DepartmentId = department.DepartmentId, AccessType = AccessType.Full }; db.UserDepartments.Add(userDepartment); db.SaveChanges(); ((Dictionary <int, AccessType>)Session["Accesses"]).Add(userDepartment.DepartmentId, userDepartment.AccessType); return(RedirectToAction("Index")); } return(View(department)); } } return(RedirectAcordingToLogin()); } catch { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } }
// GET: Users/Delete/5 public ActionResult Delete(int?userId, int?depId) { try { using (var db = new CAMS_DatabaseEntities()) { if (userId == null || depId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //only full access user for department can remove accesses to this departments if (IsFullAccess(depId.Value)) { UserDepartment userDep = db.UserDepartments.Where(x => x.DepartmentId == depId && x.UserId == userId).ToList().First(); if (userDep == null) { return(HttpNotFound()); } db.Entry(userDep).Reference(e => e.User).Load(); db.Entry(userDep).Reference(e => e.Department).Load(); return(View(userDep)); } return(RedirectAcordingToLogin()); } } catch { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } }
public async Task <bool> UpdateEmployeeDepartmentJobTitleAsync(string employeeId, int departmentId, int jobTitleId) { var departmentInfo = await this.GetDepartmentInfoAsync(employeeId, departmentId); var employee = await this.db .Users .Where(e => e.Id == employeeId) .FirstOrDefaultAsync(); employee.JobTitleId = jobTitleId; if (departmentInfo == null || departmentInfo.EmployeeEnrolledInDepartment) { return(false); } var employeeInDepartment = new UserDepartment { EmployeeId = employeeId, DepartmentId = departmentId }; await this.db.AddAsync(employeeInDepartment); await this.db.SaveChangesAsync(); return(true); }
public async Task <IActionResult> AssignDepartmentsToUser([FromRoute] int iNumber, [FromQuery(Name = "role")] int?role, [FromBody] int[] departments) { ConnectUser user = await _em.Users.FindByIndexAsync(iNumber); if (user == null) { return(NotFound()); } if (role >= 0 || role <= 2) { user.Role = (Roles)role; } await _em.UserDepartments.RemoveAll(user.Id); foreach (int departemtnId in departments) { if (!await _em.Departments.ExisteAsync(departemtnId)) { return(NotFound()); } UserDepartment userDepartment = new UserDepartment() { UserId = user.Id, DepartmentId = departemtnId }; await _em.UserDepartments.AddAsync(userDepartment); } await _em.FlushAsync(); return(Ok()); }
public void Remove(int id) { UserDepartment userDepartment = db.UserDepartments.Find(id); db.UserDepartments.Remove(userDepartment); db.SaveChanges(); }
public void AddUserDepartment(bool currentDep, int departmentId, bool isDeleted, bool isDepartmentManager, int userId, DateTime validFrom, DateTime validTo) { using (IUnitOfWork work = UnitOfWork.Begin()) { UserDepartment ud = _userDepartmentRepository.FindByUserId(userId).Where(d => d.DepartmentId == departmentId).SingleOrDefault(); if (ud == null) { ud = DomainObjectFactory.CreateUserDepartment(); _userDepartmentRepository.Add(ud); } ud.CurrentDep = currentDep; ud.DepartmentId = departmentId; ud.IsDeleted = isDeleted; ud.IsDepartmentManager = isDepartmentManager; ud.UserId = userId; ud.ValidFrom = validFrom; ud.ValidTo = validTo; work.Commit(); var userDepLogEntity = new UserDepartmentEventEntity(_userDepartmentRepository.FindById(ud.Id)); _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName, CurrentUser.Get().CompanyId, userDepLogEntity.GetCreateMessage()); } }
private async Task SetUserAndDepartmentMapAsync(Guid currentUserId, Guid userId, Guid?departmentId) { if (departmentId != null && !departmentId.Equals(Guid.Empty)) { //TODO: we are allow one user have a one department, then we will limit the user to add multiple department. var userDepartmentEntities = await _userDepartmentReposiotry.GetAllListAsync(item => item.UserId.Equals(userId) && item.DepartmentId.Equals(departmentId.Value)); if (userDepartmentEntities.Count > 0) { var userDepartmentEntity = userDepartmentEntities.First(); userDepartmentEntity.DepartmentId = departmentId.Value; await _userDepartmentReposiotry.UpdateAsync(userDepartmentEntity); } else { UserDepartment userDepartMap = new UserDepartment() { CreateByUserId = currentUserId, CreateTime = DateTime.UtcNow, DepartmentId = departmentId.Value, UserId = userId }; await _userDepartmentReposiotry.InsertAsync(userDepartMap); } } }
public ActionResult SelDeptList() { AjaxMsgModel ajaxMsg = new AjaxMsgModel() { Statu = "error", Msg = "加载失败!" }; var rows = _deptBLL.LoadEntities(u => u.IsAble == true); UserDepartment ud_Model = new UserDepartment(); int uid = int.Parse(Request["UserId"]); ud_Model = _udBLL.Find(uid); if (rows != null) { ajaxMsg.Statu = "ok"; if (ud_Model == null) { ajaxMsg.Msg = ""; } else { ajaxMsg.Msg = ud_Model.DepartmentId.ToString(); } ajaxMsg.Data = rows; } return(Json(ajaxMsg, JsonRequestBehavior.AllowGet)); }
public ActionResult Edit(int id, UserDepartment _userDepartment) { if (getCurrentUser() == null) { return(RedirectToAction("Index", "Login")); } else { try { UserDepartment userDepartment = iuserDepartment.GetUserDepartment(id); userDepartment.ud_user_id = _userDepartment.ud_user_id; userDepartment.ud_depart_id = _userDepartment.ud_depart_id; iuserDepartment.Update(userDepartment); return(RedirectToAction(nameof(Index))); } catch (Exception ex) { TempData["errorMessage"] = ex.Message; ViewBag.UserList = (iuser.GetUsers); ViewBag.DepartmentList = (idepartment.GetDepartments); return(View()); } } }
private void removedepartments(HttpContext context) { string UserIDs = context.Request["UserIDList"]; string RoleIDs = context.Request["RoleIDList"]; int[] UserIDList = new int[] { }; int[] RoleIDList = new int[] { }; if (!string.IsNullOrEmpty(UserIDs)) { UserIDList = Utility.JsonConvert.DeserializeObject <int[]>(UserIDs); } if (!string.IsNullOrEmpty(RoleIDs)) { RoleIDList = Utility.JsonConvert.DeserializeObject <int[]>(RoleIDs); } if (UserIDList.Length == 0) { WebUtil.WriteJson(context, new { status = false, error = "请选择用户" }); return; } if (RoleIDList.Length == 0) { WebUtil.WriteJson(context, new { status = false, error = "请选择部门" }); return; } bool status = UserDepartment.Remove_UserDepartment(UserIDList, RoleIDList); WebUtil.WriteJson(context, new { status = status }); }
//Edit Department private void UpdateUserDepartment(string[] selectedDepartment, Users userToUpdate) { if (selectedDepartment == null) { userToUpdate.UsersDepartment = new List <UserDepartment>(); return; } var selectedDepartmentHS = new HashSet <string>(selectedDepartment); var userDepartment = new HashSet <int> (userToUpdate.UsersDepartment.Select(c => c.Departments.ID)); foreach (var department in _context.Department) { if (selectedDepartmentHS.Contains(department.ID.ToString())) { if (!userDepartment.Contains(department.ID)) { userToUpdate.UsersDepartment.Add(new UserDepartment { UsersID = userToUpdate.ID, DepartmentID = department.ID }); } } else { if (userDepartment.Contains(department.ID)) { UserDepartment departmentToRemove = userToUpdate.UsersDepartment.SingleOrDefault(i => i.DepartmentID == department.ID); _context.Remove(departmentToRemove); } } } }
public ActionResult Edit([Bind(Include = "UserId, DepartmentId, AccessType")] UserDepartment UserDepartment) { try { using (var db = new CAMS_DatabaseEntities()) { if (ModelState.IsValid) { //only full access user for department can edit accesses to this departments if (IsFullAccess(UserDepartment.DepartmentId)) { db.Entry(UserDepartment).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(RedirectAcordingToLogin()); } return(View(UserDepartment)); } } catch { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } }
public ActionResult AddDept() { AjaxMsgModel ajaxMsg = new AjaxMsgModel() { Statu = "error", Msg = "新增失败!" }; int? deptId = int.Parse(Request["sel_Deptment"]); int uid = int.Parse(Request["uId"]); bool flag = false; UserDepartment udObject = _udBLL.Find(uid); if (udObject == null) { udObject = new UserDepartment(); udObject.UserId = uid; udObject.DepartmentId = deptId; flag = _udBLL.AddEntity(udObject) > 0; } else { udObject.DepartmentId = deptId; flag = _udBLL.UpdateEntity(udObject); } if (flag) { ajaxMsg.Statu = "ok"; ajaxMsg.Msg = "提交成功!"; } //var json = Newtonsoft.Json.JsonConvert.SerializeObject(ajaxMsg); return(Json(ajaxMsg, JsonRequestBehavior.AllowGet)); }
public async Task <RESTResult> AddOrUpdateUserDepartmentAsync(Guid curretnUserId, Guid userId, Guid departmentId) { RESTResult result = new RESTResult { Code = RESTStatus.Success }; var userDepartments = await _userDepartmentReposiotry.GetAllListAsync(item => item.UserId.Equals(userId)); if (userDepartments.Count > 0) { //We should not allow the user have two department at the smae time temporarily var userDepartmentModel = userDepartments.FirstOrDefault(); userDepartmentModel.DepartmentId = departmentId; userDepartmentModel.ModifyByUserId = curretnUserId; userDepartmentModel.ModifyTime = DateTime.Now; await _userDepartmentReposiotry.UpdateAsync(userDepartmentModel); result.Message = "Set department successful"; } else { //TODO:Add new user role var userDepartmentEntity = new UserDepartment { UserId = userId, DepartmentId = departmentId, CreateByUserId = curretnUserId, CreateTime = DateTime.Now }; await _userDepartmentReposiotry.InsertAsync(userDepartmentEntity); result.Message = "Set department successful"; } return(result); }
public async Task <IActionResult> Edit(int id, [Bind("DepartmentId,DepartmentName")] UserDepartment userDepartment) { if (id != userDepartment.DepartmentId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(userDepartment); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!UserDepartmentExists(userDepartment.DepartmentId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(PartialView("~/Areas/AppIdentity/Views/UserDepartment/CreateEdit.cshtml", userDepartment)); }
public UserDepartment Create(UserDepartment model) { using (var db = new PermissionContext()) { var userDepartments = db.UserDepartments.Add(model); db.SaveChanges(); return(userDepartments); } }
public UserDepartment Update(UserDepartment model) { using (var db = new PermissionContext()) { var userDepartments = db.UserDepartments.Find(model.Id); userDepartments = model; db.SaveChanges(); return(userDepartments); } }
public async Task <IActionResult> Create([Bind("DepartmentId,DepartmentName")] UserDepartment userDepartment) { if (ModelState.IsValid) { _context.Add(userDepartment); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(PartialView("~/Areas/AppIdentity/Views/UserDepartment/CreateEdit.cshtml", userDepartment)); }
// POST: odata/UserDepartments public IHttpActionResult Post(UserDepartment userDepartment) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.UserDepartments.Add(userDepartment); db.SaveChanges(); return(Created(userDepartment)); }
public ActionResult Create(FormCollection collection) { try { if (IsFullAccessUser()) { using (var db = new CAMS_DatabaseEntities()) { string user_id = Request.Form["UsersList"]; int departmentId = Convert.ToInt32(Request.Form["Departments"].ToString()); AccessType accessType = (AccessType)Convert.ToByte(Request.Form["AccessType"].ToString()); User user; int n; if (int.TryParse(Request.Form["UsersList"].ToString(), out n)) { user = db.Users.Find(n); } else { user = AddUser(user_id); } var accL = db.UserDepartments.Where(e => e.UserId.Equals(user.UserId) && e.DepartmentId.Equals(departmentId)).ToList(); //update access if (accL.Count > 0) { UserDepartment uD = accL.First(); uD.AccessType = accessType; } //new access else { UserDepartment userDepartment = new UserDepartment { UserId = user.UserId, DepartmentId = departmentId, AccessType = accessType }; db.UserDepartments.Add(userDepartment); } db.SaveChanges(); return(RedirectToAction("Index")); } } return(RedirectAcordingToLogin()); } catch { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } }
/// <summary> /// 插入 /// </summary> /// <param name="item"></param> /// <returns></returns> public UserDepartment Insert(UserDepartment item) { //CRUD Operation in Connected mode using (var db = new WebFrameworksDB()) { var result = db.UserDepartment.Add(item); if (db.SaveChanges() > 0) { return(result); } } return(null); }
/// <summary> /// 依据id查询 /// </summary> /// <param name="id"></param> /// <returns></returns> public UserDepartment GetById(int id) { UserDepartment result = null; DBHelper.NoLockInvokeDB(() => { using (var db = new WebFrameworksDB()) { result = db.UserDepartment.FirstOrDefault(p => p.Id == id); } }); return(result); }
public ActionResult AddDepartment() { UserDepartment userDepartment = new UserDepartment(); userDepartment.Departments = departmentManagement.GetAllDepartments(); userDepartment.RolesList = RoleManager.Roles.Where(x => !x.Name.Equals("Admin")).ToList().Select(x => new Core.ViewModel.SelectListItem() { Text = x.Name, Value = x.Id }); return(PartialView("_UserDepartment", userDepartment)); }
public async Task <IActionResult> Create([Bind("LastName,FirstName,Role,Department,Team")] Users users, string[] selectedRoles, string[] selectedDepartment, string[] selectedTeam) { if (selectedRoles != null) { users.UsersRole = new List <UserRoles>(); foreach (var role in selectedRoles) { var roleToAdd = new UserRoles { UsersID = users.ID, RolesID = int.Parse(role) }; users.UsersRole.Add(roleToAdd); } } if (selectedDepartment != null) { users.UsersDepartment = new List <UserDepartment>(); foreach (var department in selectedDepartment) { var departmentToAdd = new UserDepartment { UsersID = users.ID, DepartmentID = int.Parse(department) }; users.UsersDepartment.Add(departmentToAdd); } } if (selectedTeam != null) { users.UsersTeam = new List <UserTeam>(); foreach (var team in selectedTeam) { var teamToAdd = new UserTeam { UsersID = users.ID, TeamID = int.Parse(team) }; users.UsersTeam.Add(teamToAdd); } } if (ModelState.IsValid) { _context.Add(users); await _context.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(users)); }
// DELETE: odata/UserDepartments(5) public IHttpActionResult Delete([FromODataUri] int key) { UserDepartment userDepartment = db.UserDepartments.Find(key); if (userDepartment == null) { return(NotFound()); } db.UserDepartments.Remove(userDepartment); db.SaveChanges(); return(StatusCode(HttpStatusCode.NoContent)); }
/// <summary> /// 添加用户部门 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool Create(UserDepartmentModel model) { try { var userIds = model.UserIds.Split(','); var departmentIds = model.DepartmentIds.Split(','); foreach (var item in userIds) { var gid = Guid.Parse(item); var user = userDal.Find(gid); if (user == null) { throw new Exception("无法识别用户ID"); } else { var isScussce = dal.DelByUserId(gid); if (!isScussce) { throw new Exception("出现程序错误,请联系管理员!"); } } } foreach (var uid in userIds) { var userId = Guid.Parse(uid); foreach (var did in departmentIds) { var departmentId = Guid.Parse(did); var userDepartment = new UserDepartment { Id = Guid.NewGuid(), UserId = userId, DepartmentId = departmentId }; var result = dal.Create(userDepartment); if (result == null) { throw new Exception("循环添加出现程序错误,请联系管理员!"); } } } return(true); } catch (Exception) { throw new Exception("出现程序错误,请联系管理员!"); } }
public void UpdateUserDepartment(int userId, int departmentId, DateTime validFrom, DateTime validTo, bool isDelete) { using (IUnitOfWork work = UnitOfWork.Begin()) { UserDepartment userDepartment = _userDepartmentRepository.FindByUserId(userId).Where(ud => ud.DepartmentId == departmentId).SingleOrDefault(); if (userDepartment == null) { userDepartment = DomainObjectFactory.CreateUserDepartment(); _userDepartmentRepository.Add(userDepartment); userDepartment.UserId = userId; userDepartment.DepartmentId = departmentId; userDepartment.ValidFrom = validFrom; userDepartment.ValidTo = validTo; userDepartment.CurrentDep = false; userDepartment.IsDepartmentManager = userDepartment.IsDepartmentManager && !isDelete; userDepartment.IsDeleted = isDelete; work.Commit(); var userDepLogEntity = new UserDepartmentEventEntity(_userDepartmentRepository.FindById(userDepartment.Id)); _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName, CurrentUser.Get().CompanyId, userDepLogEntity.GetCreateMessage()); } else { var userDepLogEntity = new UserDepartmentEventEntity(userDepartment); userDepartment.UserId = userId; userDepartment.DepartmentId = departmentId; userDepartment.ValidFrom = validFrom; userDepartment.ValidTo = validTo; userDepartment.CurrentDep = false; userDepartment.IsDepartmentManager = userDepartment.IsDepartmentManager && !isDelete; userDepartment.IsDeleted = isDelete; work.Commit(); userDepLogEntity.SetNewUserDepartment(_userDepartmentRepository.FindById(userDepartment.Id)); _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName, CurrentUser.Get().CompanyId, userDepLogEntity.GetEditMessage()); } } }
public void NoNotificationTest() { User user = new User(); NotificationViewModel vm = new NotificationViewModel(user, new NotificationsController()); Assert.AreEqual(0, vm.Notifications.Count, "user have no notification properties"); user.DisconnectedPeriod = 2; Computer comp = new Computer(); Lab lab = new Lab(); comp.Lab = lab; lab.Computers.Add(comp); Department dep = new Department(); dep.Labs.Add(lab); lab.Department = dep; UserDepartment ud = new UserDepartment(); ud.Department = dep; ud.User = user; user.UserDepartments.Add(ud); Activity act1 = new Activity(); act1.Mode = ActivityType.Off; act1.Login = DateTime.Now.Date.AddDays(-1); comp.Activities.Add(act1); act1.Computer = comp; Assert.AreEqual(0, vm.Notifications.Count, "computer disconnected only 1 day"); act1.Login = DateTime.Now.Date.AddDays(-3); act1.Logout = DateTime.Now.Date; Assert.AreEqual(0, vm.Notifications.Count, "computer is connected"); user.NotActivePeriod = 2; Activity act2 = new Activity(); act2.Mode = ActivityType.User; act2.Login = DateTime.Now.Date.AddDays(-1); comp.Activities.Add(act2); act2.Computer = comp; Assert.AreEqual(0, vm.Notifications.Count, "last user activity day ago"); }
public async Task<ActionResult> Edit([Bind(Include = "UserName,Email,Id")]EditUserDepartmentViewModel editUser, params int[] selectedDepartments) { if (ModelState.IsValid) { var user = await _userManager.FindByIdAsync(editUser.Id); if (user == null) { return HttpNotFound(); } //删除现在所属部门 var departments = user.Departments.ToList(); departments.Each(t => _db.Set<UserDepartment>().Remove(t)); //新增所属部门 selectedDepartments = selectedDepartments ?? new int[] { }; selectedDepartments.Each(departmentId => { var userDepartment = new UserDepartment { ApplicationUserId = user.Id, DepartmentId = departmentId }; _db.Set<UserDepartment>().Add(userDepartment); }); _db.SaveChanges(); return RedirectToAction("Index"); } ModelState.AddModelError("", "操作失败。"); return View(); }