protected void btnOK_Click(object sender, EventArgs e) { var model = resourceControl.Model; if (String.IsNullOrWhiteSpace(model.Name)) { lblErrorMessage.Text = "შეიყვანეთ სახელი"; mpeResource.Show(); return; } var converter = new ResourceModelEntityConverter(HbSession); var entity = HbSession.Query <UM_Resource>().FirstOrDefault(n => n.ID == model.ID); if (entity == null) { entity = new UM_Resource { ID = Guid.NewGuid(), DateCreated = DateTime.Now }; } converter.FillObject(entity, model); HbSession.SubmitChanges(entity); FillResources(); mpeResource.Hide(); }
protected void usersControl_OnEdit(object sender, GenericEventArgs <Guid> e) { var user = HbSession.Query <UM_User>().FirstOrDefault(n => n.ID == e.Value); if (user == null) { return; } var converter = new UserEntityModelConverter(HbSession); var userModel = converter.Convert(user); userModel.Password = String.Empty; var createUserModel = new CreateUserModel { User = userModel }; btUserOK.Visible = true; pnlCreateUser.Enabled = true; createUserControl.Model = createUserModel; mpeUserForm.Show(); }
protected void usersControl_OnDelete(object sender, GenericEventArgs <Guid> e) { var user = HbSession.Query <UM_User>().FirstOrDefault(n => n.ID == e.Value); if (user == null) { return; } using (var transaction = HbSession.BeginTransaction()) { user.DateDeleted = DateTime.Now; HbSession.Update(user); foreach (var item in user.GroupUsers) { if (item.DateDeleted == null) { item.DateDeleted = user.DateDeleted; HbSession.Update(user); } } transaction.Commit(); } FillUserGrid(); }
protected void groupsControl_OnSetAttribute(object sender, GenericEventArgs <Guid> e) { var group = HbSession.Query <UM_Group>().FirstOrDefault(n => n.ID == e.Value); if (group == null) { return; } var grandParent = group; while (grandParent.Parent != null) { grandParent = grandParent.Parent; } var model = new ObjectAttributeModel { ParentID = group.ID, ProjectID = grandParent.ProjectID }; objectAttributeControl.Model = model; mpeGroupAttributes.Show(); }
protected void groupsControl_OnViewAttributes(object sender, GenericEventArgs <Guid> e) { var query = (from n in HbSession.Query <UM_Group>() join m in HbSession.Query <UM_AttributeValue>() on n.ID equals m.ParentID let node = m.AttributeField let schema = node.AttributeSchema where n.ID == e.Value select new ObjectAttributeUnitModel { ID = m.ID, Value = m.Value, Node = node.Name, Schema = schema.Name }); var model = new ObjectAttributeUnitsModel { List = query.ToList() }; objectAttributesControl.Model = model; objectAttributesControl.DataBind(); mpeViewGroupAttributes.Show(); }
protected void FillResources() { var projectID = DataConverter.ToNullableGuid(cmbProject.SelectedItem.Value); if (projectID == null) { return; } var resources = (from n in HbSession.Query <UM_Resource>() where n.DateDeleted == null && n.ProjectID == projectID select n).ToList(); var keyword = (tbxKeyword.Text ?? String.Empty).Trim(); if (!String.IsNullOrWhiteSpace(keyword)) { var list = (from n in resources where n.Name.Contains(keyword) || n.Value.Contains(keyword) select n).ToList(); var @set = FullHierarchyTraversal(list, resources).ToHashSet(); resources = @set.ToList(); } tlResources.DataSource = resources; tlResources.DataBind(); }
protected void lnkDelete_Click(object sender, EventArgs e) { var lnkBtn = sender as ImageLinkButton; if (lnkBtn == null || String.IsNullOrWhiteSpace(lnkBtn.CommandArgument)) { return; } var entityID = DataConverter.ToNullableGuid(lnkBtn.CommandArgument); var permissionParameter = (from n in HbSession.Query <UM_PermissionParameter>() where n.ID == entityID && n.DateDeleted == null select n).FirstOrDefault(); if (permissionParameter == null) { return; } permissionParameter.DateDeleted = DateTime.Now; HbSession.SubmitChanges(permissionParameter); btPermissionParameter_Click(this, EventArgs.Empty); }
protected UM_Permission GetGroupResourcePermission(Guid groupID, Guid?resourceID) { var resource = (from n in HbSession.Query <UM_Resource>() where n.ID == resourceID && n.DateDeleted == null select n).FirstOrDefault(); var permission = (from n in HbSession.Query <UM_Permission>() where n.GroupID == groupID && n.ResourceID == resource.ParentID && n.DateDeleted == null select n).FirstOrDefault(); if (permission != null) { PermissionInfo = "უფლება გაწერილია მშობელ რესურსზე"; return(permission); } if (resource.ParentID == null) { PermissionInfo = "უფლება არ არის გაწერილი"; return(null); } return(GetGroupResourcePermission(groupID, resource.ParentID)); }
protected void btnSet_Click(object sender, EventArgs e) { var permissionKey = GetPermissionKey(); if (permissionKey.GroupID == Guid.Empty || permissionKey.ResourseID == Guid.Empty || permissionKey.ProjectID == Guid.Empty) { return; } var permission = GetRelatedPermission(true); if (permission == null) { permission = new UM_Permission { ID = Guid.NewGuid(), DateCreated = DateTime.Now }; } permission.GroupID = permissionKey.GroupID; permission.ResourceID = permissionKey.ResourseID; permission.RuleValue = GetDecValue(); HbSession.SubmitChanges(permission); DisplayRelatedRule(); }
protected void Page_Load(object sender, EventArgs e) { var groups = (from n in HbSession.Query <UM_Group>() where n.DateDeleted == null && Enumerable.Contains(ConfigUtil.UserRegisterGroupID, n.ID) select n).ToList(); foreach (var @group in groups) { var trn = new DefaultTranslatable(@group.Name); @group.Name = trn.Text; } BindData(cbxGroups, groups); pnlGroup.Visible = true; if (groups.Count == 1) { var group = groups[0]; pnlGroup.Visible = false; cbxGroups.TrySetSelectedValue(group.ID); } ApplyViewMode(); }
protected void btnOK_OnClick(object sender, EventArgs e) { var model = projectControl.Model; if (String.IsNullOrWhiteSpace(model.Name)) { lblErrorMessage.Text = "შეიყვანეთ სახელი"; mpeProject.Show(); return; } var converter = new ProjectModelEntityConverter(HbSession); var project = HbSession.Query <UM_Project>().FirstOrDefault(n => n.ID == model.ID); if (project == null) { project = new UM_Project { ID = Guid.NewGuid(), DateCreated = DateTime.Now }; } converter.FillObject(project, model); HbSession.SubmitChanges(project); FillProjectsGrid(); mpeProject.Hide(); }
protected void attributesSchemasControl_OnNew(object sender, GenericEventArgs<Guid> e) { var units = UmSchemasUtil.CreateListOfTree(HbSession); var item = units.FirstOrDefault(n => n.Key == e.Value); if (item == null) return; if (item.Type == "Project") { var entity = HbSession.Get<UM_Project>(item.ID); var model = new AttributeSchemaModel { ProjectID = entity.ID }; attributeSchemaControl.Model = model; mpeAttributeSchema.Show(); } else if (item.Type == "Schema") { var entity = HbSession.Get<UM_AttributeSchema>(item.ID.GetValueOrDefault()); var model = new AttributeFieldModel { SchemaID = entity.ID }; attributeFieldControl.Model = model; mpeAttributeSchemaNode.Show(); } }
protected void ApplyViewMode() { if (cbxProject.DataSource == null) { var projects = (from n in HbSession.Query <UM_Project>() where n.DateDeleted == null orderby n.Name select n); cbxProject.DataSource = projects; cbxProject.DataBind(); } var projectID = cbxProject.TryGetGuidValue(); if (projectID != null) { var schemas = (from n in HbSession.Query <UM_AttributeSchema>() where n.DateDeleted == null && n.ProjectID == projectID orderby n.Name select n); cbxSchema.DataSource = schemas; cbxSchema.DataBind(); } var schemaID = cbxSchema.TryGetGuidValue(); if (schemaID != null) { var nodes = (from n in HbSession.Query <UM_AttributeField>() where n.DateDeleted == null && n.AttributeSchema.ID == schemaID orderby n.Name select n); cbxField.DataSource = nodes; cbxField.DataBind(); } var nodeID = cbxField.TryGetGuidValue(); if (nodeID != null) { var parentID = DataConverter.ToNullableGuid(hdParentID.Value); if (parentID == null) { return; } var attributeValue = (from n in HbSession.Query <UM_AttributeValue>() where n.DateDeleted == null && n.AttributeField.ID == nodeID && n.ParentID == parentID select n).FirstOrDefault(); if (attributeValue != null) { tbxValue.Text = attributeValue.Value; } } }
protected void SetUserGlobalAttribute(Guid userID, String attributeName, String value) { var globalAttr = (from n in HbSession.Query <UM_User>() join m in HbSession.Query <UM_AttributeValue>() on n.ID equals m.ParentID where n.ID == userID where m.DateDeleted == null let node = m.AttributeField let schema = node.AttributeSchema where node != null && node.Name == attributeName && schema.ProjectID == null select m).FirstOrDefault(); if (globalAttr == null) { globalAttr = new UM_AttributeValue { ID = Guid.NewGuid(), DateCreated = DateTime.Now, ParentID = userID, }; var globalAttrNode = (from n in HbSession.Query <UM_AttributeField>() where n.Name == attributeName && n.DateDeleted == null let schema = n.AttributeSchema where schema.ProjectID == null select n).SingleOrDefault(); if (globalAttrNode == null) { var globalSchema = (from n in HbSession.Query <UM_AttributeSchema>() where n.DateDeleted == null && n.ProjectID == null select n).Single(); globalAttrNode = new UM_AttributeField { ID = Guid.NewGuid(), Name = attributeName, DateCreated = DateTime.Now, AttributeSchema = globalSchema, }; } globalAttr.AttributeField = globalAttrNode; } globalAttr.Value = value; HbSession.SubmitInsert(globalAttr); }
protected void Page_Load(object sender, EventArgs e) { pnlError.Visible = false; pnlUser.Visible = false; if (!ConfigUtil.UserActivationEnabled) { lblError.Text = "მომხმარებელის ავტომატური აქტივაცია გათიშულია, გთხოვთ დაელოდოთ ადმინისტრატორს ხელოვნური აქტივირებისთვის"; pnlError.Visible = true; return; } var userCode = Request["UserCode"]; if (String.IsNullOrWhiteSpace(userCode)) { lblError.Text = "მომხმარებელი ვერ მოიძებნა"; pnlError.Visible = true; return; } var user = (from n in HbSession.Query <UM_User>() where n.DateDeleted == null && n.UserCode == userCode.Trim() select n).FirstOrDefault(); if (user == null) { lblError.Text = "მომხმარებელი ვერ მოიძებნა"; pnlError.Visible = true; return; } user.IsActive = true; user.UserCode = null; EmailUtil.SendActivatedEmail(user); HbSession.SubmitUpdate(user); if (!UmUtil.Instance.Login(user.LoginName, user.Password)) { throw new Exception(); } var url = new UrlHelper("/Rnsf/Gms/Gms.Portal.Web/"); url["loginToken"] = UmUtil.Instance.CurrentToken; lnkAuth.NavigateUrl = url.ToString(); lblUser.Text = $"({user.LoginName} - {user.FirstName} {user.LastName})"; pnlUser.Visible = true; }
protected void btUserOK_Click(object sender, EventArgs e) { var model = selectUserControl.Model; var userID = model.User.UserID; var groupID = model.ParentID; var accessLevel = DataConverter.ToNullableEnum <AccessLevelEnum>(model.AccessLevel); if (userID == null || groupID == null || accessLevel == null) { return; } var group = HbSession.Query <UM_Group>().FirstOrDefault(n => n.ID == groupID); if (group == null) { return; } var user = HbSession.Query <UM_User>().FirstOrDefault(n => n.ID == userID); if (user == null) { return; } var exists = (from n in HbSession.Query <UM_GroupUser>() where n.DateDeleted == null && n.GroupID == groupID && n.UserID == userID select n).Any(); if (exists) { return; } var groupUser = new UM_GroupUser { ID = Guid.NewGuid(), DateCreated = DateTime.Now, GroupID = groupID.Value, UserID = userID.Value, AccessLevel = (int)accessLevel }; HbSession.SubmitChanges(groupUser); FillGroupsTree(); mpeGroup.Hide(); }
protected void btnUserOK_Click(object sender, EventArgs e) { var model = createUserControl.Model; if (!ValidateUser(model)) { mpeUserForm.Show(); return; } if (String.IsNullOrWhiteSpace(model.User.Password)) { model.User.Password = "******"; } var user = HbSession.Query <UM_User>().FirstOrDefault(n => n.ID == model.User.ID); if (user == null) { user = new UM_User { ID = Guid.NewGuid(), DateCreated = DateTime.Now, }; } var converter = new UserModelEntityConverter(HbSession); converter.FillObject(user, model.User); var groups = model.Groups; if (groups != null && groups.Groups != null && groups.Groups.GroupsID != null) { foreach (var groupID in groups.Groups.GroupsID) { var groupUser = new UM_GroupUser { ID = Guid.NewGuid(), DateCreated = DateTime.Now, GroupID = groupID.Value, UserID = user.ID, AccessLevel = groups.AccessLevel }; user.GroupUsers.Add(groupUser); } } HbSession.SubmitChanges(user); FillUserGrid(); }
protected void btnRecovery_Click(object sender, EventArgs e) { lstErrorMessages.ForeColor = Color.Red; var model = loginControl.Model; if (String.IsNullOrWhiteSpace(model.LoginName)) { lstErrorMessages.Text = "გთხოვთ შეიყვანეთ მომხმარებლის სახელი"; //lstErrorMessages.Text = "Incorrect login name"; pnlRecovery.Visible = ConfigUtil.UserRecoveryEnabled; return; } var dbUser = (from n in HbSession.Query <UM_User>() where n.DateDeleted == null && n.IsActive == true && ( n.LoginName.ToLower() == model.LoginName.ToLower() || n.Email.ToLower() == model.LoginName.ToLower() ) select n).FirstOrDefault(); if (dbUser == null || String.IsNullOrWhiteSpace(dbUser.Email)) { lstErrorMessages.Text = "არასწორია ელ.ფოსტის მისამართი"; //lstErrorMessages.Text = "Invalid email address"; pnlRecovery.Visible = ConfigUtil.UserRecoveryEnabled; return; } dbUser.UserCode = Convert.ToString(Guid.NewGuid()); HbSession.SubmitUpdate(dbUser); try { EmailUtil.SendRecoveryEmail(dbUser); } catch (Exception ex) { lstErrorMessages.Text = ex.Message; return; } lstErrorMessages.ForeColor = Color.Green; lstErrorMessages.Text = "თქვენ მიიღებთ პაროლის აღდგენის ბმულს ელ.ფოსტაზე"; //lstErrorMessages.Text = "Please check your email to finish password recovery"; pnlRecovery.Visible = ConfigUtil.UserRecoveryEnabled; }
protected UM_Permission GetRelatedPermission(bool operation) { var permissionKey = GetPermissionKey(); if (permissionKey.GroupID == Guid.Empty || permissionKey.ResourseID == Guid.Empty) { return(null); } var projectExists = HbSession.Query <UM_Project>().Count(n => n.ID == permissionKey.ProjectID) > 0; if (!projectExists) { return(null); } var groupExists = HbSession.Query <UM_Group>().Count(n => n.ID == permissionKey.GroupID) > 0; if (!groupExists) { return(null); } var resourceExists = HbSession.Query <UM_Resource>().Count(n => n.ID == permissionKey.ResourseID) > 0; if (!resourceExists) { return(null); } var permission = (from n in HbSession.Query <UM_Permission>() where n.GroupID == permissionKey.GroupID && n.ResourceID == permissionKey.ResourseID && n.DateDeleted == null select n).FirstOrDefault(); if (operation) { return(permission); } if (permission == null) { return(GetGroupResourcePermission(permissionKey.GroupID, permissionKey.ResourseID)); } PermissionInfo = "უფლება გაწერილია მიმდინარე რესურსზე"; return(permission); }
protected void resourcesControl_OnDelete(object sender, GenericEventArgs <Guid> e) { var entity = HbSession.Query <UM_Resource>().FirstOrDefault(n => n.ID == e.Value); if (entity == null) { return; } entity.DateDeleted = DateTime.Now; HbSession.SubmitChanges(entity); FillResources(); }
protected void projectsControl_OnEdit(object sender, GenericEventArgs <Guid> e) { var entity = HbSession.Query <UM_Project>().FirstOrDefault(n => n.ID == e.Value); if (entity == null) { return; } var converter = new ProjectEntityModelConverter(HbSession); var model = converter.Convert(entity); projectControl.Model = model; mpeProject.Show(); }
protected void projectsControl_OnDelete(object sender, GenericEventArgs <Guid> e) { var entity = HbSession.Query <UM_Project>().FirstOrDefault(n => n.ID == e.Value); if (entity == null) { return; } entity.DateDeleted = DateTime.Now; HbSession.SubmitUpdate(entity); FillProjectsGrid(); }
protected void groupsControl_OnEdit(object sender, GenericEventArgs <Guid> e) { var group = HbSession.Query <UM_Group>().FirstOrDefault(n => n.ID == e.Value); if (group == null) { return; } var converter = new GroupEntityModelConverter(HbSession); var model = converter.Convert(group); groupControl.Model = model; mpeGroup.Show(); }
protected void btGroupOK_Click(object sender, EventArgs e) { var model = groupControl.Model; if (String.IsNullOrWhiteSpace(model.Name)) { lblGroupError.Text = "შეიყვანეთ სახელი"; mpeGroup.Show(); return; } var parent = HbSession.Query <UM_Group>().FirstOrDefault(n => n.ID == model.ParentID); var project = HbSession.Query <UM_Project>().FirstOrDefault(n => n.ID == model.ProjectID); if (project == null && parent != null) { var grandParent = parent; while (grandParent.Parent != null) { grandParent = grandParent.Parent; } model.ProjectID = grandParent.ProjectID; } var group = HbSession.Query <UM_Group>().FirstOrDefault(n => n.ID == model.ID); if (group == null) { group = new UM_Group { ID = Guid.NewGuid(), DateCreated = DateTime.Now }; } var converter = new GroupModelEntityConverter(HbSession); converter.FillObject(group, model); HbSession.SubmitChanges(group); FillGroupsTree(); mpeGroup.Hide(); }
protected void FillProjectsGrid() { var projects = HbSession.Query <UM_Project>().Where(n => n.DateDeleted == null).ToList(); var converter = new ProjectEntityModelConverter(HbSession); var model = new ProjectsModel { List = projects.Select(n => converter.Convert(n)).ToList() }; projectsControl.Model = model; projectsControl.DataBind(); //ucMessage.Update(); }
protected void FillResources() { var filterModel = resourcesFilterControl.Model; var query = from n in HbSession.Query <UM_Resource>() where n.DateDeleted == null select n; if (filterModel.ProjectID == Guid.Empty) { query = from n in query where n.ProjectID == null select n; } else { query = from n in query where n.ProjectID == filterModel.ProjectID select n; } var resources = query.ToList(); var keyword = (filterModel.Keyword ?? String.Empty).Trim(); if (!String.IsNullOrWhiteSpace(keyword)) { var list = (from n in resources where n.Name.Contains(keyword) || n.Value.Contains(keyword) select n).ToList(); var @set = FullHierarchyTraversal(list, resources).ToHashSet(); resources = @set.ToList(); } var converter = new ResourceEntityModelConverter(HbSession); var model = new ResourcesModel { List = resources.Select(n => converter.Convert(n)).ToList() }; resourcesControl.Model = model; resourcesControl.DataBind(); }
protected void FillProjects() { var projects = (from n in HbSession.Query <UM_Project>() where n.DateDeleted == null select n).ToList(); var list = projects.Select(n => new KeyValuePair <Guid?, String>(n.ID, n.Name)).ToList(); list.Insert(0, new KeyValuePair <Guid?, String>(Guid.Empty, "Global")); cmbProject.BindData(list); if (!IsPostBack) { cmbProject.SelectedIndex = 0; } }
protected void btSearchUsers_Click(object sender, EventArgs e) { var users = (from n in HbSession.Query <UM_User>() where n.DateDeleted == null select n).ToList(); if (!String.IsNullOrWhiteSpace(tbUsersKeyword.Text)) { users = (from n in users where n.LoginName.Trim().Contains(tbUsersKeyword.Text.Trim()) select n).ToList(); } lstUsers.DataSource = users; lstUsers.DataBind(); OnDataChanged(e); }
protected void btnOK_OnClick(object sender, EventArgs e) { var userCode = Request["userCode"]; if (String.IsNullOrWhiteSpace(userCode)) { lblError.Text = "მომხმარებელი ვერ მოიძებნა"; return; } var user = (from n in HbSession.Query <UM_User>() where n.DateDeleted == null && n.UserCode == userCode select n).FirstOrDefault(); if (user == null) { lblError.Text = "მომხმარებელი ვერ მოიძებნა"; return; } var model = recoveryControl.Model; if (String.IsNullOrWhiteSpace(model.NewPassword)) { lblError.Text = "გთხოვთ შეიყვანეთ პაროლი"; return; } if (model.NewPassword != model.ConfirmPassword) { lblError.Text = "პაროლები არ ემთხვევა ერთმანეთს"; return; } user.Password = model.NewPassword; user.PasswordExpirationDate = DateTime.Now.AddMonths(1); user.UserCode = null; pnlCompleted.Visible = true; pnlUserData.Visible = false; HbSession.SubmitUpdate(user); }
protected void resourcesControl_OnNew(object sender, GenericEventArgs <Guid> e) { var entity = HbSession.Query <UM_Resource>().FirstOrDefault(n => n.ID == e.Value); if (entity == null) { return; } var newModel = new ResourceModel { ParentID = entity.ID, ProjectID = entity.ProjectID, }; resourceControl.Model = newModel; mpeResource.Show(); }