Esempio n. 1
0
        public static List <FunctViewModel> getFunctions()
        {
            List <FunctViewModel> dtFunct  = new List <FunctViewModel>();
            FunctAccess           access   = new FunctAccess();
            DataTable             dtResult = access.GetFunctions();

            foreach (DataRow dtr in dtResult.Rows)
            {
                FunctViewModel item = new FunctViewModel
                {
                    FUNCCODE   = dtr["FUNCCODE"].ToString(),
                    FUNCNAME   = dtr["FUNCNAME"].ToString(),
                    FUNCPARENT = dtr["FUNCPARENT"].ToString(),
                    FUNCLEVEL  = dtr["FUNCLEVEL"].ToString(),
                    ORDERINDEX = dtr["ORDERINDEX"].ToString(),
                    ISACTIVE   = dtr["ISACTIVE"].ToString(),
                    REMARK     = dtr["REMARK"].ToString(),
                    CREATE_UID = dtr["CREATE_UID"].ToString(),
                    CREATE_DT  = dtr["CREATE_DT"].ToString(),
                    UPDATE_UID = dtr["UPDATE_UID"].ToString(),
                    UPDATE_DT  = dtr["UPDATE_DT"].ToString()
                };
                dtFunct.Add(item);
            }
            return(dtFunct);
        }
Esempio n. 2
0
        public static string getNewFunctCode(string functCode)
        {
            FunctAccess access = new FunctAccess();
            DataTable   result = access.GetNewFunctCode(functCode);

            if (result.Columns.Contains("'ERROR'"))
            {
                if (result.Rows[0].ItemArray[1].ToString() == "Not exist T_HR_DEPT")
                {
                    return("-1");
                }
            }
            return(result.Rows[0]["NEWFUNCCODE"].ToString());
        }
