示例#1
0
 public bool Move(Guid fromID, Guid toID)
 {
     RoadFlow.Data.Model.Organize organize1 = this.Get(fromID);
     RoadFlow.Data.Model.Organize organize2 = this.Get(toID);
     if (organize1 == null || organize2 == null || organize2.Number.StartsWith(organize1.Number, StringComparison.CurrentCultureIgnoreCase))
     {
         return(false);
     }
     using (TransactionScope transactionScope = new TransactionScope())
     {
         Guid parentId = organize1.ParentID;
         organize1.ParentID = toID;
         organize1.Depth    = organize2.Depth + 1;
         organize1.Number   = organize2.Number + "," + organize1.ID.ToString();
         this.Update(organize1);
         if (RoadFlow.Platform.WeiXin.Config.IsUse)
         {
             new RoadFlow.Platform.WeiXin.Organize().EditDept(organize1);
         }
         foreach (RoadFlow.Data.Model.Organize model in (IEnumerable <RoadFlow.Data.Model.Organize>) this.GetAllChilds(fromID).OrderBy <RoadFlow.Data.Model.Organize, int>((Func <RoadFlow.Data.Model.Organize, int>)(p => p.Depth)))
         {
             model.Number = this.Get(model.ParentID).Number + "," + model.ID.ToString();
             model.Depth  = model.Number.Split(',').Length - 1;
             this.Update(model);
         }
         this.UpdateChildsLength(toID);
         this.UpdateChildsLength(parentId);
         transactionScope.Complete();
         return(true);
     }
 }
示例#2
0
        public bool EditUser(RoadFlow.Data.Model.Users user)
        {
            if (user.Mobile.IsNullOrEmpty() && user.Email.IsNullOrEmpty() && user.WeiXin.IsNullOrEmpty())
            {
                return(false);
            }
            if (this.GetUser(user.Account).IsNullOrEmpty())
            {
                return(this.AddUser(user));
            }
            string url = "https://qyapi.weixin.qq.com/cgi-bin/user/update?access_token=" + this.GetAccessToken();
            List <RoadFlow.Data.Model.UsersRelation> allByUserId = new RoadFlow.Platform.UsersRelation().GetAllByUserID(user.ID);

            RoadFlow.Platform.Organize organize1 = new RoadFlow.Platform.Organize();
            StringBuilder stringBuilder          = new StringBuilder();

            foreach (RoadFlow.Data.Model.UsersRelation usersRelation in allByUserId)
            {
                RoadFlow.Data.Model.Organize organize2 = organize1.Get(usersRelation.OrganizeID);
                if (organize2 != null)
                {
                    stringBuilder.Append(organize2.IntID);
                    stringBuilder.Append(",");
                }
            }
            string   str      = "{\"userid\":\"" + user.Account + "\",\"name\":\"" + this.replaceName(user.Name) + "\",\"department\":[" + stringBuilder.ToString().TrimEnd(',') + "],\"position\":\"\",\"mobile\":\"" + user.Mobile + "\"," + (user.Sex.HasValue ? "\"gender\":\"" + (user.Sex.Value + 1).ToString() + "\"," : "") + "\"email\":\"" + user.Email + "\",\"weixinid\":\"" + user.WeiXin + "\",\"enable\":" + (user.Status == 0 ? 1 : 0).ToString() + "}";
            string   json     = HttpHelper.SendPost(url, str);
            JsonData jsonData = JsonMapper.ToObject(json);
            bool     flag     = jsonData.ContainsKey("errcode") && jsonData["errcode"].ToString().ToInt() == 0;

            RoadFlow.Platform.Log.Add("调用了微信修改人员-" + user.Name + "-" + (flag ? "成功" : "失败"), "返回:" + json, RoadFlow.Platform.Log.Types.微信企业号, user.Serialize(), str, (RoadFlow.Data.Model.Users)null);
            return(flag);
        }
示例#3
0
        private List <RoadFlow.Data.Model.Organize> DataReaderToList(SqlDataReader dataReader)
        {
            List <RoadFlow.Data.Model.Organize> organizeList = new List <RoadFlow.Data.Model.Organize>();

            while (dataReader.Read())
            {
                RoadFlow.Data.Model.Organize organize = new RoadFlow.Data.Model.Organize();
                organize.ID           = dataReader.GetGuid(0);
                organize.Name         = dataReader.GetString(1);
                organize.Number       = dataReader.GetString(2);
                organize.Type         = dataReader.GetInt32(3);
                organize.Status       = dataReader.GetInt32(4);
                organize.ParentID     = dataReader.GetGuid(5);
                organize.Sort         = dataReader.GetInt32(6);
                organize.Depth        = dataReader.GetInt32(7);
                organize.ChildsLength = dataReader.GetInt32(8);
                if (!dataReader.IsDBNull(9))
                {
                    organize.ChargeLeader = dataReader.GetString(9);
                }
                if (!dataReader.IsDBNull(10))
                {
                    organize.Leader = dataReader.GetString(10);
                }
                if (!dataReader.IsDBNull(11))
                {
                    organize.Note = dataReader.GetString(11);
                }
                organize.IntID = dataReader.GetInt32(12);
                organizeList.Add(organize);
            }
            return(organizeList);
        }
示例#4
0
        public bool AddDept(RoadFlow.Data.Model.Organize organize)
        {
            if (organize.IntID == 0)
            {
                organize = new RoadFlow.Platform.Organize().Get(organize.ID);
            }
            int num = 1;

            if (!organize.ParentID.IsEmptyGuid())
            {
                RoadFlow.Data.Model.Organize organize1 = new RoadFlow.Platform.Organize().Get(organize.ParentID);
                if (organize1 != null)
                {
                    num = organize1.IntID;
                }
            }
            string   url      = "https://qyapi.weixin.qq.com/cgi-bin/department/create?access_token=" + this.GetAccessToken();
            string   str      = "{\"name\":\"" + this.replaceName(organize.Name) + "\",\"parentid\":" + num.ToString() + ",\"order\":" + organize.Sort.ToString() + ",\"id\":" + organize.IntID.ToString() + "}";
            string   json     = HttpHelper.SendPost(url, str);
            JsonData jsonData = JsonMapper.ToObject(json);
            bool     flag     = jsonData.ContainsKey("errcode") && jsonData["errcode"].ToString().ToInt() == 0;

            RoadFlow.Platform.Log.Add("调用了微信添加部门-" + organize.Name + "-" + (flag ? "成功" : "失败"), "返回:" + json, RoadFlow.Platform.Log.Types.微信企业号, organize.Serialize(), str, (RoadFlow.Data.Model.Users)null);
            return(flag);
        }
示例#5
0
        /// <summary>
        /// 将DataRedar转换为List
        /// </summary>
        private List <RoadFlow.Data.Model.Organize> DataReaderToList(SqlDataReader dataReader)
        {
            List <RoadFlow.Data.Model.Organize> List = new List <RoadFlow.Data.Model.Organize>();

            RoadFlow.Data.Model.Organize model = null;
            while (dataReader.Read())
            {
                model              = new RoadFlow.Data.Model.Organize();
                model.ID           = dataReader.GetGuid(0);
                model.Name         = dataReader.GetString(1);
                model.Number       = dataReader.GetString(2);
                model.Type         = dataReader.GetInt32(3);
                model.Status       = dataReader.GetInt32(4);
                model.ParentID     = dataReader.GetGuid(5);
                model.Sort         = dataReader.GetInt32(6);
                model.Depth        = dataReader.GetInt32(7);
                model.ChildsLength = dataReader.GetInt32(8);
                if (!dataReader.IsDBNull(9))
                {
                    model.ChargeLeader = dataReader.GetString(9);
                }
                if (!dataReader.IsDBNull(10))
                {
                    model.Leader = dataReader.GetString(10);
                }
                if (!dataReader.IsDBNull(11))
                {
                    model.Note = dataReader.GetString(11);
                }
                List.Add(model);
            }
            return(List);
        }
