private void FillChild(string type, TreeNode parent, int ParentId = 0, string ParentAccountCode = "") { if (type == "SD") { var nodes = new SegmentDetailsDAL().GetSegmentDetails().ToList().Where(x => x.Status == "A" && x.ParentDetailID == ParentId); foreach (var node in nodes) { TreeNode child = new TreeNode(node.DetailCode + " - " + node.DetailDesc, node.SegmentDetailID.ToString()); child.SelectAction = TreeNodeSelectAction.None; child.Collapse(); parent.ChildNodes.Add(child); FillChild("SD", child, node.SegmentDetailID, string.Empty); } } else if (type == "MG") { var nodes = new AccountCodeDAL().GetAccountCodes().ToList().Where(x => x.Status == "A" && x.ParentAccountCode == ParentAccountCode); foreach (var node in nodes) { TreeNode child = new TreeNode(node.AccountCode1 + " - " + node.AccountDesc, node.AccountCode1); child.SelectAction = TreeNodeSelectAction.None; child.Collapse(); parent.ChildNodes.Add(child); FillChild("MG", child, 0, node.AccountCode1); } } }
private void GetData() { try { selectedSegment = (Segment)Session["SelectedSegment"]; List <SegmentDetail> data = new SegmentDetailsDAL().GetSegmentDetails(selectedSegment.SegmentID); if (data.Count == 0) { data = new List <SegmentDetail>(); data.Add(new SegmentDetail() { SegmentID = 0, SegmentDetailID = 0, ParentDetailID = 0 }); List <DAL.YearUploadSetup> GetData = new YearUploadDAL().GetYearUpload(); DAL.YearUploadSetup curryear = GetData.Where(x => x.BudgetYear == DateTime.Now.Year).FirstOrDefault(); if (curryear.ToString().Count() > 0) { if (!GetData.Where(y => y.BudgetYear == curryear.BudgetYear).Select(z => z.Status.Contains("A")).FirstOrDefault()) { btnFileUpload.HRef = "#"; } } } Session["SegmentDetailsData"] = data; } catch (Exception ex) { ((SiteMaster)this.Master).ShowMessage("Error", "An error occurred", ex, true); } }
protected void gvSegmentDLLs_RowDataBound(object sender, GridViewRowEventArgs e) { try { if (e.Row.RowType == DataControlRowType.DataRow) { Segment rowItem = (Segment)e.Row.DataItem; List <SegmentDetail> lst = new SegmentDetailsDAL().GetSegmentDetails().ToList(); List <SegmentDetail> lstSD = new List <SegmentDetail>(); if (AuthUser.JuncUserRoles.FirstOrDefault().RoleID == 3 || AuthUser.JuncUserRoles.FirstOrDefault().RoleID == 4) { lstSD = lst.Where(x => x.Status == "A" && x.SegmentID == rowItem.SegmentID).ToList(); } else { lstSD = AuthUser.UserSegDtlWorkflows.Where(x => x.Status == "A" && x.SegmentDetail.SegmentID == rowItem.SegmentID).Select(x => x.SegmentDetail).ToList(); List <int> parntids = lstSD.Select(x => Convert.ToInt32(x.ParentDetailID)).Distinct().ToList(); if ((lstSD.Count() > 0) == false) { e.Row.Visible = false; } while (parntids.Count > 0) { List <SegmentDetail> lstprnts = lst.Where(x => parntids.Contains(x.SegmentDetailID)).ToList(); foreach (SegmentDetail o in lstprnts) { if (lstSD.Where(x => x.SegmentDetailID == o.SegmentDetailID).Count() == 0) { lstSD.Add(o); } } parntids = lstprnts.Select(x => Convert.ToInt32(x.ParentDetailID)).Distinct().ToList(); } } lstSD = lstSD.OrderBy(x => x.ParentDetailID).ThenBy(x => x.DetailCode).ToList(); TreeNode tn = new TreeNode(); CreateNode(lstSD, ref tn, 0); TreeView tvSegmentDDL = ((TreeView)e.Row.Cells[1].FindControl("tvSegmentDDL")); for (int i = tn.ChildNodes.Count - 1; i >= 0; i--) { tvSegmentDDL.Nodes.Add(tn.ChildNodes[0]); } tvSegmentDDL.ExpandAll(); } } catch (Exception ex) { ((SiteMaster)this.Master).ShowMessage("Error", "An error occurred", ex, true); } }
protected void btnSaveWorkflow_OnClick(object sender, EventArgs e) { try { /*User Mengurus Workflow - start*/ List <UserMengurusWorkflow> lstAccountCode = new List <UserMengurusWorkflow>(); GetNodeRecursiveAC(tvMengurus.Nodes, lstAccountCode); List <string> ParAccCode = new AccountCodeDAL().GetAccountCodes().ToList().Select(x => x.ParentAccountCode).Distinct().ToList(); for (int i = 0; i < ParAccCode.Count; i++) { lstAccountCode = lstAccountCode.Where(x => x.AccountCode != ParAccCode[i]).ToList(); } Session["UserMengurusWorkflow"] = lstAccountCode; /*User Mengurus Workflow - end*/ /*User Perjawatan Workflow - START*/ List <UserPerjawatanWorkflow> lstServiceCode = new List <UserPerjawatanWorkflow>(); for (int i = 0; i < gvPerjawatanWorkFlow.Rows.Count; i++) { if (((CheckBox)gvPerjawatanWorkFlow.Rows[i].Cells[0].FindControl("chkSelect")).Checked) { lstServiceCode.Add(new UserPerjawatanWorkflow() { GroupPerjawatanCode = gvPerjawatanWorkFlow.DataKeys[i]["GroupPerjawatanCode"].ToString(), Status = "A" }); } } Session["UserPerjawatanWorkflow"] = lstServiceCode; /*User Perjawatan Workflow - END*/ /*User Segment Details Workflow - START*/ List <UserSegDtlWorkflow> lstSegmentDetail = new List <UserSegDtlWorkflow>(); foreach (TreeNode node in tvSegmentDetails.CheckedNodes) { GetNodeRecursiveSD(node, lstSegmentDetail); } List <int> ParSegDtls = new SegmentDetailsDAL().GetSegmentDetails().ToList().Select(x => Convert.ToInt32(x.ParentDetailID)).Distinct().ToList(); for (int i = 0; i < ParSegDtls.Count; i++) { lstSegmentDetail = lstSegmentDetail.Where(x => x.SegmentDetailID != ParSegDtls[i]).ToList(); } Session["UserSegmentDetailsWorkflow"] = lstSegmentDetail; /*User Segment Details Workflow - END*/ ScriptManager.RegisterStartupScript(Page, Page.GetType(), "GetWorkflowFlag", "WorkflowFlag();", true); } catch (Exception ex) { ((SiteMaster)this.Master).ShowMessage("Error", "An error occurred", ex, true); } }
protected void PopulateSearchResult() { tvSearchResult.Nodes.Clear(); //populate Search Result - Segment Details - START List <SegmentDetail> ListSegDtls = new List <SegmentDetail>(); if (AuthUser.JuncUserRoles.FirstOrDefault().RoleID == 3 || AuthUser.JuncUserRoles.FirstOrDefault().RoleID == 4) { ListSegDtls = new SegmentDetailsDAL().GetSegmentDetails().ToList().Where(x => x.Status == "A").ToList(); } else { ListSegDtls = AuthUser.UserSegDtlWorkflows.Where(x => x.Status == "A").Select(x => x.SegmentDetail).ToList(); List <int> ParentIDs = ListSegDtls.Select(x => Convert.ToInt32(x.ParentDetailID)).Distinct().ToList(); while (ParentIDs.Count > 0) { List <SegmentDetail> lstParObj = new SegmentDetailsDAL().GetSegmentDetails().ToList().Where(x => ParentIDs.Contains(x.SegmentDetailID)).ToList(); foreach (SegmentDetail o in lstParObj) { if (ListSegDtls.Where(x => x.SegmentDetailID == o.SegmentDetailID).Count() == 0) { ListSegDtls.Add(o); } } ParentIDs = lstParObj.Select(x => Convert.ToInt32(x.ParentDetailID)).Distinct().ToList(); } } ListSegDtls = ListSegDtls.OrderBy(x => x.ParentDetailID).ThenBy(x => x.DetailCode).ToList(); foreach (Segment segment in new SegmentDAL().GetSegments().Where(w => ListSegDtls.Select(y => y.Segment.SegmentID).Contains(w.SegmentID)) .OrderBy(x => x.SegmentOrder).ToList()) { TreeNode parentNode = new TreeNode(segment.SegmentName, segment.SegmentID.ToString()); parentNode.SelectAction = TreeNodeSelectAction.None; //find deep level nodes CreateSearhResultNode(ListSegDtls, ref parentNode, segment.SegmentID, 0); tvSearchResult.Nodes.Add(parentNode); tvSearchResult.ExpandAll(); } foreach (TreeNode parentNode in tvSearchResult.Nodes) { FindAllNodes(parentNode); } //populate Search Result - Segment Details - END //populate Search Result - Selected Period - START BuildSelectedPeriodList(); //populate Search Result - Selected Period - END }
public void FindAllNodes(TreeNode parentNode) { List <int> SelectedSegDtls = new SegmentDetailsDAL().AllLeafDetails(GetSelectedSegmentDetails()); foreach (TreeNode childNode in parentNode.ChildNodes) { if (SelectedSegDtls.Contains(Convert.ToInt32(childNode.Value))) { childNode.ShowCheckBox = true; childNode.Checked = true; childNode.Text = "<span class=\"label label-white middle\">" + childNode.Text + "</span>"; } FindAllNodes(childNode); } }
protected void gvUsers_RowCommand(object sender, GridViewCommandEventArgs e) { try { if (e.CommandName == "EditRow") { ClearPageData(); GridViewRow selectedRow = gvUsers.Rows[Convert.ToInt32(e.CommandArgument)]; selectedRow.Style["background-color"] = "skyblue"; MasterUser objMasterUser = DAL.UsersDAL.StaticUserId(Convert.ToInt32(gvUsers.DataKeys[selectedRow.RowIndex]["UserID"]), ""); MembershipUser _MembershipUser = Membership.GetUser(objMasterUser.UserName); if ((Guid)_MembershipUser.ProviderUserKey == objMasterUser.UUID) { Session["SelectedMasterUser"] = objMasterUser; username.Value = objMasterUser.UserName.Trim(); email.Value = objMasterUser.UserEmail.Trim(); question.Value = objMasterUser.SecQuestion.Trim(); answer.Value = Security.Decrypt(objMasterUser.SecAnswer.Trim()); fullname.Value = objMasterUser.FullName.Trim(); icno.Value = objMasterUser.UserIC.Trim(); dept.Value = objMasterUser.Department.Trim(); phone.Value = objMasterUser.UserPhoneNo.Trim(); designation.Value = objMasterUser.Designation.Trim(); fax.Value = objMasterUser.Fax.Trim(); offaddress.Value = objMasterUser.OfficeAddress.Trim(); period.Value = objMasterUser.PeriodOfService.Trim(); grade.Value = objMasterUser.PositionGrade.Trim(); title.Value = objMasterUser.Title.Trim(); status.SelectedIndex = -1; status.Items.FindByValue(new Helper().GetItemStatusEnumName(Convert.ToChar(objMasterUser.UserStatus))).Selected = true; role.SelectedIndex = -1; ListItem item = role.Items.FindByValue(new UsersRoleDAL().ListUserRole().Where(x => x.UserID == objMasterUser.UserID) .Select(y => Convert.ToString(y.RoleID)).FirstOrDefault()); if (item != null) { role.SelectedValue = item.Value; } /*User Mengurus Workflow - start*/ List <AccountCode> lstAccCode = objMasterUser.UserMengurusWorkflows.Where(x => x.Status == "A").Select(x => x.AccountCode1).ToList(); List <string> lstParAccCode = lstAccCode.Select(x => x.ParentAccountCode).Distinct().ToList(); while (lstParAccCode.Count() > 0) { List <AccountCode> lstObjPar = new AccountCodeDAL().GetAccountCodes().ToList().Where(x => lstParAccCode.Contains(x.AccountCode1)).ToList(); foreach (AccountCode ac in lstObjPar) { if (lstAccCode.Where(x => x.AccountCode1 == ac.AccountCode1).Count() == 0) { lstAccCode.Add(ac); } } lstParAccCode = lstObjPar.Select(x => x.ParentAccountCode).Distinct().ToList(); } PopulateACChild(tvMengurus.Nodes, lstAccCode); /*User Mengurus Workflow - end*/ /*User Perjawatan Workflow - start*/ List <string> lstServiceCode = objMasterUser.UserPerjawatanWorkflows.Where(x => x.Status == "A").Select(x => x.GroupPerjawatanCode).ToList(); for (int i = 0; i < gvPerjawatanWorkFlow.Rows.Count; i++) { ((CheckBox)gvPerjawatanWorkFlow.Rows[i].Cells[0].FindControl("chkSelect")).Checked = lstServiceCode.Contains(gvPerjawatanWorkFlow.DataKeys[i]["GroupPerjawatanCode"].ToString()); } /*User Perjawatan Workflow - end*/ /*User Segment Details Workflow - start*/ List <SegmentDetail> lstSegDtls = objMasterUser.UserSegDtlWorkflows.Where(x => x.Status == "A").Select(x => x.SegmentDetail).ToList(); List <int> lstParSegDtls = lstSegDtls.Select(x => Convert.ToInt32(x.ParentDetailID)).Distinct().ToList(); while (lstParSegDtls.Count > 0) { List <SegmentDetail> lstParObj = new SegmentDetailsDAL().GetSegmentDetails().ToList().Where(x => lstParSegDtls.Contains(x.SegmentDetailID)).ToList(); foreach (SegmentDetail o in lstParObj) { if (lstSegDtls.Where(x => x.SegmentDetailID == o.SegmentDetailID).Count() == 0) { lstSegDtls.Add(o); } } lstParSegDtls = lstParObj.Select(x => Convert.ToInt32(x.ParentDetailID)).Distinct().ToList(); } Boolean TVcheckbox = false; foreach (TreeNode node in tvSegmentDetails.Nodes) { TVcheckbox = PopulateSDChild(node, lstSegDtls, 0); if (TVcheckbox == true) { node.Checked = true; } } /*User Segment Details Workflow - end*/ //Change workflow button colors accordingly - start if (role.SelectedValue != "3") { CustomizeButtonWorkflow(lstAccCode.Select(x => x.AccountCode1).ToList(), lstServiceCode, lstSegDtls.Select(x => x.SegmentDetailID).ToList()); } //Change workflow button colors accordingly - end ChangePageMode(Helper.PageMode.Edit); form_Wiz.Visible = true; } } } catch (Exception ex) { ((SiteMaster)this.Master).ShowMessage("Error", "An error occurred", ex, true); } }