public User AuthenticateUser(User userathenticate) { var userinfo = new Models.User(); var userRole = new Models.UserRole(); var userInfo = (from user in _dbcontext.Users join userrole in _dbcontext.UserRoles on user.UserRole.RoleId equals userrole.RoleId where (user.Email == userathenticate.Email && user.Password == userathenticate.Password) select new { user.ID, user.Email, user.UserRole.RoleId, user.UserName, userrole.RoleName }).FirstOrDefault(); if (userInfo != null) { userinfo.ID = userInfo.ID; userinfo.UserName = userInfo.UserName; userRole.RoleName = userInfo.RoleName; userinfo.Email = userInfo.Email; userinfo.UserRole = userRole; } // return null if user not found if (userinfo == null) { return(null); } return(userinfo); }
public ActionResult EditRoles(int UserId, int[] SelectedGroups) { if (ModelState.IsValid) { List <int> UserRole = (from s in db.Roles join ur in db.UserRoles on s.Id equals ur.RoleId where ur.UserId == UserId select s.Id).ToList(); foreach (int i in SelectedGroups) { if (!UserRole.Contains(i)) { UserRole ur = new Models.UserRole(); ur.UserId = UserId; ur.RoleId = i; ur.Id = db.UserRoles.OrderByDescending(c => c.Id).Select(c => c.Id).FirstOrDefault() + 1; db.UserRoles.Add(ur); db.SaveChanges(); } } foreach (int j in UserRole) { if (!SelectedGroups.Contains(j)) { UserRole ur = db.UserRoles.Where(c => c.RoleId == j && c.UserId == UserId).FirstOrDefault(); db.UserRoles.Remove(ur); db.SaveChanges(); } } //db.Entry(user).State = EntityState.Modified; //db.SaveChanges(); //return RedirectToAction("Index"); } return(RedirectToAction("Index")); }
public static Models.UserRole GetCopyOfType(Models.UserRole _userRole) { return(new Models.UserRole() { Id = _userRole.Id, Type = _userRole.Type }); }
public static UserRoleGetDto FromRole(Models.UserRole role) { return(new UserRoleGetDto { Id = role.Id, Name = role.Name }); }
public JsonResult <Models.UserRole> GetUserRole(int id) { EntityMapperUserRole <DataAccessLayer.SP_GETUserRoles_Result, Models.UserRole> mapObj = new EntityMapperUserRole <DataAccessLayer.SP_GETUserRoles_Result, Models.UserRole>(); DataAccessLayer.SP_GETUserRoles_Result dalBlotterTBO = DAL.GetUserRole(id); Models.UserRole products = new Models.UserRole(); products = mapObj.Translate(dalBlotterTBO); return(Json <Models.UserRole>(products)); }
public static UserRoleGetModel FromUserRole(Models.UserRole userRole) { return(new UserRoleGetModel { Id = userRole.Id, Name = userRole.Name, Description = userRole.Description }); }
public bool UpdateUserRole(Models.UserRole item) { bool status = false; if (ModelState.IsValid) { status = DAL.UpdateUserRole(item.URID, item.RoleName, item.isActive); } return(status); }
public IActionResult Post([FromBody] Models.UserRole userRole) { if (userRole == null) { return(BadRequest()); } var ur = this._mapper.Map <Entities.UserRole>(userRole); ur.CreatedIP = "1.1.1.1"; var result = this._userRolesRepository.Insert(ur); if (result != null) { return(Created("api/userRoles", result.Id)); } else { return(BadRequest("Failed to create userRole.")); } }
/// <summary> /// Adds roles to the user. /// </summary> /// <param name="u"></param> /// <param name="r"></param> public static void AddRoles(User u, List<Role> r) { using (EntityContext ctx = new EntityContext()) { foreach (Role ri in r) { Models.UserRole ur = new Models.UserRole() { UserId = u.UserId, RoleId = ri.RoleId }; if (ctx.UserRoles.Where(uro => uro.UserId.Equals(u.UserId) && uro.RoleId.Equals(ri.RoleId)).Any()) { } else { ctx.UserRoles.AddObject(ur); } } ctx.SaveChanges(); } }
/// <summary> /// Adds roles to the user. /// </summary> /// <param name="u"></param> /// <param name="r"></param> public static void AddRoles(User u, List <Role> r) { using (EntityContext ctx = new EntityContext()) { foreach (Role ri in r) { Models.UserRole ur = new Models.UserRole() { UserId = u.UserId, RoleId = ri.RoleId }; if (ctx.UserRoles.Where(uro => uro.UserId.Equals(u.UserId) && uro.RoleId.Equals(ri.RoleId)).Any()) { } else { ctx.UserRoles.AddObject(ur); } } ctx.SaveChanges(); } }
public IActionResult Put(string id, [FromBody] Models.UserRole userRole) { if (userRole == null) { return(BadRequest()); } var ur = this._mapper.Map <Entities.UserRole>(userRole); ur.ModifiedIP = "2.2.2.2"; var result = this._userRolesRepository.Update(id, ur); if (result) { var item = this._userRolesRepository.Find(id); return(Ok(item)); } else { return(BadRequest("Failed to Update userRole.")); } }
public ActionResult Edit(int id, FormCollection form) { #region Added by shakir (Currency parameter) var selectCurrency = (dynamic)null; if (form["selectCurrency"] != null) { selectCurrency = Convert.ToInt32(form["selectCurrency"].ToString()); } else { selectCurrency = Convert.ToInt32(Session["SelectedCurrency"].ToString()); } UtilityClass.GetSelectedCurrecy(selectCurrency); #endregion ServiceRepository serviceObj = new ServiceRepository(); HttpResponseMessage response = serviceObj.GetResponse("/api/UserRole/GetUserRole?id=" + id.ToString()); response.EnsureSuccessStatusCode(); Models.UserRole UserRole = response.Content.ReadAsAsync <Models.UserRole>().Result; UtilityClass.ActivityMonitor(Convert.ToInt32(Session["UserID"]), Session.SessionID, Request.UserHostAddress.ToString(), new Guid().ToString(), JsonConvert.SerializeObject(UserRole), this.RouteData.Values["action"].ToString(), Request.RawUrl.ToString()); return(PartialView("_Edit", UserRole)); }
private static void AddUsersToRoles(IRepository repository, IUnitOfWork unitOfWork, string[] userNames, string[] roleNames) { unitOfWork.BeginTransaction(); // Get roles future query var distinctRoleNames = roleNames.Distinct().ToArray(); var roleIdsQuery = repository .AsQueryable <Models.Role>(role => distinctRoleNames.Contains(role.Name)) .Select(role => new { Id = role.Id, Name = role.Name }) .ToFuture(); // Get users future query var distinctUserNames = userNames.Distinct().ToArray(); var userIdsQuery = repository .AsQueryable <Models.User>(user => distinctUserNames.Contains(user.UserName)) .Select(user => new { Id = user.Id, Name = user.UserName }) .ToFuture(); // Get already assigned roles var alreadyAssigned = repository .AsQueryable <Models.UserRole>(userRole => distinctUserNames.Contains(userRole.User.UserName)) .Select(userRole => new { UserId = userRole.User.Id, RoleId = userRole.Role.Id }) .ToFuture() .ToList(); // Validate roles var roles = roleIdsQuery.ToList(); roleNames .Where(roleName => roles.All(role => roleName != role.Name)) .ForEach(roleName => { throw new ProviderException(string.Format("Role {0} does not exist.", roleName)); }); // Validate users var users = userIdsQuery.ToList(); userNames .Where(userName => users.All(user => userName != user.Name)) .ForEach(userName => { throw new ProviderException(string.Format("User {0} does not exist.", userName)); }); // Add users to roles roles .ForEach(role => users .ForEach(user => { if (!alreadyAssigned.Any(a => a.UserId == user.Id && a.RoleId == role.Id)) { var userRole = new Models.UserRole { User = repository.AsProxy <Models.User>(user.Id), Role = repository.AsProxy <Models.Role>(role.Id), }; repository.Save(userRole); } })); unitOfWork.Commit(); }
public string Update() { try { var infoList = JsonConvert.DeserializeObject <Dictionary <String, Object> >(HttpUtility.UrlDecode(Request.Form.ToString())); #region 修改用户基本信息,不修改用户的员工编号和用户所在的部门 var userID = 0; int.TryParse(infoList["userID"].ToString(), out userID); var userName = infoList["userName"].ToString(); var userEmail = infoList["userEmail"].ToString(); var userDuty = infoList["userDuty"].ToString(); var userPhone = infoList["userPhone"].ToString(); var userMobile = infoList["userMobile"].ToString(); var userRemark = infoList["userRemark"].ToString(); var userInfo = db.UserInfo.Find(userID); userInfo.UserName = userName; userInfo.UserEmail = userEmail; userInfo.UserDuty = userDuty; userInfo.UserPhone = userPhone; userInfo.UserMobile = userMobile; userInfo.UserRemark = userRemark; db.SaveChanges(); #endregion #region 除用户已经存在的权限和管理部门 var userDeptExist = db.UserDept.Where(w => w.UserID == userInfo.UserID).ToList(); if (userDeptExist.Count != 0) { db.UserDept.RemoveRange(userDeptExist); } var userRoleExist = db.UserRole.Where(w => w.UserID == userInfo.UserID).ToList(); if (userRoleExist != null) { db.UserRole.RemoveRange(userRoleExist); } db.SaveChanges(); #endregion #region 添加用户所拥有的角色 Dictionary <string, object> roleList = JsonConvert.DeserializeObject <Dictionary <String, Object> >(infoList["roleList"].ToString()); foreach (var item in roleList) { Models.UserRole userRole = new Models.UserRole(); var roleID = 0; int.TryParse(item.Value.ToString(), out roleID); userRole.RoleID = roleID; userRole.UserID = userInfo.UserID; db.UserRole.Add(userRole); db.SaveChanges(); } #endregion #region 添加用户管理的部门 Dictionary <string, object> deptList = JsonConvert.DeserializeObject <Dictionary <String, Object> >(infoList["deptList"].ToString()); foreach (var item in deptList) { Models.UserDept userDept = new Models.UserDept(); var deptIDManagerment = 0; int.TryParse(item.Value.ToString(), out deptIDManagerment); userDept.DeptID = deptIDManagerment; userDept.UserID = userInfo.UserID; db.UserDept.Add(userDept); db.SaveChanges(); } #endregion return("ok"); } catch (Exception ex) { return(ex.Message); } }
public async Task <ActionResult> Create(Student student) { try { ViewBag.Grade = new SelectList(Common.Grades(), "ID", "Description"); Organization org = Session["Organization"] as Organization; if (org != null) { student.SchoolID = org.SchoolID; student.DefaultGoal = org.DefaultGoal.ToString(); student.Message = ""; student.image = ""; student.Active = true; } //RegisterModel distributor = db.Distributors.Find(org.Distributor); //student.image=org. db.Students.Add(student); db.SaveChanges(); Session["StudentIDs"] = student.StudentID; EmailService email = new EmailService(); IdentityMessage details = new IdentityMessage(); details.Destination = student.EmailAddress; details.Subject = "Welcome Mail! Fundraisingshop.com"; Dictionary <string, string> param = new Dictionary <string, string>(); param.Add("<%ID%>", student.ID.ToString()); param.Add("<%UserID%>", student.StudentID); param.Add("<%password%>", student.Password); details.Body = ShrdMaster.Instance.buildEmailBody("WelcomeMessage.txt", param); await email.SendAsync(details); UserRole userrole = new Models.UserRole(); userrole.UserId = student.ID; userrole.RoleId = 2; db.UserRoles.Add(userrole); db.SaveChanges(); //Roles.AddUserToRole("Admin", "Student"); ViewBag.ID = student.ID; return(RedirectToAction("personalization", new { studentID = student.StudentID, option = 1 })); //return RedirectToAction("Success", new { ID=student.StudentID }); } catch (System.Data.Entity.Validation.DbEntityValidationException dbEx) { Exception raise = dbEx; foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { string message = string.Format("{0}:{1}", validationErrors.Entry.Entity.ToString(), validationError.ErrorMessage); // raise a new exception nesting // the current instance as InnerException raise = new InvalidOperationException(message, raise); } } throw raise; } // return View(student); }
private static void AddUsersToRoles(IRepository repository, IUnitOfWork unitOfWork, string[] userNames, string[] roleNames) { unitOfWork.BeginTransaction(); // Get roles future query var distinctRoleNames = roleNames.Distinct().ToArray(); var roleIdsQuery = repository .AsQueryable<Models.Role>(role => distinctRoleNames.Contains(role.Name)) .Select(role => new { Id = role.Id, Name = role.Name }) .ToFuture(); // Get users future query var distinctUserNames = userNames.Distinct().ToArray(); var userIdsQuery = repository .AsQueryable<Models.User>(user => distinctUserNames.Contains(user.UserName)) .Select(user => new { Id = user.Id, Name = user.UserName }) .ToFuture(); // Get already assigned roles var alreadyAssigned = repository .AsQueryable<Models.UserRole>(userRole => distinctUserNames.Contains(userRole.User.UserName)) .Select(userRole => new { UserId = userRole.User.Id, RoleId = userRole.Role.Id }) .ToFuture() .ToList(); // Validate roles var roles = roleIdsQuery.ToList(); roleNames .Where(roleName => roles.All(role => roleName != role.Name)) .ForEach(roleName => { throw new ProviderException(string.Format("Role {0} does not exist.", roleName)); }); // Validate users var users = userIdsQuery.ToList(); userNames .Where(userName => users.All(user => userName != user.Name)) .ForEach(userName => { throw new ProviderException(string.Format("User {0} does not exist.", userName)); }); // Add users to roles roles .ForEach(role => users .ForEach(user => { if (!alreadyAssigned.Any(a => a.UserId == user.Id && a.RoleId == role.Id)) { var userRole = new Models.UserRole { User = repository.AsProxy<Models.User>(user.Id), Role = repository.AsProxy<Models.Role>(role.Id), }; repository.Save(userRole); } })); unitOfWork.Commit(); }
public string Insert() { try { var infoList = JsonConvert.DeserializeObject <Dictionary <String, Object> >(HttpUtility.UrlDecode(Request.Form.ToString())); var userNum = infoList["userNum"].ToString();//员工编号 var userName = infoList["userName"].ToString(); var userEmail = infoList["userEmail"].ToString(); var deptID = 0; int.TryParse(infoList["deptID"].ToString(), out deptID); //用户所在单位 var userDuty = infoList["userDuty"].ToString(); //职务 var userPhone = infoList["userPhone"].ToString(); //办公电话 var userMobile = infoList["userMobile"].ToString(); //手机 var userRemark = infoList["userRemark"].ToString(); //按员工编号userNum检查数据库中用户信息是否存在 Models.UserInfo userInfo = db.UserInfo.Where(w => w.UserNum == userNum).FirstOrDefault(); if (userInfo == null)//如果用户不存在,直接插入用户信息 { #region 插入用户基本信息 userInfo = new Models.UserInfo(); userInfo.UserName = userName; userInfo.UserNum = userNum; userInfo.UserDuty = userDuty; userInfo.UserState = 0; userInfo.UserDeptID = deptID; userInfo.UserEmail = userEmail == string.Empty ? null : userEmail; userInfo.UserPhone = userPhone; userInfo.UserRemark = userRemark; userInfo.UserMobile = userMobile; db.UserInfo.Add(userInfo); db.SaveChanges(); #endregion } else//如果不存在用户信息,进一步判断用户是否删除。 { var isDelUser = userInfo.UserState; if (isDelUser == 0)//如果未删除,不能修改用户信息,返回用户已存在,不能修改。 { return("用户信息已存在!"); } else//如果已删除,更新用户信息,将用户状态更改为未删除状态,更新用户所在部门 { #region 更新已标记删除用户的信息,将用户状态更改为未删除 userInfo.UserName = userName; userInfo.UserDuty = userDuty; userInfo.UserState = 0; //将用户状态更改为未删除 userInfo.UserDeptID = deptID; //将用户部门更改为选择的部门 userInfo.UserEmail = userEmail == string.Empty ? null : userEmail; userInfo.UserPhone = userPhone; userInfo.UserRemark = userRemark; userInfo.UserMobile = userMobile; db.SaveChanges(); #endregion } } #region 除用户已经存在的权限和管理部门 var userDeptExist = db.UserDept.Where(w => w.UserID == userInfo.UserID).ToList(); if (userDeptExist.Count != 0) { db.UserDept.RemoveRange(userDeptExist); } var userRoleExist = db.UserRole.Where(w => w.UserID == userInfo.UserID).ToList(); if (userRoleExist != null) { db.UserRole.RemoveRange(userRoleExist); } db.SaveChanges(); #endregion #region 添加用户所拥有的角色 Dictionary <string, object> roleList = JsonConvert.DeserializeObject <Dictionary <String, Object> >(infoList["roleList"].ToString()); foreach (var item in roleList) { Models.UserRole userRole = new Models.UserRole(); var roleID = 0; int.TryParse(item.Value.ToString(), out roleID); userRole.RoleID = roleID; userRole.UserID = userInfo.UserID; db.UserRole.Add(userRole); db.SaveChanges(); } #endregion #region 添加用户管理的部门 Dictionary <string, object> deptList = JsonConvert.DeserializeObject <Dictionary <String, Object> >(infoList["deptList"].ToString()); foreach (var item in deptList) { Models.UserDept userDept = new Models.UserDept(); var deptIDManagerment = 0; int.TryParse(item.Value.ToString(), out deptIDManagerment); userDept.DeptID = deptIDManagerment; userDept.UserID = userInfo.UserID; db.UserDept.Add(userDept); db.SaveChanges(); } #endregion return("ok"); } catch (Exception e) { return(e.Message); } }