示例#6
0
        public ActionResult Index()
        {
            string pager = string.Empty;
            //DataTable dt = sms.GetDataPage(out pager, "", pageSize, 1);
            string    query = string.Format("&appid={0}&tabid={1}&flag={2}", Request.QueryString["appid"], Request.QueryString["tabid"], Request.QueryString["flag"]);
            DataTable dt    = sms.GetDataPage(out pager, query, pageSize, RoadFlow.Utility.Tools.GetPageNumber());

            ViewBag.Pager = pager;
            List <RoadFlow.Data.Model.SMSModel> list = dt.ToList <RoadFlow.Data.Model.SMSModel>();
            List <RoadFlow.Data.Model.SMSModel> view = new List <RoadFlow.Data.Model.SMSModel>();

            foreach (var item in list)
            {
                RoadFlow.Platform.UsersBLL user     = new RoadFlow.Platform.UsersBLL();
                RoadFlow.Platform.Organize organize = new RoadFlow.Platform.Organize();

                //把sendTo里的id取出来,然后清空sendTo
                string[] sendTo = item.SendTo.Split(',');
                item.SendTo = string.Empty;

                foreach (var id in sendTo)
                {
                    if (id.Contains("u_"))  //个人
                    {
                        string newId = id.Remove(0, 2);
                        if (newId.IsGuid())
                        {
                            RoadFlow.Data.Model.UsersModel u = user.Get(Guid.Parse(newId));
                            if (u != null)
                            {
                                item.SendTo += "," + u.Name;
                            }
                            else
                            {
                                item.SendTo = ",用户已删除";
                            }
                        }
                    }
                    else    //选中的是组织
                    {
                        if (id.IsGuid())
                        {
                            RoadFlow.Data.Model.Organize o = organize.Get(Guid.Parse(id));
                            if (o != null)
                            {
                                item.SendTo += "," + o.Name;
                            }
                            else
                            {
                                item.SendTo = ",组织机构已删除";
                            }
                        }
                    }
                }
                item.SendTo = item.SendTo.Remove(0, 1);//去掉第一个多余的",".
                view.Add(item);
            }
            return(View(view));
        }
示例#7
0
        public int DeleteAndAllChilds(Guid orgID)
        {
            int num = 0;

            using (TransactionScope transactionScope = new TransactionScope())
            {
                UsersRelation usersRelation1 = new UsersRelation();
                Users         users1         = new Users();
                List <RoadFlow.Data.Model.Organize> allChilds = this.GetAllChilds(orgID);
                List <string> stringList = new List <string>();
                List <RoadFlow.Data.Model.Organize> organizeList = new List <RoadFlow.Data.Model.Organize>();
                foreach (RoadFlow.Data.Model.Organize organize in allChilds)
                {
                    foreach (RoadFlow.Data.Model.UsersRelation usersRelation2 in usersRelation1.GetAllByOrganizeID(organize.ID).FindAll((Predicate <RoadFlow.Data.Model.UsersRelation>)(p => p.IsMain == 1)))
                    {
                        RoadFlow.Data.Model.Users users2 = users1.Get(usersRelation2.UserID);
                        usersRelation1.Delete(usersRelation2.UserID, usersRelation2.OrganizeID);
                        num += users1.Delete(usersRelation2.UserID);
                        if (users2 != null)
                        {
                            stringList.Add(users2.Account);
                        }
                    }
                    num += this.Delete(organize.ID);
                    organizeList.Add(organize);
                }
                foreach (RoadFlow.Data.Model.UsersRelation usersRelation2 in usersRelation1.GetAllByOrganizeID(orgID).FindAll((Predicate <RoadFlow.Data.Model.UsersRelation>)(p => p.IsMain == 1)))
                {
                    usersRelation1.Delete(usersRelation2.UserID, usersRelation2.OrganizeID);
                    num += users1.Delete(usersRelation2.UserID);
                    RoadFlow.Data.Model.Users users2 = users1.Get(usersRelation2.UserID);
                    if (users2 != null)
                    {
                        stringList.Add(users2.Account);
                    }
                }
                num += this.Delete(orgID);
                RoadFlow.Data.Model.Organize organize1 = this.Get(orgID);
                if (organize1 != null)
                {
                    organizeList.Add(organize1);
                }
                if (RoadFlow.Platform.WeiXin.Config.IsUse)
                {
                    RoadFlow.Platform.WeiXin.Organize organize2 = new RoadFlow.Platform.WeiXin.Organize();
                    if (stringList.Count > 0)
                    {
                        organize2.DeleteUserAsync(stringList.ToArray());
                    }
                    foreach (RoadFlow.Data.Model.Organize organize3 in organizeList)
                    {
                        organize2.DeleteDeptAsync(organize3.IntID);
                    }
                }
                transactionScope.Complete();
            }
            return(num);
        }
示例#8
0
        public void UpdateAllUsers()
        {
            RoadFlow.Platform.Organize       organize1      = new RoadFlow.Platform.Organize();
            RoadFlow.Platform.UsersRelation  usersRelation1 = new RoadFlow.Platform.UsersRelation();
            List <RoadFlow.Data.Model.Users> all            = new RoadFlow.Platform.Users().GetAll();
            DataTable dt = new DataTable();

            dt.Columns.Add("姓名", "".GetType());
            dt.Columns.Add("帐号", "".GetType());
            dt.Columns.Add("微信号", "".GetType());
            dt.Columns.Add("手机号", "".GetType());
            dt.Columns.Add("邮箱", "".GetType());
            dt.Columns.Add("所在部门", "".GetType());
            dt.Columns.Add("职位", "".GetType());
            foreach (RoadFlow.Data.Model.Users users in all)
            {
                StringBuilder stringBuilder = new StringBuilder();
                foreach (RoadFlow.Data.Model.UsersRelation usersRelation2 in usersRelation1.GetAllByUserID(users.ID))
                {
                    RoadFlow.Data.Model.Organize organize2 = organize1.Get(usersRelation2.OrganizeID);
                    if (organize2 != null)
                    {
                        stringBuilder.Append(organize2.IntID);
                        stringBuilder.Append(",");
                    }
                }
                DataRow row = dt.NewRow();
                row["姓名"]   = (object)this.replaceName(users.Name);
                row["帐号"]   = (object)users.Account;
                row["微信号"]  = (object)users.WeiXin;
                row["手机号"]  = (object)users.Mobile;
                row["邮箱"]   = (object)users.Email;
                row["所在部门"] = (object)stringBuilder.ToString().TrimEnd(',');
                row["职位"]   = (object)"";
                dt.Rows.Add(row);
            }
            string path = RoadFlow.Platform.Files.FilePath + "WeiXinCsv\\";

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            string str1 = path + Guid.NewGuid().ToString("N") + ".csv";

            NPOIHelper.ExportCSV(dt, str1);
            string str2 = new Media(Config.GetSecret("weixinagents_organize")).UploadTemp(str1, "file");

            if (str2.IsNullOrEmpty())
            {
                return;
            }
            string url    = "https://qyapi.weixin.qq.com/cgi-bin/batch/replaceuser?access_token=" + this.GetAccessToken();
            string oldXML = "{\"media_id\":\"" + str2 + "\"}";
            string data   = oldXML;

            RoadFlow.Platform.Log.Add("调用了微信同步所有人员", "返回:" + HttpHelper.SendPost(url, data), RoadFlow.Platform.Log.Types.微信企业号, oldXML, "", (RoadFlow.Data.Model.Users)null);
        }
示例#9
0
 public string GetName(Guid id)
 {
     RoadFlow.Data.Model.Organize organize = this.Get(id);
     if (organize != null)
     {
         return(organize.Name);
     }
     return("");
 }
示例#10
0
 public List <RoadFlow.Data.Model.Organize> GetAllChilds(Guid id)
 {
     RoadFlow.Data.Model.Organize organize = this.Get(id);
     if (organize == null)
     {
         return(new List <RoadFlow.Data.Model.Organize>());
     }
     return(this.dataOrganize.GetAllChild(organize.Number));
 }
