public int RemoveUserRequestEmail(Entities.UserRequest request) { RemoveUserRequest(request); string subject = string.Format(JSSEConstants.ACCESS_DENY_TEXT, request.Group.GroupName); var ccUsers = string.Empty; var ownerGroups = GetGroupsByLevel(2, request.Group.Org_Id, 0); if (ownerGroups.Count > 0) { int groupId = ownerGroups.FirstOrDefault().Group_ID; var ccUserList = GetGroupUsers(groupId).Select(x => x.User.Email); ccUsers = string.Join(",", ccUserList.ToArray()); } else { string userName = request.User.User_ID; ccUsers = GetUserInfo(userName).Email; } StringBuilder sbBody = new StringBuilder(); sbBody.AppendLine("Access has been DENIED to JSSE Group: " + request.Group.GroupName + "."); sbBody.Append("<br/>"); sbBody.AppendLine(@"<b>Request Sent by: </b>"); sbBody.Append(request.User.FullName); sbBody.Append("<br/>"); sbBody.AppendLine(@"<b>Denied Access to: </b>"); sbBody.Append(request.Group.GroupName + " Group"); SendEmailNotification(sbBody.ToString(), request.User.Email, ccUsers, subject); return(1); }
/* Deactivate Security Request to add User to group */ public int DeActivateUserRequest(Entities.UserRequest request) { int result = 0; result = JSSESecurityManager.DeActiveUserRequest(request.Request_ID); return(result); }
/* Add Security Request to add User to group */ public int AddUserRequest(Entities.UserRequest request) { int result = 0; T_JSSE_Security_Request dbJSSE = new T_JSSE_Security_Request(); dbJSSE.Requested_By = request.Requested_By; dbJSSE.Description = request.Description; dbJSSE.CreatedBy = request.Requested_By; dbJSSE.CreatedDate = DateTime.Now; dbJSSE.Active = true; result = JSSESecurityManager.AddUserRequest(dbJSSE, request.Org_Id); return(result); }
public int AddUserToGroupByRequest(Entities.UserRequest request) { Entities.UserGroup group = new Entities.UserGroup(); group.User = request.User; group.Group = request.Group; //Add User to Group from Request try { JSSESecurityManager.AddUser(group); } catch (Exception ex) { //Check Data base Error to see if User Already member of Group, Then Remove Request if (ex.Message.IndexOf(JSSEConstants.USER_ALREADY_IN_GROUP) > 0) { RemoveUserRequest(request); } throw ex; }; RemoveUserRequest(request); var ccUsers = string.Empty; //Get Groups By Level Id (1 for admin 2 for Owner and 3 for user of JSSE) var ownerGroups = GetGroupsByLevel(2, request.Group.Org_Id, 0); //If Owner Group Exists, then Get Users Owner List in to Variable for Email if (ownerGroups.Count > 0) { int groupId = ownerGroups.FirstOrDefault().Group_ID; var ccUserList = GetGroupUsers(groupId).Select(x => x.User.Email); ccUsers = string.Join(",", ccUserList.ToArray()); } else { string userName = request.User.User_ID; ccUsers = GetUserInfo(userName).Email; } //Send Email notification to User and CC Owner string subject = string.Format(JSSEConstants.ACCESS_GRANT_TEXT, request.Group.GroupName);// "Access has been GRANTED to " + request.Group.GroupName + " Group."; StringBuilder sbBody = new StringBuilder(); sbBody.AppendLine(subject); sbBody.Append("<br/>"); sbBody.AppendLine(@"<b>Request Sent by: </b>"); sbBody.Append(request.User.FullName); sbBody.Append("<br/>"); sbBody.AppendLine(@"<b>Granted Access to: </b>"); sbBody.Append(request.Group.GroupName + " Group"); SendEmailNotification(sbBody.ToString(), request.User.Email, ccUsers, subject); return(1); }
/* Get Group Requests of selected security group*/ public List <Entities.UserRequest> GetGroupRequests(int groupId) { List <Entities.UserRequest> uReqs = new List <Entities.UserRequest>(); try { var dbRequests = JSSESecurityManager.GetGroupRequests(groupId); foreach (var dbReq in dbRequests) { Entities.UserRequest uReq = new Entities.UserRequest(); uReq.Group = new Entities.Group(); uReq.User = new Entities.UserInfo(); uReq.Request_ID = dbReq.Request_ID; uReq.User.SecurityUserID = dbReq.SecurityGroup_ID; uReq.User.User_ID = dbReq.PRIMARY_WINDOWS_NT_ACCOUNT; uReq.User.Emp_Id = dbReq.Emp_No; uReq.User.CompanyId = dbReq.Company_Cd; uReq.User.FirstName = dbReq.FirstName; uReq.User.LastName = dbReq.LastName; uReq.User.FullName = dbReq.LastName + " " + dbReq.FirstName; uReq.User.Email = dbReq.EMAIL_ADDRESS_COMPANY; uReq.User.MajorGroup_Id = dbReq.User_MajorGroup_Id.ToString(); uReq.User.Org_Id = dbReq.User_Org_Id.ToString(); uReq.User.Dept_Id = dbReq.User_Dept_Id.ToString(); uReq.User.Section_Id = dbReq.Use_Sect_Id.ToString(); uReq.Description = dbReq.Description; uReq.Requested_By = dbReq.CreatedBy; uReq.CreatedDate = dbReq.CreatedDate; uReq.Group.Group_ID = dbReq.SecurityGroup_ID; uReq.Group.GroupName = dbReq.GroupName; uReq.Group.MajorGroup_Id = dbReq.MajorGroup_Id; uReq.Group.Org_Id = dbReq.Org_Id; uReqs.Add(uReq); } } catch { throw; } return(uReqs); }
public int SendRequestEmail(Entities.SecurityRequest accessRequest) { //string userName = HttpContext.Current.User.Identity.Name; if (accessRequest != null && !string.IsNullOrEmpty(accessRequest.UserName)) { IEnumerable <string> users = new List <string>(); var ownerGroups = GetGroupsByLevel(2, accessRequest.Org_Id, 0); int addRequestResult = 0; if (ownerGroups.Count > 0) { int groupId = ownerGroups.FirstOrDefault().Group_ID; users = GetGroupUsers(groupId).Select(x => x.User.Email); Entities.UserRequest request = new Entities.UserRequest(); request.Org_Id = accessRequest.Org_Id; request.Requested_By = accessRequest.UserName; request.Description = accessRequest.EmailBody; addRequestResult = AddUserRequest(request); } else if (ownerGroups.Count <= 0 || users.Count() <= 0) { users = GetGroupUsers(1).Select(x => x.User.Email); } string toAddressList = string.Join(",", users.ToArray()); var ccUser = GetUserInfo(accessRequest.UserName); string subject = "Request to add User to " + accessRequest.Org_Name + " User Group."; StringBuilder sbBody = new StringBuilder(); sbBody.AppendLine("Hello, "); sbBody.Append("<br/><br/>"); sbBody.AppendLine("Please provide access to create JSSE for " + accessRequest.Org_Name + " User Group."); sbBody.Append("<br/><br/>"); sbBody.AppendLine(@"<b>Request Sent by: </b>"); sbBody.Append(ccUser.FullName); sbBody.Append("<br/><br/>"); sbBody.AppendLine(@"<b>Add to: </b>"); sbBody.Append(accessRequest.Org_Name + " User Group"); sbBody.Append("<br/><br/>"); sbBody.AppendLine(@"<b>Message:</b> "); sbBody.Append(accessRequest.EmailBody); sbBody.Append("<br/><br/>"); if (addRequestResult == -2) { sbBody.Append("User Group does not exist for Selected Organization. Email has been sent to Administrator to Create User Group."); sbBody.Append("<br/><br/>"); } else if (addRequestResult == -1) { sbBody.Append("Request had already been created by you earlier, Selected Organization. Email has been sent."); sbBody.Append("<br/><br/>"); } SendEmailNotification(sbBody.ToString(), toAddressList, ccUser.Email, subject); if (addRequestResult == -2) { throw new Exception(JSSEConstants.USER_GROUP_NOT_EXIST_ADMIN_EMAILED); } return(1); } else { throw new Exception(JSSEConstants.USER_NAME_CANNOT_BLANK); } }