예제 #1
0
        public void AddDept(Dept dept, BusiLog busiLog)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    DeptAccess.AddDept(trans, dept);
                    BusiLogAccess.AddBusiLog(trans, busiLog);
                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
예제 #2
0
파일: bDept.cs 프로젝트: hth0901/vhrm
        public static List <DeptViewModel> getActivedDepts()
        {
            List <DeptViewModel> dtDept   = new List <DeptViewModel>();
            DeptAccess           access   = new DeptAccess();
            DataTable            dtResult = access.GetActivedDepartments();

            foreach (DataRow dtr in dtResult.Rows)
            {
                DeptViewModel item = new DeptViewModel
                {
                    DEPTCODE    = dtr["DEPTCODE"].ToString(),
                    DEPTNAME    = dtr["DEPTNAME"].ToString(),
                    DEPTPARENT  = dtr["DEPTPARENT"].ToString(),
                    DEPTLEVEL   = dtr["DEPTLEVEL"].ToString(),
                    ORDERINDEX  = dtr["ORDERINDEX"].ToString(),
                    ISACTIVE    = dtr["ISACTIVE"].ToString(),
                    REMARK      = dtr["REMARK"].ToString(),
                    DEPTCODEOLD = dtr["DEPTCODEOLD"].ToString(),
                    COMPCODE    = dtr["COMPCODE"].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()
                };
                dtDept.Add(item);
            }
            return(dtDept);
        }
예제 #3
0
파일: bDept.cs 프로젝트: hth0901/vhrm
        public static string getNewDeptCode(string deptCode)
        {
            DeptAccess access = new DeptAccess();
            DataTable  result = access.GetNewDeptCode(deptCode);

            if (result.Columns.Contains("'ERROR'"))
            {
                if (result.Rows[0].ItemArray[1].ToString() == "Not exist T_HR_DEPT")
                {
                    return("-1");
                }
            }
            return(result.Rows[0]["NEWDEPTCODE"].ToString());
        }
예제 #4
0
        public Dept GetDept(Dept dept)
        {
            SqlConnection conn    = ConnectionPool.BorrowConnection();
            Dept          retDept = null;

            try
            {
                retDept = DeptAccess.GetDept(conn, dept);
            }
            finally
            {
                ConnectionPool.ReturnConnection(conn);
            }
            return(retDept);
        }
예제 #5
0
        public DataTable GetAllDept()
        {
            SqlConnection conn  = ConnectionPool.BorrowConnection();
            DataTable     dtRet = null;

            try
            {
                dtRet = DeptAccess.GetAllDept(conn);
            }
            finally
            {
                ConnectionPool.ReturnConnection(conn);
            }
            return(dtRet);
        }
예제 #6
0
 private void GetEditData(object p)
 {
     try
     {
         Dept lst = new DeptAccess().GetDept(Int32.Parse(p.ToString()));
         txtName.Text      = lst.Name;
         hdnID.Value       = lst.ID.ToString();
         btnsave.Visible   = false;
         btnupdate.Visible = true;
     }
     catch (Exception Ex)
     {
         lblMsg.Text = Ex.Message;
     }
 }
예제 #7
0
        public Dept(string deptId)
        {
            SysDeptInfo dept = DeptAccess.GetDept(deptId);

            if (dept != null)
            {
                DeptId   = dept.DeptId;
                DeptCode = dept.DeptCode;
                DeptName = dept.DeptName;
                ParentId = dept.ParentId;

                //Load Active
                List <SysDeptInfo> listSubDept = DeptAccess.GetSubDept(deptId);

                foreach (SysDeptInfo subDept in listSubDept)
                {
                    m_listSubDept.Add(new Dept(subDept.DeptId));
                }
            }
        }
예제 #8
0
        public int UpdateDept(Dept dept, BusiLog busiLog)
        {
            //SqlConnection conn = ConnectionPool.BorrowConnection();
            int iRet = 0;

            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    BusiLogAccess.AddBusiLog(trans, busiLog);
                    Dept olddept = new Dept();
                    olddept.cnvcDeptID = dept.cnvcDeptID;
                    olddept            = EntityMapping.Get(olddept, trans) as Dept;

                    olddept.cnbValidate      = dept.cnbValidate;
                    olddept.cnvcDeptName     = dept.cnvcDeptName;
                    olddept.cnvcParentDeptID = dept.cnvcParentDeptID;

                    iRet = DeptAccess.UpdateDept(trans, olddept);
                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
            return(iRet);
        }