示例#11
0
        public void UpdateAllOrganize()
        {
            RoadFlow.Platform.Organize          organize1 = new RoadFlow.Platform.Organize();
            List <RoadFlow.Data.Model.Organize> all       = organize1.GetAll();
            DataTable dt = new DataTable();

            dt.Columns.Add("部门名称", "".GetType());
            dt.Columns.Add("部门ID", 1.GetType());
            dt.Columns.Add("父部门ID", 1.GetType());
            dt.Columns.Add("排序", 1.GetType());
            foreach (RoadFlow.Data.Model.Organize organize2 in all)
            {
                int num = -1;
                if (organize2.ParentID.IsEmptyGuid())
                {
                    num = 1;
                }
                else
                {
                    RoadFlow.Data.Model.Organize organize3 = organize1.Get(organize2.ParentID);
                    if (organize3 != null)
                    {
                        num = organize3.IntID;
                    }
                }
                if (num != -1)
                {
                    DataRow row = dt.NewRow();
                    row["部门名称"]  = (object)this.replaceName(organize2.Name);
                    row["部门ID"]  = (object)organize2.IntID;
                    row["父部门ID"] = (object)num;
                    row["排序"]    = (object)organize2.Sort;
                    dt.Rows.Add(row);
                }
            }
            string path = RoadFlow.Platform.Files.FilePath + "WeiXinCsv\\";

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            string str1 = path + Guid.NewGuid().ToString("N") + ".csv";

            NPOIHelper.ExportCSV(dt, str1);
            string str2 = new Media(Config.GetSecret("weixinagents_organize")).UploadTemp(str1, "file");

            if (str2.IsNullOrEmpty())
            {
                return;
            }
            string url    = "https://qyapi.weixin.qq.com/cgi-bin/batch/replaceparty?access_token=" + this.GetAccessToken();
            string oldXML = "{\"media_id\":\"" + str2 + "\"}";
            string data   = oldXML;

            RoadFlow.Platform.Log.Add("调用了微信同步整个组织架构", "返回:" + HttpHelper.SendPost(url, data), RoadFlow.Platform.Log.Types.微信企业号, oldXML, "", (RoadFlow.Data.Model.Users)null);
        }
示例#12
0
        public ActionResult BodyAdd(FormCollection collection)
        {
            RoadFlow.Platform.Organize   borganize = new RoadFlow.Platform.Organize();
            RoadFlow.Data.Model.Organize org       = null;
            string id     = Request.QueryString["id"];
            string name   = string.Empty;
            string type   = string.Empty;
            string tell   = string.Empty;
            string status = string.Empty;
            string note   = string.Empty;

            Guid orgID;

            if (id.IsGuid(out orgID))
            {
                org = borganize.Get(orgID);
            }

            if (collection != null && org != null)
            {
                name   = Request.Form["Name"];
                type   = Request.Form["Type"];
                status = Request.Form["Status"];
                tell   = Request.Form["Tell"];
                note   = Request.Form["note"];

                RoadFlow.Data.Model.Organize org1 = new RoadFlow.Data.Model.Organize();
                Guid org1ID = Guid.NewGuid();
                org1.ID       = org1ID;
                org1.Name     = name.Trim();
                org1.Note     = note.IsNullOrEmpty() ? null : note.Trim();
                org1.Number   = org.Number + "," + org1ID.ToString().ToLower();
                org1.ParentID = org.ID;
                org1.Sort     = borganize.GetMaxSort(org.ID);

                org1.Status = status.IsInt() ? status.Convert <int>() : 0;
                org1.Type   = type.Convert <int>();
                org1.Depth  = org.Depth + 1;

                using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                {
                    borganize.Add(org1);
                    //更新父级[ChildsLength]字段
                    borganize.UpdateChildsLength(org.ID);
                    scope.Complete();
                }

                RoadFlow.Platform.Log.Add("添加了组织机构", org1.Serialize(), RoadFlow.Platform.Log.Types.组织机构);
                ViewBag.Script = "alert('添加成功!');parent.frames[0].reLoad('" + id + "');window.location=window.location;";
            }
            ViewBag.TypeRadios   = borganize.GetTypeRadio("Type", type, "validate=\"radio\"");
            ViewBag.StatusRadios = borganize.GetStatusRadio("Status", "0", "validate=\"radio\"");
            return(View());
        }
示例#13
0
        public bool AddUser(RoadFlow.Data.Model.Users user)
        {
            if (user.Mobile.IsNullOrEmpty() && user.Email.IsNullOrEmpty() && user.WeiXin.IsNullOrEmpty())
            {
                return(false);
            }
            string url = "https://qyapi.weixin.qq.com/cgi-bin/user/create?access_token=" + this.GetAccessToken();
            List <RoadFlow.Data.Model.UsersRelation> allByUserId = new RoadFlow.Platform.UsersRelation().GetAllByUserID(user.ID);

            RoadFlow.Platform.Organize organize1 = new RoadFlow.Platform.Organize();
            StringBuilder stringBuilder          = new StringBuilder();

            foreach (RoadFlow.Data.Model.UsersRelation usersRelation in allByUserId)
            {
                RoadFlow.Data.Model.Organize organize2 = organize1.Get(usersRelation.OrganizeID);
                if (organize2 != null)
                {
                    stringBuilder.Append(organize2.IntID);
                    stringBuilder.Append(",");
                }
            }
            string[] strArray = new string[13] {
                "{\"userid\":\"", user.Account, "\",\"name\":\"", this.replaceName(user.Name), "\",\"department\":[", stringBuilder.ToString().TrimEnd(','), "],\"position\":\"\",\"mobile\":\"", user.Mobile, "\",", null, null, null, null
            };
            int    index = 9;
            int?   sex   = user.Sex;
            string str1;

            if (!sex.HasValue)
            {
                str1 = "";
            }
            else
            {
                string str2 = "\"gender\":\"";
                sex = user.Sex;
                string str3 = (sex.Value + 1).ToString();
                string str4 = "\",";
                str1 = str2 + str3 + str4;
            }
            strArray[index] = str1;
            strArray[10]    = "\"weixinid\":\"";
            strArray[11]    = user.WeiXin;
            strArray[12]    = "\"}";
            string   str5     = string.Concat(strArray);
            string   json     = HttpHelper.SendPost(url, str5);
            JsonData jsonData = JsonMapper.ToObject(json);
            bool     flag     = jsonData.ContainsKey("errcode") && jsonData["errcode"].ToString().ToInt() == 0;

            RoadFlow.Platform.Log.Add("调用了微信添加人员-" + user.Name + "-" + (flag ? "成功" : "失败"), "返回:" + json, RoadFlow.Platform.Log.Types.微信企业号, user.Serialize(), str5, (RoadFlow.Data.Model.Users)null);
            return(flag);
        }
示例#14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            RoadFlow.Platform.Organize   borganize = new RoadFlow.Platform.Organize();
            RoadFlow.Data.Model.Organize org       = null;
            string id     = Request.QueryString["id"];
            string name   = string.Empty;
            string type   = string.Empty;
            string status = string.Empty;
            string note   = string.Empty;

            Guid orgID;

            if (id.IsGuid(out orgID))
            {
                org = borganize.Get(orgID);
            }

            if (IsPostBack && org != null)
            {
                name   = Request.Form["Name"];
                type   = Request.Form["Type"];
                status = Request.Form["Status"];
                note   = Request.Form["note"];

                RoadFlow.Data.Model.Organize org1 = new RoadFlow.Data.Model.Organize();
                Guid org1ID = Guid.NewGuid();
                org1.ID       = org1ID;
                org1.Name     = name.Trim();
                org1.Note     = note.IsNullOrEmpty() ? null : note.Trim();
                org1.Number   = org.Number + "," + org1ID.ToString().ToLower();
                org1.ParentID = org.ID;
                org1.Sort     = borganize.GetMaxSort(org.ID);
                org1.Status   = status.IsInt() ? status.ToInt() : 0;
                org1.Type     = type.ToInt();
                org1.Depth    = org.Depth + 1;

                using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                {
                    borganize.Add(org1);
                    //更新父级[ChildsLength]字段
                    borganize.UpdateChildsLength(org.ID);
                    scope.Complete();
                }

                RoadFlow.Platform.Log.Add("添加了组织机构", org1.Serialize(), RoadFlow.Platform.Log.Types.组织机构);
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('添加成功!');parent.frames[0].reLoad('" + id + "');window.location=window.location;", true);
            }

            this.TypeRadios.Text   = borganize.GetTypeRadio("Type", type, "validate=\"radio\"");
            this.StatusRadios.Text = borganize.GetStatusRadio("Status", "0", "validate=\"radio\"");
        }
示例#15
0
        public string GetParentDeptLeader(Guid userID)
        {
            Guid     mainStation = this.GetMainStation(userID);
            Organize organize1   = new Organize();

            RoadFlow.Data.Model.Organize organize2 = organize1.Get(mainStation);
            if (organize2 == null)
            {
                return("");
            }
            foreach (RoadFlow.Data.Model.Organize organize3 in organize1.GetAllParent(organize2.Number))
            {
                if (!organize3.Leader.IsNullOrEmpty())
                {
                    return(organize3.Leader);
                }
            }
            return("");
        }