Esempio n. 3
0
        public static KeyValuePair <JObject, List <JObject> > getDataForFuncChart(string funccode)
        {
            List <FunctViewModel> functs = new List <FunctViewModel>();
            //DUNG DE DUYET LUA CHON NODE HIEN THI.
            List <ElementViewModel> result = new List <ElementViewModel>();

            #region "TAO TAT CA CAC GROUPS"
            JObject     groupElements = new JObject();
            FunctAccess access        = new FunctAccess();
            DataTable   dtResult      = access.GetChildsByFunccodeIsActive(funccode);
            foreach (DataRow dtr in dtResult.Rows)
            {
                JObject group = new JObject();
                group["group"]      = true;
                group["groupName"]  = dtr["FUNCNAME"].ToString();
                group["groupState"] = "";
                group["template"]   = "group_grey";
                string         key  = "A" + dtr["FUNCCODE"].ToString();
                FunctViewModel item = new FunctViewModel
                {
                    FUNCCODE   = dtr["FUNCCODE"].ToString(),
                    FUNCNAME   = dtr["FUNCNAME"].ToString(),
                    FUNCPARENT = dtr["FUNCPARENT"].ToString(),
                    FUNCLEVEL  = dtr["FUNCLEVEL"].ToString(),
                    ORDERINDEX = dtr["ORDERINDEX"].ToString(),
                    ISACTIVE   = dtr["ISACTIVE"].ToString()
                };
                functs.Add(item);
                ElementViewModel g = new ElementViewModel
                {
                    display = true,
                    id      = dtr["FUNCCODE"].ToString(),
                    pid     = dtr["FUNCPARENT"].ToString()
                };
                result.Add(g);
                groupElements[key] = group;
            }

            //LAY VE NODE TUONG UNG DEPTCODE TUYEN VAO.
            if (funccode != "-1")
            {
                #region "NODE ROOT NEU FUNCCODE !=-1 (LAY TAT CA)"

                dtResult = access.GetByFuncCodeIsActive(funccode);
                foreach (DataRow dtr in dtResult.Rows)
                {
                    int oLevel;
                    int.TryParse(dtr["FUNCLEVEL"].ToString(), out oLevel);
                    JObject group = new JObject();
                    group["group"]      = true;
                    group["groupName"]  = dtr["FUNCNAME"].ToString();
                    group["groupState"] = "";
                    group["template"]   = "group_grey";
                    string         key  = "A" + dtr["FUNCCODE"].ToString();
                    FunctViewModel item = new FunctViewModel
                    {
                        FUNCCODE   = dtr["FUNCCODE"].ToString(),
                        FUNCNAME   = dtr["FUNCNAME"].ToString(),
                        FUNCPARENT = dtr["FUNCPARENT"].ToString(),
                        FUNCLEVEL  = dtr["FUNCLEVEL"].ToString(),
                        ORDERINDEX = dtr["ORDERINDEX"].ToString(),
                        ISACTIVE   = dtr["ISACTIVE"].ToString()
                    };
                    functs.Add(item);
                    ElementViewModel g = new ElementViewModel
                    {
                        display = true,
                        id      = dtr["FUNCCODE"].ToString(),
                        pid     = dtr["FUNCPARENT"].ToString()
                    };
                    result.Add(g);
                    groupElements[key] = group;
                }
                #endregion
            }
            #region "TAO GROUP EMPTY"
            JObject egroup = new JObject();
            egroup["group"]        = false;
            egroup["groupName"]    = "";
            egroup["groupState"]   = "";
            egroup["template"]     = "empty";
            groupElements["empty"] = egroup;
            #endregion
            #endregion

            #region "TAO CAC NODES EMPTY"
            List <JObject> nodeElements = new List <JObject>();
            #region "TAO CAC FUNCTIONER"
            var empReporter = bEmployeeMasterReport.GeFunctioners();
            Dictionary <string, string> funcCodeDeptParents = new Dictionary <string, string>();
            //LAY CAC GEO SUPERVISOR
            foreach (var geo in empReporter)
            {
                var dept = result.Where(d => d.id == geo.DEPTCODEFUN).FirstOrDefault();
                if (dept == null)
                {
                    continue;
                }
                //DANH DAU KO HIEN THI
                dept.display = false;
                var list = result.Where(d => d.pid == dept.id);
                //TAO MOT NODE SUPERVISOR.
                JObject group = new JObject();

                //CAP NHAT LAI PID TRO VAO GEO SUPERVISOR
                foreach (var g in list)
                {
                    g.pid = geo.SYS_EMPID;
                }
                group["id"] = geo.SYS_EMPID;
                var efunc = result.Where(d => d.pid == dept.pid && d.display == false).FirstOrDefault();
                if (efunc != null)
                {
                    var el = empReporter.Where(em => em.DEPTCODEFUN == dept.pid).FirstOrDefault();
                    if (el != null)
                    {
                        group["pid"] = el.SYS_EMPID;
                    }
                    else
                    {
                        group["pid"] = dept.pid;
                    }
                }
                group["tags"]     = "[" + "'A" + geo.DEPTCODEFUN + "']";
                group["EMPNAME"]  = geo.EMPNAME;
                group["EMPID"]    = geo.EMPID;
                group["EMAIL"]    = geo.EMAIL;
                group["POSITION"] = geo.POSITION;
                group["IMAGE"]    = geo.IMAGE;
                nodeElements.Add(group);
            }
            #endregion

            //KIEM TRA ROOT CO GEO FUNCTIONER.
            if (funccode != "-1")
            {
                ElementViewModel e = result.Where(d => d.id == funccode && d.display == true).FirstOrDefault();
                if (e != null)
                {
                    JObject rgroup = new JObject();
                    rgroup["id"]       = e.id;
                    rgroup["pid"]      = e.pid;
                    rgroup["tags"]     = "[" + "'empty','A" + funccode + "']";
                    rgroup["EMPNAME"]  = "";
                    rgroup["EMPID"]    = "";
                    rgroup["EMAIL"]    = "";
                    rgroup["POSITION"] = "";
                    rgroup["IMAGE"]    = "";
                    nodeElements.Add(rgroup);
                }
            }

            foreach (var d in functs)
            {
                ElementViewModel node = result.Where(dp => dp.id == d.FUNCCODE && dp.display == true).FirstOrDefault();
                if (node != null)
                {
                    JObject group = new JObject();
                    group["id"]       = node.id;
                    group["pid"]      = node.pid;
                    group["tags"]     = "[" + "'empty','A" + d.FUNCCODE + "']";
                    group["EMPNAME"]  = "";
                    group["EMPID"]    = "";
                    group["EMAIL"]    = "";
                    group["POSITION"] = "";
                    group["IMAGE"]    = "";
                    nodeElements.Add(group);
                }
            }
            #endregion

            KeyValuePair <JObject, List <JObject> > data = new KeyValuePair <JObject, List <JObject> >(groupElements, nodeElements);
            return(data);
        }
Esempio n. 4
0
        public static void UpdateFunction(FunctViewModel functViewModel)
        {
            FunctAccess access = new FunctAccess();

            access.UpdateFunctions(functViewModel);
        }
Esempio n. 5
0
        public static void insertFunction(FunctViewModel functViewModel)
        {
            FunctAccess access = new FunctAccess();

            access.InsertFunctions(functViewModel);
        }