Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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
        }
Exemplo n.º 6
0
        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);
            }
        }
Exemplo n.º 7
0
        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);
            }
        }