示例#16
0
        public int Update(RoadFlow.Data.Model.Organize model)
        {
            string sql = "UPDATE organize SET \r\n\t\t\t\tName=@Name,Number=@Number,Type=@Type,Status=@Status,ParentID=@ParentID,Sort=@Sort,Depth=@Depth,ChildsLength=@ChildsLength,ChargeLeader=@ChargeLeader,Leader=@Leader,Note=@Note,IntID=@IntID \r\n\t\t\t\tWHERE ID=@ID";

            MySqlParameter[] mySqlParameterArray = new MySqlParameter[13];
            int            index1          = 0;
            MySqlParameter mySqlParameter1 = new MySqlParameter("@Name", MySqlDbType.Text, -1);

            mySqlParameter1.Value       = (object)model.Name;
            mySqlParameterArray[index1] = mySqlParameter1;
            int            index2          = 1;
            MySqlParameter mySqlParameter2 = new MySqlParameter("@Number", MySqlDbType.Text, -1);

            mySqlParameter2.Value       = (object)model.Number;
            mySqlParameterArray[index2] = mySqlParameter2;
            int            index3          = 2;
            MySqlParameter mySqlParameter3 = new MySqlParameter("@Type", MySqlDbType.Int32, 11);

            mySqlParameter3.Value       = (object)model.Type;
            mySqlParameterArray[index3] = mySqlParameter3;
            int            index4          = 3;
            MySqlParameter mySqlParameter4 = new MySqlParameter("@Status", MySqlDbType.Int32, 11);

            mySqlParameter4.Value       = (object)model.Status;
            mySqlParameterArray[index4] = mySqlParameter4;
            int            index5          = 4;
            MySqlParameter mySqlParameter5 = new MySqlParameter("@ParentID", MySqlDbType.VarChar, 36);

            mySqlParameter5.Value       = (object)model.ParentID;
            mySqlParameterArray[index5] = mySqlParameter5;
            int            index6          = 5;
            MySqlParameter mySqlParameter6 = new MySqlParameter("@Sort", MySqlDbType.Int32, 11);

            mySqlParameter6.Value       = (object)model.Sort;
            mySqlParameterArray[index6] = mySqlParameter6;
            int            index7          = 6;
            MySqlParameter mySqlParameter7 = new MySqlParameter("@Depth", MySqlDbType.Int32, 11);

            mySqlParameter7.Value       = (object)model.Depth;
            mySqlParameterArray[index7] = mySqlParameter7;
            int            index8          = 7;
            MySqlParameter mySqlParameter8 = new MySqlParameter("@ChildsLength", MySqlDbType.Int32, 11);

            mySqlParameter8.Value       = (object)model.ChildsLength;
            mySqlParameterArray[index8] = mySqlParameter8;
            int            index9 = 8;
            MySqlParameter mySqlParameter9;

            if (model.ChargeLeader != null)
            {
                MySqlParameter mySqlParameter10 = new MySqlParameter("@ChargeLeader", MySqlDbType.VarChar, 200);
                mySqlParameter10.Value = (object)model.ChargeLeader;
                mySqlParameter9        = mySqlParameter10;
            }
            else
            {
                mySqlParameter9       = new MySqlParameter("@ChargeLeader", MySqlDbType.VarChar, 200);
                mySqlParameter9.Value = (object)DBNull.Value;
            }
            mySqlParameterArray[index9] = mySqlParameter9;
            int            index10 = 9;
            MySqlParameter mySqlParameter11;

            if (model.Leader != null)
            {
                MySqlParameter mySqlParameter10 = new MySqlParameter("@Leader", MySqlDbType.VarChar, 200);
                mySqlParameter10.Value = (object)model.Leader;
                mySqlParameter11       = mySqlParameter10;
            }
            else
            {
                mySqlParameter11       = new MySqlParameter("@Leader", MySqlDbType.VarChar, 200);
                mySqlParameter11.Value = (object)DBNull.Value;
            }
            mySqlParameterArray[index10] = mySqlParameter11;
            int            index11 = 10;
            MySqlParameter mySqlParameter12;

            if (model.Note != null)
            {
                MySqlParameter mySqlParameter10 = new MySqlParameter("@Note", MySqlDbType.LongText, -1);
                mySqlParameter10.Value = (object)model.Note;
                mySqlParameter12       = mySqlParameter10;
            }
            else
            {
                mySqlParameter12       = new MySqlParameter("@Note", MySqlDbType.LongText, -1);
                mySqlParameter12.Value = (object)DBNull.Value;
            }
            mySqlParameterArray[index11] = mySqlParameter12;
            int            index12          = 11;
            MySqlParameter mySqlParameter13 = new MySqlParameter("@IntID", MySqlDbType.Int32, 11);

            mySqlParameter13.Value       = (object)model.IntID;
            mySqlParameterArray[index12] = mySqlParameter13;
            int            index13          = 12;
            MySqlParameter mySqlParameter14 = new MySqlParameter("@ID", MySqlDbType.VarChar, 36);

            mySqlParameter14.Value       = (object)model.ID;
            mySqlParameterArray[index13] = mySqlParameter14;
            MySqlParameter[] parameter = mySqlParameterArray;
            return(this.dbHelper.Execute(sql, parameter, false));
        }
示例#17
0
        /// <summary>
        /// 更新记录
        /// </summary>
        /// <param name="model">RoadFlow.Data.Model.Organize实体类</param>
        public int Update(RoadFlow.Data.Model.Organize model)
        {
            string sql = @"UPDATE Organize SET 
				Name=@Name,Number=@Number,Type=@Type,Status=@Status,ParentID=@ParentID,Sort=@Sort,Depth=@Depth,ChildsLength=@ChildsLength,ChargeLeader=@ChargeLeader,Leader=@Leader,Note=@Note
				WHERE ID=@ID"                ;

            SqlParameter[] parameters = new SqlParameter[] {
                new SqlParameter("@Name", SqlDbType.VarChar, 2000)
                {
                    Value = model.Name
                },
                new SqlParameter("@Number", SqlDbType.VarChar, 900)
                {
                    Value = model.Number
                },
                new SqlParameter("@Type", SqlDbType.Int, -1)
                {
                    Value = model.Type
                },
                new SqlParameter("@Status", SqlDbType.Int, -1)
                {
                    Value = model.Status
                },
                new SqlParameter("@ParentID", SqlDbType.UniqueIdentifier, -1)
                {
                    Value = model.ParentID
                },
                new SqlParameter("@Sort", SqlDbType.Int, -1)
                {
                    Value = model.Sort
                },
                new SqlParameter("@Depth", SqlDbType.Int, -1)
                {
                    Value = model.Depth
                },
                new SqlParameter("@ChildsLength", SqlDbType.Int, -1)
                {
                    Value = model.ChildsLength
                },
                model.ChargeLeader == null ? new SqlParameter("@ChargeLeader", SqlDbType.VarChar, 200)
                {
                    Value = DBNull.Value
                } : new SqlParameter("@ChargeLeader", SqlDbType.VarChar, 200)
                {
                    Value = model.ChargeLeader
                },
                model.Leader == null ? new SqlParameter("@Leader", SqlDbType.VarChar, 200)
                {
                    Value = DBNull.Value
                } : new SqlParameter("@Leader", SqlDbType.VarChar, 200)
                {
                    Value = model.Leader
                },
                model.Note == null ? new SqlParameter("@Note", SqlDbType.NVarChar, -1)
                {
                    Value = DBNull.Value
                } : new SqlParameter("@Note", SqlDbType.NVarChar, -1)
                {
                    Value = model.Note
                },
                new SqlParameter("@ID", SqlDbType.UniqueIdentifier, -1)
                {
                    Value = model.ID
                }
            };
            return(dbHelper.Execute(sql, parameters));
        }
