Beispiel #1
0
        public List <Model.Organize> GetOrgItem(DataTable dtOrg)
        {
            List <Model.Organize> orgList = new List <Model.Organize>();

            try
            {
                foreach (DataRow dr in dtOrg.Rows)
                {
                    Model.Organize objOrg = new Model.Organize();
                    objOrg.Id           = new Guid(dr["ORG_ID"].ToString());
                    objOrg.ParentId     = (dr["ORG_ID_UPPER"] == null || dr["ORG_ID_UPPER"].ToString().Length == 0) ? new Guid(): new Guid(dr["ORG_ID_UPPER"].ToString());
                    objOrg.Name         = dr["ORG_NAME"].ToString();
                    objOrg.Leader       = dr["Leader"].ToString();
                    objOrg.ChargeLeader = dr["ChargeLeader"].ToString();
                    objOrg.Type         = 2;
                    objOrg.Note         = dr["REMARK"].ToString();
                    objOrg.Status       = int.Parse(dr["ISINVALID"].ToString());
                    orgList.Add(objOrg);
                }
                return(orgList);
            }
            catch
            {
            }
            return(orgList);
        }
 public string Save(Model.Organize organizeModel)
 {
     if (!ModelState.IsValid)
     {
         return(Tools.GetValidateErrorMessag(ModelState));
     }
     Business.Organize organize = new Business.Organize();
     if (!"1".Equals(Request.Querys("isadddept")) && Request.Querys("orgid").IsGuid(out Guid guid))
     {
         var    oldModel = organize.Get(guid);
         string oldJSON  = null == oldModel ? "" : oldModel.ToString();
         organize.Update(organizeModel);
         if (organizeModel.Status == 1)
         {
             //如果是冻结了机构,则要向企业微信冻结下面的所有人员
             if (Config.Enterprise_WeiXin_IsUse)
             {
                 var allUsers = new Business.Organize().GetAllUsers(organizeModel.Id, false);
                 Business.EnterpriseWeiXin.Organize wxOrganize = new Business.EnterpriseWeiXin.Organize();
                 foreach (var user in allUsers)
                 {
                     user.Status = 1;
                     wxOrganize.UpdateUser(user);
                 }
             }
         }
         Business.Log.Add("修改了组织机构-" + organizeModel.Name, type: Business.Log.Type.系统管理, oldContents: oldJSON, newContents: organizeModel.ToString());
     }
     else
     {
         organize.Add(organizeModel);
         Business.Log.Add("添加了组织机构-" + organizeModel.Name, organizeModel.ToString(), Business.Log.Type.系统管理);
     }
     return("保存成功!");
 }
Beispiel #3
0
        /// <summary>
        /// 更新部门
        /// </summary>
        /// <param name="organize"></param>
        /// <returns></returns>
        public string UpdateDept(Model.Organize organize)
        {
            if (!Config.Enterprise_WeiXin_IsSyncOrg)
            {
                return(string.Empty);
            }
            if (null == organize)
            {
                return("要更新的部门为空");
            }
            string  url     = DeptUrl + "update?access_token=" + Common.GetAccessToken(Secret);
            JObject jObject = new JObject
            {
                { "name", organize.Name },
                { "parentid", organize.ParentId.ToInt() },
                { "order", organize.Sort },
                { "id", organize.IntId }
            };
            string  json       = jObject.ToString(Newtonsoft.Json.Formatting.None);
            string  msg        = HttpHelper.HttpPost(url, json);
            JObject returnJson = JObject.Parse(msg);

            if (0 != returnJson.Value <int>("errcode"))
            {
                Log.Add("企业微信更新部门发生了错误", json, others: "返回:" + msg + " url:" + url);
                return(returnJson.Value <string>("errmsg"));
            }
            return(string.Empty);
        }
Beispiel #4
0
        /// <summary>
        /// 更新一个组织机构
        /// </summary>
        /// <param name="organize"></param>
        /// <returns></returns>
        public int Update(Model.Organize organize)
        {
            int i = organizeData.Update(organize);

            //更新菜单
            new MenuUser().UpdateAllUseUserAsync();
            return(i);
        }
Beispiel #5
0
        private void AddChilds(Model.Organize organize, List <Model.Organize> organizes, List <Model.Organize> all)
        {
            if (null == organize)
            {
                return;
            }
            var childs = all.FindAll(p => p.ParentId == organize.Id).OrderBy(p => p.Sort).ToList();

            foreach (var child in childs)
            {
                organizes.Add(child);
                AddChilds(child, organizes, all);
            }
        }
Beispiel #6
0
        private void AddParent(Model.Organize organize, List <Model.Organize> organizes, List <Model.Organize> all)
        {
            if (null == organize)
            {
                return;
            }
            var parent = all.Find(p => p.Id == organize.ParentId);

            if (null != parent)
            {
                organizes.Add(parent);
                AddParent(parent, organizes, all);
            }
        }
Beispiel #7
0
        /// <summary>
        /// 删除部门
        /// </summary>
        /// <param name="account"></param>
        /// <returns></returns>
        public string DeleteDept(Model.Organize organize)
        {
            if (!Config.Enterprise_WeiXin_IsSyncOrg)
            {
                return(string.Empty);
            }
            if (null == organize)
            {
                return("要删除的部门为空");
            }
            string  url        = DeptUrl + "delete?access_token=" + Common.GetAccessToken(Secret) + "&id=" + organize.IntId;
            string  msg        = HttpHelper.HttpGet(url);
            JObject returnJson = JObject.Parse(msg);

            if (0 != returnJson.Value <int>("errcode"))
            {
                Log.Add("企业微信删除部门发生了错误", url, others: "返回:" + msg);
                return(returnJson.Value <string>("errmsg"));
            }
            return(string.Empty);
        }
        public IActionResult Body()
        {
            string orgId     = Request.Querys("orgid");
            string parentId  = Request.Querys("orgparentid");
            string isAddDept = Request.Querys("isadddept");
            string type      = Request.Querys("type");
            string showType  = Request.Querys("showtype");
            string appId     = Request.Querys("appid");
            string tabId     = Request.Querys("tabid");

            Model.Organize    organizeModel = null;
            Business.Organize organize      = new Business.Organize();
            if (orgId.IsGuid(out Guid guid) && !"1".Equals(isAddDept))
            {
                organizeModel = organize.Get(guid);
            }
            if (null == organizeModel)
            {
                organizeModel = new Model.Organize
                {
                    Id       = Guid.NewGuid(),
                    ParentId = orgId.ToGuid(),
                    Sort     = organize.GetMaxSort(orgId.ToGuid())
                };
                organizeModel.IntId     = organizeModel.Id.ToInt();
                ViewData["parentsName"] = "";
            }
            else
            {
                organizeModel.IntId     = organizeModel.Id.ToInt();
                ViewData["parentsName"] = organize.GetParentsName(organizeModel.Id);
            }
            ViewData["orgId"]       = orgId;
            ViewData["isAddDept"]   = isAddDept;
            ViewData["queryString"] = Request.UrlQuery();
            ViewData["refreshId"]   = organizeModel.ParentId;
            ViewData["rootId"]      = organize.GetRootId();
            ViewData["returnUrl"]   = "Body?orgid=" + orgId + "&orgparentid=" + parentId + "&type=" + type + "&showtype=" + showType + "&appid" + appId + "&tabid=" + tabId;
            return(View(organizeModel));
        }
Beispiel #9
0
 /// <summary>
 /// 添加一个组织机构
 /// </summary>
 /// <param name="organize"></param>
 /// <returns></returns>
 public int Add(Model.Organize organize)
 {
     return(organizeData.Add(organize));
 }