예제 #9
0
 protected void btnupdate_Click(object sender, EventArgs e)
 {
     try{
         Dept dpt = new Dept();
         dpt.Name = txtName.Text;
         dpt.ID   = Int32.Parse(hdnID.Value);
         DeptAccess manager = new DeptAccess();
         if (manager.Update(dpt) > 0)
         {
             GridView1.DataSourceID = ObjectDataSource1.ID;
             btnupdate.Visible      = false;
             lblMsg.Text            = "Successfully Updated";
         }
         else
         {
             lblMsg.Text = "Update Failed";
         }
         GridView1.DataSourceID = ObjectDataSource1.ID;
         Clear();
     }
     catch (Exception Ex) {
         lblMsg.Text = Ex.Message;
     }
 }
예제 #10
0
파일: bDept.cs 프로젝트: hth0901/vhrm
        public static void UpdateGeoOrganization(DeptViewModel deptViewModel)
        {
            DeptAccess access = new DeptAccess();

            access.UpdateDepartments(deptViewModel);
        }
예제 #11
0
파일: bDept.cs 프로젝트: hth0901/vhrm
        public static void insertGeoOrganization(DeptViewModel deptViewModel)
        {
            DeptAccess access = new DeptAccess();

            access.InsertDepartments(deptViewModel);
        }