示例#18
0
        /// <summary>
        /// 添加记录
        /// </summary>
        /// <param name="model">RoadFlow.Data.Model.Organize实体类</param>
        /// <returns>操作所影响的行数</returns>
        public int Add(RoadFlow.Data.Model.Organize model)
        {
            string sql = @"INSERT INTO Organize
				(ID,Name,Number,Type,Status,ParentID,Sort,Depth,ChildsLength,ChargeLeader,Leader,Note) 
				VALUES(@ID,@Name,@Number,@Type,@Status,@ParentID,@Sort,@Depth,@ChildsLength,@ChargeLeader,@Leader,@Note)"                ;

            SqlParameter[] parameters = new SqlParameter[] {
                new SqlParameter("@ID", SqlDbType.UniqueIdentifier, -1)
                {
                    Value = model.ID
                },
                new SqlParameter("@Name", SqlDbType.VarChar, 2000)
                {
                    Value = model.Name
                },
                new SqlParameter("@Number", SqlDbType.VarChar, 900)
                {
                    Value = model.Number
                },
                new SqlParameter("@Type", SqlDbType.Int, -1)
                {
                    Value = model.Type
                },
                new SqlParameter("@Status", SqlDbType.Int, -1)
                {
                    Value = model.Status
                },
                new SqlParameter("@ParentID", SqlDbType.UniqueIdentifier, -1)
                {
                    Value = model.ParentID
                },
                new SqlParameter("@Sort", SqlDbType.Int, -1)
                {
                    Value = model.Sort
                },
                new SqlParameter("@Depth", SqlDbType.Int, -1)
                {
                    Value = model.Depth
                },
                new SqlParameter("@ChildsLength", SqlDbType.Int, -1)
                {
                    Value = model.ChildsLength
                },
                model.ChargeLeader == null ? new SqlParameter("@ChargeLeader", SqlDbType.VarChar, 200)
                {
                    Value = DBNull.Value
                } : new SqlParameter("@ChargeLeader", SqlDbType.VarChar, 200)
                {
                    Value = model.ChargeLeader
                },
                model.Leader == null ? new SqlParameter("@Leader", SqlDbType.VarChar, 200)
                {
                    Value = DBNull.Value
                } : new SqlParameter("@Leader", SqlDbType.VarChar, 200)
                {
                    Value = model.Leader
                },
                model.Note == null ? new SqlParameter("@Note", SqlDbType.NVarChar, -1)
                {
                    Value = DBNull.Value
                } : new SqlParameter("@Note", SqlDbType.NVarChar, -1)
                {
                    Value = model.Note
                }
            };
            return(dbHelper.Execute(sql, parameters));
        }
示例#19
0
        protected void Page_Load(object sender, EventArgs e)
        {
            RoadFlow.Data.Model.Organize org       = null;
            RoadFlow.Platform.Organize   borganize = new RoadFlow.Platform.Organize();
            string id = Request.QueryString["id"];

            if (id.IsGuid())
            {
                org = borganize.Get(id.ToGuid());
            }

            if (IsPostBack)
            {
                //保存
                if (!Request.Form["Save"].IsNullOrEmpty() && org != null)
                {
                    string name         = Request.Form["Name"];
                    string type         = Request.Form["Type"];
                    string status       = Request.Form["Status"];
                    string chargeLeader = Request.Form["ChargeLeader"];
                    string leader       = Request.Form["Leader"];
                    string note         = Request.Form["note"];
                    string oldXML       = org.Serialize();
                    org.Name         = name.Trim();
                    org.Type         = type.ToInt(1);
                    org.Status       = status.ToInt(0);
                    org.ChargeLeader = chargeLeader;
                    org.Leader       = leader;
                    org.Note         = note.IsNullOrEmpty() ? null : note.Trim();

                    borganize.Update(org);
                    RoadFlow.Platform.Log.Add("修改了组织机构", "", RoadFlow.Platform.Log.Types.组织机构, oldXML, org.Serialize());
                    string rid = org.ParentID == Guid.Empty ? org.ID.ToString() : org.ParentID.ToString();
                    Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('保存成功!');parent.frames[0].reLoad('" + rid + "');", true);
                }

                //移动
                if (!Request.Form["Move1"].IsNullOrEmpty() && org != null)
                {
                    string toOrgID = Request.Form["deptmove"];
                    Guid   toID;
                    if (toOrgID.IsGuid(out toID) && borganize.Move(org.ID, toID))
                    {
                        RoadFlow.Platform.Log.Add("移动了组织机构", "将机构:" + org.ID + "移动到了:" + toID, RoadFlow.Platform.Log.Types.组织机构);
                        string refreshID = org.ParentID == Guid.Empty ? org.ID.ToString() : org.ParentID.ToString();
                        Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('移动成功!');parent.frames[0].reLoad('" + refreshID + "');parent.frames[0].reLoad('" + toOrgID + "')", true);
                    }
                    else
                    {
                        Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('移动失败!');", true);
                    }
                }

                //删除
                if (!Request.Form["Delete"].IsNullOrEmpty())
                {
                    int i = borganize.DeleteAndAllChilds(org.ID);
                    RoadFlow.Platform.Log.Add("删除了组织机构及其所有下级共" + i.ToString() + "项", org.Serialize(), RoadFlow.Platform.Log.Types.组织机构);
                    string refreshID = org.ParentID == Guid.Empty ? org.ID.ToString() : org.ParentID.ToString();
                    Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('共删除了" + i.ToString() + "项!');parent.frames[0].reLoad('" + refreshID + "');", true);
                }
            }



            if (org != null)
            {
                this.Name.Value         = org.Name;
                this.TypeRadios.Text    = borganize.GetTypeRadio("Type", org.Type.ToString(), "validate=\"radio\"");
                this.StatusRadios.Text  = borganize.GetStatusRadio("Status", org.Status.ToString(), "validate=\"radio\"");
                this.ChargeLeader.Value = org.ChargeLeader;
                this.Leader.Value       = org.Leader;
                this.Note.Value         = org.Note;
            }
            else
            {
                this.TypeRadios.Text   = borganize.GetTypeRadio("Type", "", "validate=\"radio\"");
                this.StatusRadios.Text = borganize.GetStatusRadio("Status", "", "validate=\"radio\"");
            }
        }
示例#20
0
        public int Add(RoadFlow.Data.Model.Organize model)
        {
            string sql = "INSERT INTO Organize\r\n\t\t\t\t(ID,Name,Number,Type,Status,ParentID,Sort,Depth,ChildsLength,ChargeLeader,Leader,Note,IntID) \r\n\t\t\t\tVALUES(@ID,@Name,@Number,@Type,@Status,@ParentID,@Sort,@Depth,@ChildsLength,@ChargeLeader,@Leader,@Note,@IntID)";

            SqlParameter[] sqlParameterArray = new SqlParameter[13];
            int            index1            = 0;
            SqlParameter   sqlParameter1     = new SqlParameter("@ID", SqlDbType.UniqueIdentifier, -1);

            sqlParameter1.Value       = (object)model.ID;
            sqlParameterArray[index1] = sqlParameter1;
            int          index2        = 1;
            SqlParameter sqlParameter2 = new SqlParameter("@Name", SqlDbType.VarChar, 2000);

            sqlParameter2.Value       = (object)model.Name;
            sqlParameterArray[index2] = sqlParameter2;
            int          index3        = 2;
            SqlParameter sqlParameter3 = new SqlParameter("@Number", SqlDbType.VarChar, 900);

            sqlParameter3.Value       = (object)model.Number;
            sqlParameterArray[index3] = sqlParameter3;
            int          index4        = 3;
            SqlParameter sqlParameter4 = new SqlParameter("@Type", SqlDbType.Int, -1);

            sqlParameter4.Value       = (object)model.Type;
            sqlParameterArray[index4] = sqlParameter4;
            int          index5        = 4;
            SqlParameter sqlParameter5 = new SqlParameter("@Status", SqlDbType.Int, -1);

            sqlParameter5.Value       = (object)model.Status;
            sqlParameterArray[index5] = sqlParameter5;
            int          index6        = 5;
            SqlParameter sqlParameter6 = new SqlParameter("@ParentID", SqlDbType.UniqueIdentifier, -1);

            sqlParameter6.Value       = (object)model.ParentID;
            sqlParameterArray[index6] = sqlParameter6;
            int          index7        = 6;
            SqlParameter sqlParameter7 = new SqlParameter("@Sort", SqlDbType.Int, -1);

            sqlParameter7.Value       = (object)model.Sort;
            sqlParameterArray[index7] = sqlParameter7;
            int          index8        = 7;
            SqlParameter sqlParameter8 = new SqlParameter("@Depth", SqlDbType.Int, -1);

            sqlParameter8.Value       = (object)model.Depth;
            sqlParameterArray[index8] = sqlParameter8;
            int          index9        = 8;
            SqlParameter sqlParameter9 = new SqlParameter("@ChildsLength", SqlDbType.Int, -1);

            sqlParameter9.Value       = (object)model.ChildsLength;
            sqlParameterArray[index9] = sqlParameter9;
            int          index10 = 9;
            SqlParameter sqlParameter10;

            if (model.ChargeLeader != null)
            {
                SqlParameter sqlParameter11 = new SqlParameter("@ChargeLeader", SqlDbType.VarChar, 200);
                sqlParameter11.Value = (object)model.ChargeLeader;
                sqlParameter10       = sqlParameter11;
            }
            else
            {
                sqlParameter10       = new SqlParameter("@ChargeLeader", SqlDbType.VarChar, 200);
                sqlParameter10.Value = (object)DBNull.Value;
            }
            sqlParameterArray[index10] = sqlParameter10;
            int          index11 = 10;
            SqlParameter sqlParameter12;

            if (model.Leader != null)
            {
                SqlParameter sqlParameter11 = new SqlParameter("@Leader", SqlDbType.VarChar, 200);
                sqlParameter11.Value = (object)model.Leader;
                sqlParameter12       = sqlParameter11;
            }
            else
            {
                sqlParameter12       = new SqlParameter("@Leader", SqlDbType.VarChar, 200);
                sqlParameter12.Value = (object)DBNull.Value;
            }
            sqlParameterArray[index11] = sqlParameter12;
            int          index12 = 11;
            SqlParameter sqlParameter13;

            if (model.Note != null)
            {
                SqlParameter sqlParameter11 = new SqlParameter("@Note", SqlDbType.NVarChar, -1);
                sqlParameter11.Value = (object)model.Note;
                sqlParameter13       = sqlParameter11;
            }
            else
            {
                sqlParameter13       = new SqlParameter("@Note", SqlDbType.NVarChar, -1);
                sqlParameter13.Value = (object)DBNull.Value;
            }
            sqlParameterArray[index12] = sqlParameter13;
            int          index13        = 12;
            SqlParameter sqlParameter14 = new SqlParameter("@IntID", SqlDbType.Int, -1);

            sqlParameter14.Value       = (object)model.IntID;
            sqlParameterArray[index13] = sqlParameter14;
            SqlParameter[] parameter = sqlParameterArray;
            return(this.dbHelper.Execute(sql, parameter, false));
        }
示例#21
0
        /// <summary>
        /// 添加记录
        /// </summary>
        /// <param name="model">RoadFlow.Data.Model.Organize实体类</param>
        /// <returns>操作所影响的行数</returns>
        public int Add(RoadFlow.Data.Model.Organize model)
        {
            string sql = @"INSERT INTO Organize
				(ID,Name,Number1,Type,Status,ParentID,Sort,Depth,ChildsLength,ChargeLeader,Leader,Note) 
				VALUES(:ID,:Name,:Number1,:Type,:Status,:ParentID,:Sort,:Depth,:ChildsLength,:ChargeLeader,:Leader,:Note)"                ;

            OracleParameter[] parameters = new OracleParameter[] {
                new OracleParameter(":ID", OracleDbType.Varchar2, 40)
                {
                    Value = model.ID
                },
                new OracleParameter(":Name", OracleDbType.Varchar2, 2000)
                {
                    Value = model.Name
                },
                new OracleParameter(":Number1", OracleDbType.Varchar2, 900)
                {
                    Value = model.Number
                },
                new OracleParameter(":Type", OracleDbType.Int32)
                {
                    Value = model.Type
                },
                new OracleParameter(":Status", OracleDbType.Int32)
                {
                    Value = model.Status
                },
                new OracleParameter(":ParentID", OracleDbType.Varchar2, 40)
                {
                    Value = model.ParentID
                },
                new OracleParameter(":Sort", OracleDbType.Int32)
                {
                    Value = model.Sort
                },
                new OracleParameter(":Depth", OracleDbType.Int32)
                {
                    Value = model.Depth
                },
                new OracleParameter(":ChildsLength", OracleDbType.Int32)
                {
                    Value = model.ChildsLength
                },
                model.ChargeLeader == null ? new OracleParameter(":ChargeLeader", OracleDbType.Varchar2, 200)
                {
                    Value = DBNull.Value
                } : new OracleParameter(":ChargeLeader", OracleDbType.Varchar2, 200)
                {
                    Value = model.ChargeLeader
                },
                model.Leader == null ? new OracleParameter(":Leader", OracleDbType.Varchar2, 200)
                {
                    Value = DBNull.Value
                } : new OracleParameter(":Leader", OracleDbType.Varchar2, 200)
                {
                    Value = model.Leader
                },
                model.Note == null ? new OracleParameter(":Note", OracleDbType.NVarchar2)
                {
                    Value = DBNull.Value
                } : new OracleParameter(":Note", OracleDbType.NVarchar2)
                {
                    Value = model.Note
                }
            };
            return(dbHelper.Execute(sql, parameters));
        }
示例#22
0
        /// <summary>
        /// 更新记录
        /// </summary>
        /// <param name="model">RoadFlow.Data.Model.Organize实体类</param>
        public int Update(RoadFlow.Data.Model.Organize model)
        {
            string sql = @"UPDATE Organize SET 
				Name=:Name,Number1=:Number1,Type=:Type,Status=:Status,ParentID=:ParentID,Sort=:Sort,Depth=:Depth,ChildsLength=:ChildsLength,ChargeLeader=:ChargeLeader,Leader=:Leader,Note=:Note
				WHERE ID=:ID"                ;

            OracleParameter[] parameters = new OracleParameter[] {
                new OracleParameter(":Name", OracleDbType.Varchar2, 2000)
                {
                    Value = model.Name
                },
                new OracleParameter(":Number1", OracleDbType.Varchar2, 900)
                {
                    Value = model.Number
                },
                new OracleParameter(":Type", OracleDbType.Int32)
                {
                    Value = model.Type
                },
                new OracleParameter(":Status", OracleDbType.Int32)
                {
                    Value = model.Status
                },
                new OracleParameter(":ParentID", OracleDbType.Varchar2, 40)
                {
                    Value = model.ParentID
                },
                new OracleParameter(":Sort", OracleDbType.Int32)
                {
                    Value = model.Sort
                },
                new OracleParameter(":Depth", OracleDbType.Int32)
                {
                    Value = model.Depth
                },
                new OracleParameter(":ChildsLength", OracleDbType.Int32)
                {
                    Value = model.ChildsLength
                },
                model.ChargeLeader == null ? new OracleParameter(":ChargeLeader", OracleDbType.Varchar2, 200)
                {
                    Value = DBNull.Value
                } : new OracleParameter(":ChargeLeader", OracleDbType.Varchar2, 200)
                {
                    Value = model.ChargeLeader
                },
                model.Leader == null ? new OracleParameter(":Leader", OracleDbType.Varchar2, 200)
                {
                    Value = DBNull.Value
                } : new OracleParameter(":Leader", OracleDbType.Varchar2, 200)
                {
                    Value = model.Leader
                },
                model.Note == null ? new OracleParameter(":Note", OracleDbType.NVarchar2)
                {
                    Value = DBNull.Value
                } : new OracleParameter(":Note", OracleDbType.NVarchar2)
                {
                    Value = model.Note
                },
                new OracleParameter(":ID", OracleDbType.Varchar2, 40)
                {
                    Value = model.ID
                }
            };
            return(dbHelper.Execute(sql, parameters));
        }
示例#23
0
 /// <summary>
 /// 更新
 /// </summary>
 public int Update(RoadFlow.Data.Model.Organize model)
 {
     return(dataOrganize.Update(model));
 }
示例#24
0
 /// <summary>
 /// 新增
 /// </summary>
 public int Add(RoadFlow.Data.Model.Organize model)
 {
     return(dataOrganize.Add(model));
 }