예제 #12
0
파일: bDept.cs 프로젝트: hth0901/vhrm
        //23-11-2019
        public static KeyValuePair <JObject, List <JObject> > getDataForOrgChart(string deptCode)
        {
            List <DeptViewModel> depts = new List <DeptViewModel>();
            //DUNG DE DUYET LUA CHON NODE HIEN THI.
            List <ElementViewModel> result = new List <ElementViewModel>();

            #region "TAO TAT CA CAC GROUPS"
            JObject    groupElements = new JObject();
            DeptAccess access        = new DeptAccess();
            DataTable  dtResult      = access.GetChildsByDeptCodeIsActive(deptCode);
            foreach (DataRow dtr in dtResult.Rows)
            {
                JObject group = new JObject();
                group["group"]      = true;
                group["groupName"]  = dtr["DEPTNAME"].ToString();
                group["groupState"] = "";
                group["template"]   = "group_grey";
                string        key  = "A" + dtr["DEPTCODE"].ToString();
                DeptViewModel item = new DeptViewModel
                {
                    DEPTCODE   = dtr["DEPTCODE"].ToString(),
                    DEPTNAME   = dtr["DEPTNAME"].ToString(),
                    DEPTPARENT = dtr["DEPTPARENT"].ToString(),
                    DEPTLEVEL  = dtr["DEPTLEVEL"].ToString(),
                    ORDERINDEX = dtr["ORDERINDEX"].ToString(),
                    ISACTIVE   = dtr["ISACTIVE"].ToString(),
                    REMARK     = dtr["REMARK"].ToString()
                };
                depts.Add(item);
                ElementViewModel g = new ElementViewModel
                {
                    display = true,
                    id      = dtr["DEPTCODE"].ToString(),
                    pid     = dtr["DEPTPARENT"].ToString()
                };
                result.Add(g);
                groupElements[key] = group;
            }

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

                dtResult = access.GetByDeptCodeIsActive(deptCode);
                foreach (DataRow dtr in dtResult.Rows)
                {
                    int oLevel;
                    int.TryParse(dtr["DEPTLEVEL"].ToString(), out oLevel);
                    JObject group = new JObject();
                    group["group"]      = true;
                    group["groupName"]  = dtr["DEPTNAME"].ToString();
                    group["groupState"] = "";
                    group["template"]   = "group_grey";
                    string        key  = "A" + dtr["DEPTCODE"].ToString();
                    DeptViewModel item = new DeptViewModel
                    {
                        DEPTCODE   = dtr["DEPTCODE"].ToString(),
                        DEPTNAME   = dtr["DEPTNAME"].ToString(),
                        DEPTPARENT = dtr["DEPTPARENT"].ToString(),
                        DEPTLEVEL  = dtr["DEPTLEVEL"].ToString(),
                        ORDERINDEX = dtr["ORDERINDEX"].ToString(),
                        ISACTIVE   = dtr["ISACTIVE"].ToString(),
                        REMARK     = dtr["REMARK"].ToString()
                    };
                    depts.Add(item);
                    ElementViewModel g = new ElementViewModel
                    {
                        display = true,
                        id      = dtr["DEPTCODE"].ToString(),
                        pid     = dtr["DEPTPARENT"].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 GEO SUPERVISOR"
            var empReporter = bEmployeeMasterReport.GeSupervisors();
            Dictionary <string, string> deptCodeDeptParents = new Dictionary <string, string>();
            //LAY CAC GEO SUPERVISOR
            foreach (var geo in empReporter)
            {
                var dept = result.Where(d => d.id == geo.DEPTCODEGEO).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 edept = result.Where(d => d.pid == dept.pid && d.display == false).FirstOrDefault();
                if (edept != null)
                {
                    var el = empReporter.Where(em => em.DEPTCODEGEO == dept.pid).FirstOrDefault();
                    if (el != null)
                    {
                        group["pid"] = el.SYS_EMPID;
                    }
                    else
                    {
                        group["pid"] = dept.pid;
                    }
                }
                group["tags"]     = "[" + "'A" + geo.DEPTCODEGEO + "']";
                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 SUPERVISOR.
            if (deptCode != "-1")
            {
                ElementViewModel e = result.Where(d => d.id == deptCode && d.display == true).FirstOrDefault();
                if (e != null)
                {
                    JObject rgroup = new JObject();
                    rgroup["id"]       = e.id;
                    rgroup["pid"]      = e.pid;
                    rgroup["tags"]     = "[" + "'empty','A" + deptCode + "']";
                    rgroup["EMPNAME"]  = "";
                    rgroup["EMPID"]    = "";
                    rgroup["EMAIL"]    = "";
                    rgroup["POSITION"] = "";
                    rgroup["IMAGE"]    = "";
                    nodeElements.Add(rgroup);
                }
            }

            foreach (var d in depts)
            {
                ElementViewModel node = result.Where(dp => dp.id == d.DEPTCODE && dp.display == true).FirstOrDefault();
                if (node != null)
                {
                    JObject group = new JObject();
                    group["id"]       = node.id;
                    group["pid"]      = node.pid;
                    group["tags"]     = "[" + "'empty','A" + d.DEPTCODE + "']";
                    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);
        }
예제 #13
0
파일: bDept.cs 프로젝트: hth0901/vhrm
        public static List <JObject> getSupervisorDataForChartV2(string deptCode)
        {
            List <JObject> elements     = new List <JObject>();
            DataTable      dtResult     = GeoReportAccess.GetSupervisorByDeptCode(deptCode);
            List <string>  sys_empidgeo = new List <string>();
            string         sys_parent   = string.Empty;

            if (dtResult.Rows.Count > 1)
            {
                DeptAccess deptAccess = new DeptAccess();
                DataTable  depResult  = deptAccess.GetByDeptCodeIsActive(deptCode);
                foreach (DataRow dtr in depResult.Rows)
                {
                    JObject rootSupervisor = new JObject();
                    rootSupervisor["id"]       = dtr["DEPTCODE"].ToString();
                    rootSupervisor["pid"]      = "null";
                    rootSupervisor["EMPID"]    = "";
                    rootSupervisor["EMPNAME"]  = "";
                    rootSupervisor["DEPTNAME"] = dtr["DEPTNAME"].ToString();
                    rootSupervisor["POSITION"] = "";
                    rootSupervisor["EMAIL"]    = "";
                    rootSupervisor["IMAGE"]    = "/FileServer/Photos/default.jpg";
                    elements.Add(rootSupervisor);
                    sys_parent = dtr["DEPTCODE"].ToString();
                    break;
                }
            }
            foreach (DataRow dtr in dtResult.Rows)
            {
                if (!sys_empidgeo.Contains(dtr["SYS_EMPIDGEO"].ToString()))
                {
                    sys_empidgeo.Add(dtr["SYS_EMPIDGEO"].ToString());
                }
            }
            if (sys_empidgeo != null && sys_empidgeo.Count() > 0)
            {
                foreach (var sys_geo in sys_empidgeo)
                {
                    DataTable geos = GeoReportAccess.GetSupervisorsBySysGeo(sys_geo);
                    foreach (DataRow dtr in geos.Rows)
                    {
                        JObject subSupervisor = new JObject();
                        subSupervisor["id"]       = dtr["SYS_EMPID"].ToString();
                        subSupervisor["pid"]      = dtr["SYS_EMPIDGEO"].ToString();
                        subSupervisor["EMPID"]    = dtr["EMPID"].ToString();
                        subSupervisor["EMPNAME"]  = dtr["EMPNAME"].ToString();
                        subSupervisor["DEPTNAME"] = dtr["DEPTNAME"].ToString();
                        subSupervisor["POSITION"] = dtr["POSITION"].ToString();
                        subSupervisor["EMAIL"]    = dtr["EMAIL"].ToString();
                        string imgsPath = dtr["IMAGE"].ToString();
                        if (string.IsNullOrEmpty(imgsPath))
                        {
                            imgsPath = "/FileServer/Photos/default.jpg";
                        }
                        else if (!IsFileExists(imgsPath))
                        {
                            imgsPath = "/FileServer/Photos/default.jpg";
                        }
                        subSupervisor["IMAGE"] = imgsPath;// dtr["IMAGE"].ToString();
                        elements.Add(subSupervisor);
                    }
                    //Get root.
                    EmployeeMaster root           = bEmployeeMaster.getEmployeeBySysEmpid(sys_geo);
                    JObject        rootSupervisor = new JObject();
                    rootSupervisor["id"]       = sys_geo;
                    rootSupervisor["pid"]      = sys_parent;
                    rootSupervisor["EMPID"]    = root.EMPID;
                    rootSupervisor["EMPNAME"]  = root.EMPNAME;
                    rootSupervisor["DEPTNAME"] = root.DEPTNAME;
                    rootSupervisor["POSITION"] = root.POSITION;
                    rootSupervisor["EMAIL"]    = root.EMAIL;
                    string imgPath = root.IMAGE;
                    if (string.IsNullOrEmpty(imgPath))
                    {
                        imgPath = "/FileServer/Photos/default.jpg";
                    }
                    else if (!IsFileExists(imgPath))
                    {
                        imgPath = "/FileServer/Photos/default.jpg";
                    }
                    rootSupervisor["IMAGE"] = imgPath;
                    elements.Add(rootSupervisor);
                }
            }
            if (elements.Count() == 0)
            {
                DeptAccess deptAccess = new DeptAccess();
                DataTable  depResult  = deptAccess.GetByDeptCodeIsActive(deptCode);
                foreach (DataRow dtr in depResult.Rows)
                {
                    JObject rootSupervisor = new JObject();
                    rootSupervisor["id"]       = dtr["DEPTCODE"].ToString();
                    rootSupervisor["pid"]      = "null";
                    rootSupervisor["EMPID"]    = "";
                    rootSupervisor["EMPNAME"]  = "Doesn't have SUPERVISOR";
                    rootSupervisor["DEPTNAME"] = dtr["DEPTNAME"].ToString();
                    rootSupervisor["POSITION"] = "";
                    rootSupervisor["EMAIL"]    = "";
                    rootSupervisor["IMAGE"]    = "/FileServer/Photos/default.jpg";
                    elements.Add(rootSupervisor);
                    sys_parent = dtr["DEPTCODE"].ToString();
                    break;
                }
            }
            return(elements);
        }
예제 #14
0
 public static List <SysUserInfo> GetEmployee(string deptId)
 {
     return(DeptAccess.GetEmployee(deptId));
 }
예제 #15
0
 public static List <SysDeptInfo> GetSubDept(string deptId)
 {
     return(DeptAccess.GetSubDept(deptId));
 }