示例#25
0
        public ActionResult Body(FormCollection collection)
        {
            RoadFlow.Data.Model.Organize org       = null;
            RoadFlow.Platform.Organize   borganize = new RoadFlow.Platform.Organize();
            string id = Request.QueryString["id"];

            if (id.IsGuid())
            {
                org = borganize.Get(id.ToGuid());
            }

            //保存
            if (!Request.Form["Save"].IsNullOrEmpty() && org != null)
            {
                string name         = Request.Form["Name"];
                string type         = Request.Form["Type"];
                string status       = Request.Form["Status"];
                string chargeLeader = Request.Form["ChargeLeader"];
                string leader       = Request.Form["Leader"];
                string note         = Request.Form["note"];
                string oldXML       = org.Serialize();
                org.Name         = name.Trim();
                org.Type         = type.ToInt(1);
                org.Status       = status.ToInt(0);
                org.ChargeLeader = chargeLeader;
                org.Leader       = leader;
                org.Note         = note.IsNullOrEmpty() ? null : note.Trim();

                borganize.Update(org);
                RoadFlow.Platform.Log.Add("修改了组织机构", "", RoadFlow.Platform.Log.Types.组织机构, oldXML, org.Serialize());
                string rid = org.ParentID == Guid.Empty ? org.ID.ToString() : org.ParentID.ToString();
                ViewBag.Script = "alert('保存成功!');parent.frames[0].reLoad('" + rid + "');";
            }

            //移动
            if (!Request.Form["Move1"].IsNullOrEmpty() && org != null)
            {
                string toOrgID = Request.Form["deptmove"];
                Guid   toID;
                if (toOrgID.IsGuid(out toID) && borganize.Move(org.ID, toID))
                {
                    RoadFlow.Platform.Log.Add("移动了组织机构", "将机构:" + org.ID + "移动到了:" + toID, RoadFlow.Platform.Log.Types.组织机构);
                    string refreshID = org.ParentID == Guid.Empty ? org.ID.ToString() : org.ParentID.ToString();
                    ViewBag.Script = "alert('移动成功!');parent.frames[0].reLoad('" + refreshID + "');parent.frames[0].reLoad('" + toOrgID + "')";
                }
                else
                {
                    ViewBag.Script = "alert('移动失败!');";
                }
            }

            //删除
            if (!Request.Form["Delete"].IsNullOrEmpty())
            {
                int i = borganize.DeleteAndAllChilds(org.ID);
                RoadFlow.Platform.Log.Add("删除了组织机构及其所有下级共" + i.ToString() + "项", org.Serialize(), RoadFlow.Platform.Log.Types.组织机构);
                string refreshID = org.ParentID == Guid.Empty ? org.ID.ToString() : org.ParentID.ToString();
                ViewBag.Script = "alert('共删除了" + i.ToString() + "项!');parent.frames[0].reLoad('" + refreshID + "');";
            }

            if (org == null)
            {
                org = new RoadFlow.Data.Model.Organize();
            }
            ViewBag.TypeRadios   = borganize.GetTypeRadio("Type", org.Type.ToString(), "validate=\"radio\"");
            ViewBag.StatusRadios = borganize.GetStatusRadio("Status", org.Status.ToString(), "validate=\"radio\"");

            return(View(org));
        }
示例#26
0
        public ActionResult User(FormCollection collection)
        {
            RoadFlow.Platform.Organize      borganize     = new RoadFlow.Platform.Organize();
            RoadFlow.Platform.Users         busers        = new RoadFlow.Platform.Users();
            RoadFlow.Platform.UsersRelation buserRelation = new RoadFlow.Platform.UsersRelation();
            RoadFlow.Data.Model.Users       user          = null;
            RoadFlow.Data.Model.Organize    organize      = null;
            string id       = Request.QueryString["id"];
            string parentID = Request.QueryString["parentid"];

            string name    = string.Empty;
            string account = string.Empty;
            string status  = string.Empty;
            string note    = string.Empty;

            string parentString = string.Empty;

            Guid userID, organizeID;

            if (id.IsGuid(out userID))
            {
                user = busers.Get(userID);
                if (user != null)
                {
                    name    = user.Name;
                    account = user.Account;
                    status  = user.Status.ToString();
                    note    = user.Note;

                    //所在组织字符串
                    System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    var userRelations            = buserRelation.GetAllByUserID(user.ID).OrderByDescending(p => p.IsMain);
                    foreach (var userRelation in userRelations)
                    {
                        sb.Append("<div style='margin:3px 0;'>");
                        sb.Append(borganize.GetAllParentNames(userRelation.OrganizeID, true));
                        if (userRelation.IsMain == 0)
                        {
                            sb.Append("<span style='color:#999'> [兼职]</span>");
                        }
                        sb.Append("</div>");
                    }
                    ViewBag.ParentString = sb.ToString();
                    var roles = new RoadFlow.Platform.UsersRole().GetByUserIDFromCache(userID);
                    RoadFlow.Platform.Role    brole  = new RoadFlow.Platform.Role();
                    System.Text.StringBuilder rolesb = new System.Text.StringBuilder();
                    foreach (var role in roles)
                    {
                        var role1 = brole.Get(role.RoleID);
                        if (role1 == null)
                        {
                            continue;
                        }
                        rolesb.Append(role1.Name);
                        rolesb.Append(",");
                    }
                    ViewBag.RoleString = rolesb.ToString().TrimEnd(',');
                }
            }
            if (parentID.IsGuid(out organizeID))
            {
                organize = borganize.Get(organizeID);
            }

            if (collection != null)
            {
                //保存
                if (!Request.Form["Save"].IsNullOrEmpty() && user != null)
                {
                    name    = Request.Form["Name"];
                    account = Request.Form["Account"];
                    status  = Request.Form["Status"];
                    note    = Request.Form["Note"];

                    string oldXML = user.Serialize();

                    user.Name    = name.Trim();
                    user.Account = account.Trim();
                    user.Status  = status.ToInt(1);
                    user.Note    = note.IsNullOrEmpty() ? null : note.Trim();

                    busers.Update(user);
                    RoadFlow.Platform.Log.Add("修改了用户", "", RoadFlow.Platform.Log.Types.组织机构, oldXML, user.Serialize());
                    ViewBag.Script = "alert('保存成功!');parent.frames[0].reLoad('" + parentID + "');";
                }

                //删除用户
                if (!Request.Form["DeleteBut"].IsNullOrEmpty() && user != null && organize != null)
                {
                    using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                    {
                        var urs = buserRelation.GetAllByUserID(user.ID);
                        busers.Delete(user.ID);

                        buserRelation.DeleteByUserID(user.ID);

                        new RoadFlow.Platform.UsersInfo().Delete(user.ID);
                        new RoadFlow.Platform.UsersRole().DeleteByUserID(user.ID);

                        //更新父级[ChildsLength]字段
                        foreach (var ur in urs)
                        {
                            borganize.UpdateChildsLength(ur.OrganizeID);
                        }

                        scope.Complete();
                    }

                    string refreshID = parentID;
                    string url       = string.Empty;
                    var    users     = borganize.GetAllUsers(refreshID.ToGuid());
                    if (users.Count > 0)
                    {
                        url = "User?id=" + users.Last().ID + "&appid=" + Request.QueryString["appid"] + "&tabid=" + Request.QueryString["tabid"] + "&parentid=" + parentID;
                    }
                    else
                    {
                        refreshID = organize.ParentID == Guid.Empty ? organize.ID.ToString() : organize.ParentID.ToString();
                        url       = "Body?id=" + parentID + "&appid=" + Request.QueryString["appid"] + "&tabid=" + Request.QueryString["tabid"] + "&parentid=" + organize.ParentID;
                    }
                    RoadFlow.Platform.Log.Add("删除了用户", user.Serialize(), RoadFlow.Platform.Log.Types.组织机构);
                    ViewBag.Script = "alert('删除成功');parent.frames[0].reLoad('" + refreshID + "');window.location='" + url + "'";
                    new RoadFlow.Platform.AppLibrary().ClearUseMemberCache();
                }

                //初始化密码
                if (!Request.Form["InitPass"].IsNullOrEmpty() && user != null)
                {
                    string initpass = busers.GetInitPassword();
                    busers.InitPassword(user.ID);
                    RoadFlow.Platform.Log.Add("初始化了用户密码", user.Serialize(), RoadFlow.Platform.Log.Types.组织机构);
                    ViewBag.Script = "alert('密码已初始化为:" + initpass + "');";
                }

                //调动
                if (!Request.Form["Move1"].IsNullOrEmpty() && user != null)
                {
                    string moveto          = Request.Form["movetostation"];
                    string movetostationjz = Request.Form["movetostationjz"];
                    Guid   moveToID;
                    if (moveto.IsGuid(out moveToID))
                    {
                        using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                        {
                            var us = buserRelation.GetAllByUserID(user.ID);
                            if ("1" != movetostationjz)
                            {
                                buserRelation.DeleteByUserID(user.ID);
                            }

                            RoadFlow.Data.Model.UsersRelation ur = new RoadFlow.Data.Model.UsersRelation();
                            ur.UserID     = user.ID;
                            ur.OrganizeID = moveToID;
                            ur.IsMain     = "1" == movetostationjz ? 0 : 1;
                            ur.Sort       = buserRelation.GetMaxSort(moveToID);
                            buserRelation.Add(ur);

                            foreach (var u in us)
                            {
                                borganize.UpdateChildsLength(u.OrganizeID);
                            }

                            borganize.UpdateChildsLength(organizeID);
                            borganize.UpdateChildsLength(moveToID);

                            scope.Complete();
                            ViewBag.Script = "alert('调动成功!');parent.frames[0].reLoad('" + parentID + "');parent.frames[0].reLoad('" + moveto + "')";
                        }

                        RoadFlow.Platform.Log.Add(("1" == movetostationjz ? "兼职" : "全职") + "调动了人员的岗位", "将人员调往岗位(" + moveto + ")", RoadFlow.Platform.Log.Types.组织机构);
                        new RoadFlow.Platform.AppLibrary().ClearUseMemberCache();
                    }
                }
            }
            ViewBag.StatusRadios = borganize.GetStatusRadio("Status", status, "validate=\"radio\"");
            return(View(user));
        }
示例#27
0
 public void AddDeptAsync(RoadFlow.Data.Model.Organize organize)
 {
     new Organize.del_Save(this.AddDept).BeginInvoke(organize, (AsyncCallback)null, (object)null);
 }
示例#28
0
        public ActionResult Send(RoadFlow.Data.Model.SMSModel model)
        {
            if (ModelState.IsValid)
            {
                model.SendUser     = RoadFlow.Platform.UsersBLL.CurrentUserID;
                model.SendUserName = RoadFlow.Platform.UsersBLL.CurrentUserName;
                if (sms.Add(model) > 0)  //保存成功,调用第三方发送短信
                {
                    RoadFlow.Platform.UsersBLL user     = new RoadFlow.Platform.UsersBLL();
                    RoadFlow.Platform.Organize organize = new RoadFlow.Platform.Organize();

                    List <string> tels   = new List <string>();
                    string[]      sendTo = model.SendTo.Split(',');

                    foreach (var item in sendTo)
                    {
                        if (item.Contains("u_"))  //个人
                        {
                            string newId = item.Remove(0, 2);
                            if (newId.IsGuid())
                            {
                                RoadFlow.Data.Model.UsersModel u = user.Get(Guid.Parse(newId));
                                if (u != null && !u.Tell.IsNullOrEmpty())
                                {
                                    tels.Add(u.Tell);
                                }
                            }
                        }
                        else    //选中的是组织
                        {
                            if (item.IsGuid())
                            {
                                RoadFlow.Data.Model.Organize o = organize.Get(Guid.Parse(item));
                                if (o != null)
                                {
                                    List <RoadFlow.Data.Model.UsersModel> list = organize.GetAllUsers(Guid.Parse(item));
                                    foreach (var u in list)  //遍历组织里所有User
                                    {
                                        if (!u.Tell.IsNullOrEmpty())
                                        {
                                            tels.Add(u.Tell);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    foreach (var tel in tels)  //遍历所有手机号,发送短信
                    {
                        SMSMessage message = new SMSMessage {
                            Mobile  = tel,
                            Content = "【青羊楼宇】" + model.Content
                        };
                        new SMS().SendSMS(message);
                    }
                    ViewBag.Success = true;
                }
            }

            return(View(model));
        }
示例#29
0
        public int Add(RoadFlow.Data.Model.Organize model)
        {
            string sql = "INSERT INTO Organize\r\n\t\t\t\t(ID,Name,Number1,Type,Status,ParentID,Sort,Depth,ChildsLength,ChargeLeader,Leader,Note,IntID) \r\n\t\t\t\tVALUES(:ID,:Name,:Number1,:Type,:Status,:ParentID,:Sort,:Depth,:ChildsLength,:ChargeLeader,:Leader,:Note,:IntID)";

            OracleParameter[] oracleParameterArray = new OracleParameter[13];
            int             index1           = 0;
            OracleParameter oracleParameter1 = new OracleParameter(":ID", OracleDbType.Varchar2, 40);

            oracleParameter1.Value       = (object)model.ID;
            oracleParameterArray[index1] = oracleParameter1;
            int             index2           = 1;
            OracleParameter oracleParameter2 = new OracleParameter(":Name", OracleDbType.Varchar2, 2000);

            oracleParameter2.Value       = (object)model.Name;
            oracleParameterArray[index2] = oracleParameter2;
            int             index3           = 2;
            OracleParameter oracleParameter3 = new OracleParameter(":Number1", OracleDbType.Varchar2, 900);

            oracleParameter3.Value       = (object)model.Number;
            oracleParameterArray[index3] = oracleParameter3;
            int             index4           = 3;
            OracleParameter oracleParameter4 = new OracleParameter(":Type", OracleDbType.Int32);

            oracleParameter4.Value       = (object)model.Type;
            oracleParameterArray[index4] = oracleParameter4;
            int             index5           = 4;
            OracleParameter oracleParameter5 = new OracleParameter(":Status", OracleDbType.Int32);

            oracleParameter5.Value       = (object)model.Status;
            oracleParameterArray[index5] = oracleParameter5;
            int             index6           = 5;
            OracleParameter oracleParameter6 = new OracleParameter(":ParentID", OracleDbType.Varchar2, 40);

            oracleParameter6.Value       = (object)model.ParentID;
            oracleParameterArray[index6] = oracleParameter6;
            int             index7           = 6;
            OracleParameter oracleParameter7 = new OracleParameter(":Sort", OracleDbType.Int32);

            oracleParameter7.Value       = (object)model.Sort;
            oracleParameterArray[index7] = oracleParameter7;
            int             index8           = 7;
            OracleParameter oracleParameter8 = new OracleParameter(":Depth", OracleDbType.Int32);

            oracleParameter8.Value       = (object)model.Depth;
            oracleParameterArray[index8] = oracleParameter8;
            int             index9           = 8;
            OracleParameter oracleParameter9 = new OracleParameter(":ChildsLength", OracleDbType.Int32);

            oracleParameter9.Value       = (object)model.ChildsLength;
            oracleParameterArray[index9] = oracleParameter9;
            int             index10 = 9;
            OracleParameter oracleParameter10;

            if (model.ChargeLeader != null)
            {
                OracleParameter oracleParameter11 = new OracleParameter(":ChargeLeader", OracleDbType.Varchar2, 200);
                oracleParameter11.Value = (object)model.ChargeLeader;
                oracleParameter10       = oracleParameter11;
            }
            else
            {
                oracleParameter10       = new OracleParameter(":ChargeLeader", OracleDbType.Varchar2, 200);
                oracleParameter10.Value = (object)DBNull.Value;
            }
            oracleParameterArray[index10] = oracleParameter10;
            int             index11 = 10;
            OracleParameter oracleParameter12;

            if (model.Leader != null)
            {
                OracleParameter oracleParameter11 = new OracleParameter(":Leader", OracleDbType.Varchar2, 200);
                oracleParameter11.Value = (object)model.Leader;
                oracleParameter12       = oracleParameter11;
            }
            else
            {
                oracleParameter12       = new OracleParameter(":Leader", OracleDbType.Varchar2, 200);
                oracleParameter12.Value = (object)DBNull.Value;
            }
            oracleParameterArray[index11] = oracleParameter12;
            int             index12 = 11;
            OracleParameter oracleParameter13;

            if (model.Note != null)
            {
                OracleParameter oracleParameter11 = new OracleParameter(":Note", OracleDbType.NVarchar2);
                oracleParameter11.Value = (object)model.Note;
                oracleParameter13       = oracleParameter11;
            }
            else
            {
                oracleParameter13       = new OracleParameter(":Note", OracleDbType.NVarchar2);
                oracleParameter13.Value = (object)DBNull.Value;
            }
            oracleParameterArray[index12] = oracleParameter13;
            int             index13           = 12;
            OracleParameter oracleParameter14 = new OracleParameter(":IntID", OracleDbType.Int32);

            oracleParameter14.Value       = (object)model.IntID;
            oracleParameterArray[index13] = oracleParameter14;
            OracleParameter[] parameter = oracleParameterArray;
            return(this.dbHelper.Execute(sql, parameter));
        }