Exemplo n.º 1
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=" + GetAccessToken();
            List <RoadFlow.Data.Model.UsersRelation> allByUserID = new UsersRelation().GetAllByUserID(user.ID);

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

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

            Log.Add("调用了微信添加人员-" + user.Name + "-" + (flag ? "成功" : "失败"), "返回:" + text2, Log.Types.微信企业号, user.Serialize(), text);
            return(flag);
        }
Exemplo n.º 2
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string id = context.Request.QueryString["id"];
            Guid   gid;

            if (id.IsNullOrEmpty())
            {
                context.Response.Write("");
            }
            RoadFlow.Platform.Organize borg  = new RoadFlow.Platform.Organize();
            RoadFlow.Platform.Users    buser = new RoadFlow.Platform.Users();
            if (id.StartsWith(RoadFlow.Platform.Users.PREFIX))
            {
                Guid uid = buser.RemovePrefix1(id).ToGuid();
                context.Response.Write(string.Concat(borg.GetAllParentNames(buser.GetMainStation(uid)), " / ", buser.GetName(uid)));
            }
            else if (id.StartsWith(RoadFlow.Platform.WorkGroup.PREFIX))
            {
                context.Response.Write(new RoadFlow.Platform.WorkGroup().GetUsersNames(RoadFlow.Platform.WorkGroup.RemovePrefix(id).ToGuid(), '、'));
            }
            else if (id.IsGuid(out gid))
            {
                context.Response.Write(borg.GetAllParentNames(gid));
            }
            context.Response.Write("");
        }
Exemplo n.º 3
0
        public string GetNote()
        {
            string id = Request.QueryString["id"];
            Guid   gid;

            if (id.IsNullOrEmpty())
            {
                return("");
            }
            RoadFlow.Platform.Organize borg  = new RoadFlow.Platform.Organize();
            RoadFlow.Platform.Users    buser = new RoadFlow.Platform.Users();
            if (id.StartsWith(RoadFlow.Platform.Users.PREFIX))
            {
                Guid uid = buser.RemovePrefix1(id).ToGuid();
                return(string.Concat(borg.GetAllParentNames(buser.GetMainStation(uid)), " / ", buser.GetName(uid)));
            }
            else if (id.StartsWith(RoadFlow.Platform.WorkGroup.PREFIX))
            {
                return(new RoadFlow.Platform.WorkGroup().GetUsersNames(RoadFlow.Platform.WorkGroup.RemovePrefix(id).ToGuid(), '、'));
            }
            else if (id.IsGuid(out gid))
            {
                return(borg.GetAllParentNames(gid));
            }
            return("");
        }
Exemplo n.º 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);
        }
Exemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                string taskid = Request.QueryString["taskid"];
                Guid   taskID;
                if (taskid.IsGuid(out taskID))
                {
                    string user     = Request.Form["user"];
                    string openerid = Request.QueryString["openerid"];

                    RoadFlow.Platform.WorkFlowTask btask = new RoadFlow.Platform.WorkFlowTask();
                    var users = new RoadFlow.Platform.Organize().GetAllUsers(user);
                    System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    foreach (var user1 in users)
                    {
                        btask.DesignateTask(taskID, user1);
                        RoadFlow.Platform.Log.Add("管理员指派了流程任务", "将任务" + taskID + "指派给了:" + user1.Name + user1.ID, RoadFlow.Platform.Log.Types.流程相关);

                        sb.Append(user1.Name);
                        sb.Append(",");
                    }
                    string userNames = sb.ToString().TrimEnd(',');
                    Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('已成功指派给:" + userNames + "!');new RoadUI.Window().reloadOpener();new RoadUI.Window().close();", true);
                }
            }
        }
Exemplo n.º 6
0
        public ActionResult Designate(FormCollection collection)
        {
            string taskid = Request.QueryString["taskid"];
            Guid   taskID;

            if (taskid.IsGuid(out taskID))
            {
                string user     = Request.Form["user"];
                string openerid = Request.QueryString["openerid"];

                RoadFlow.Platform.WorkFlowTask btask = new RoadFlow.Platform.WorkFlowTask();
                var users = new RoadFlow.Platform.Organize().GetAllUsers(user);
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                foreach (var user1 in users)
                {
                    btask.DesignateTask(taskID, user1);
                    RoadFlow.Platform.Log.Add("管理员指派了流程任务", "将任务" + taskID + "指派给了:" + user1.Name + user1.ID, RoadFlow.Platform.Log.Types.流程相关);

                    sb.Append(user1.Name);
                    sb.Append(",");
                }
                string userNames = sb.ToString().TrimEnd(',');
                ViewBag.Script = "alert('已成功指派给:" + userNames + "!');new RoadUI.Window().reloadOpener();new RoadUI.Window().close();";
            }
            return(View());
        }
Exemplo n.º 7
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);
        }
Exemplo n.º 8
0
        public bool AddGroupUser(RoadFlow.Data.Model.WorkGroup group)
        {
            string url = "https://qyapi.weixin.qq.com/cgi-bin/tag/addtagusers?access_token=" + this.GetAccessToken();

            if (group.Members.IsNullOrEmpty())
            {
                return(true);
            }
            List <RoadFlow.Data.Model.Users> allUsers = new RoadFlow.Platform.Organize().GetAllUsers(group.Members);
            List <string> stringList = new List <string>();

            foreach (RoadFlow.Data.Model.Users users in allUsers)
            {
                stringList.Add(users.Account);
            }
            string userAccounts = Tools.GetSqlInString <string>(stringList.ToArray(), true).Replace("'", "\"");

            if (!this.DeleteGroupUser(group.IntID, userAccounts))
            {
                return(false);
            }
            string   str      = "{\"tagid\":" + group.IntID.ToString() + ",\"userlist\":[" + userAccounts + "]}";
            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("调用了微信更新标签成员-" + (flag ? "成功" : "失败"), "返回:" + json, RoadFlow.Platform.Log.Types.微信企业号, str, "", (RoadFlow.Data.Model.Users)null);
            return(flag);
        }
Exemplo n.º 9
0
        public ActionResult UserAdd(FormCollection collection)
        {
            RoadFlow.Platform.Organize borganize = new RoadFlow.Platform.Organize();
            RoadFlow.Platform.Users    busers    = new RoadFlow.Platform.Users();

            string id = Request.QueryString["id"];

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

            if (collection != null && id.IsGuid(out parentID))
            {
                name    = Request.Form["Name"];
                account = Request.Form["Account"];
                status  = Request.Form["Status"];
                note    = Request.Form["Note"];

                Guid   userID  = Guid.NewGuid();
                string userXML = string.Empty;
                using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                {
                    //添加人员
                    RoadFlow.Data.Model.Users user = new RoadFlow.Data.Model.Users();
                    user.Account  = account.Trim();
                    user.Name     = name.Trim();
                    user.Note     = note.IsNullOrEmpty() ? null : note;
                    user.Password = busers.GetUserEncryptionPassword(userID.ToString(), busers.GetInitPassword());
                    user.Sort     = 1;
                    user.Status   = status.IsInt() ? status.ToInt() : 0;
                    user.ID       = userID;
                    busers.Add(user);

                    //添加关系
                    RoadFlow.Data.Model.UsersRelation userRelation = new RoadFlow.Data.Model.UsersRelation();
                    userRelation.IsMain     = 1;
                    userRelation.OrganizeID = parentID;
                    userRelation.Sort       = new RoadFlow.Platform.UsersRelation().GetMaxSort(parentID);
                    userRelation.UserID     = userID;
                    new RoadFlow.Platform.UsersRelation().Add(userRelation);

                    //更新父级[ChildsLength]字段
                    borganize.UpdateChildsLength(parentID);

                    //更新角色
                    new RoadFlow.Platform.UsersRole().UpdateByUserID(userID);

                    userXML = user.Serialize();
                    scope.Complete();
                }

                RoadFlow.Platform.Log.Add("添加了人员", userXML, RoadFlow.Platform.Log.Types.组织机构);
                ViewBag.Script = "alert('添加成功!');parent.frames[0].reLoad('" + id + "');window.location=window.location;";
            }
            ViewBag.StatusRadios = borganize.GetStatusRadio("Status", "0", "validate=\"radio\"");
            return(View());
        }
Exemplo n.º 10
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));
        }
Exemplo n.º 11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            this.Account.Attributes.Add("validate_url", "CheckAccount.ashx");
            RoadFlow.Platform.Organize borganize = new RoadFlow.Platform.Organize();
            RoadFlow.Platform.Users    busers    = new RoadFlow.Platform.Users();

            string id = Request.QueryString["id"];

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

            if (IsPostBack && id.IsGuid(out parentID))
            {
                name    = Request.Form["Name"];
                account = Request.Form["Account"];
                status  = Request.Form["Status"];
                note    = Request.Form["Note"];

                Guid   userID  = Guid.NewGuid();
                string userXML = string.Empty;
                using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                {
                    //添加人员
                    RoadFlow.Data.Model.Users user = new RoadFlow.Data.Model.Users();
                    user.Account  = account.Trim();
                    user.Name     = name.Trim();
                    user.Note     = note.IsNullOrEmpty() ? null : note;
                    user.Password = busers.GetUserEncryptionPassword(userID.ToString(), busers.GetInitPassword());
                    user.Sort     = 1;
                    user.Status   = status.IsInt() ? status.ToInt() : 0;
                    user.ID       = userID;
                    busers.Add(user);

                    //添加关系
                    RoadFlow.Data.Model.UsersRelation userRelation = new RoadFlow.Data.Model.UsersRelation();
                    userRelation.IsMain     = 1;
                    userRelation.OrganizeID = parentID;
                    userRelation.Sort       = new RoadFlow.Platform.UsersRelation().GetMaxSort(parentID);
                    userRelation.UserID     = userID;
                    new RoadFlow.Platform.UsersRelation().Add(userRelation);

                    //更新父级[ChildsLength]字段
                    borganize.UpdateChildsLength(parentID);

                    //更新角色
                    new RoadFlow.Platform.UsersRole().UpdateByUserID(userID);

                    userXML = user.Serialize();
                    scope.Complete();
                }

                RoadFlow.Platform.Log.Add("添加了人员", userXML, RoadFlow.Platform.Log.Types.组织机构);
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('添加成功!');parent.frames[0].reLoad('" + id + "');window.location=window.location;", true);
            }
            this.StatusRadios.Text = borganize.GetStatusRadio("Status", "0", "validate=\"radio\"");
        }
Exemplo n.º 12
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);
        }
Exemplo n.º 13
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);
        }
Exemplo n.º 14
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());
        }
Exemplo n.º 15
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);
        }
Exemplo n.º 16
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\"");
        }
        public ActionResult Index(FormCollection collection)
        {
            RoadFlow.Platform.WorkFlowDelegation bworkFlowDelegation = new RoadFlow.Platform.WorkFlowDelegation();
            RoadFlow.Platform.Organize           borganize           = new RoadFlow.Platform.Organize();
            RoadFlow.Platform.UsersBLL           busers    = new RoadFlow.Platform.UsersBLL();
            RoadFlow.Platform.WorkFlow           bworkFlow = new RoadFlow.Platform.WorkFlow();
            IEnumerable <RoadFlow.Data.Model.WorkFlowDelegation> workFlowDelegationList;

            string startTime = string.Empty;
            string endTime   = string.Empty;
            string query1    = string.Format("&appid={0}&tabid={1}&isoneself={2}", Request.QueryString["appid"], Request.QueryString["tabid"], Request.QueryString["isoneself"]);

            if (collection != null)
            {
                if (!Request.Form["DeleteBut"].IsNullOrEmpty())
                {
                    string ids = Request.Form["checkbox_app"];
                    foreach (string id in ids.Split(','))
                    {
                        Guid bid;
                        if (!id.IsGuid(out bid))
                        {
                            continue;
                        }
                        var comment = bworkFlowDelegation.Get(bid);
                        if (comment != null)
                        {
                            bworkFlowDelegation.Delete(bid);
                            RoadFlow.Platform.Log.Add("删除了流程意见", comment.Serialize(), RoadFlow.Platform.Log.Types.流程相关);
                        }
                    }
                    bworkFlowDelegation.RefreshCache();
                }
            }

            string pager;
            bool   isOneSelf = "1" == Request.QueryString["isoneself"];

            if (isOneSelf)
            {
                workFlowDelegationList = bworkFlowDelegation.GetPagerData(out pager, query1, RoadFlow.Platform.UsersBLL.CurrentUserID.ToString(), startTime, endTime);
            }
            else
            {
                workFlowDelegationList = bworkFlowDelegation.GetPagerData(out pager, query1, "", startTime, endTime);
            }
            ViewBag.Query1 = query1;
            return(View(workFlowDelegationList));
        }
Exemplo n.º 18
0
        /// <summary>
        /// 得到工作组下的人员名称字符串
        /// </summary>
        /// <param name="members">工作组成员字符串</param>
        /// <param name="split"></param>
        /// <returns></returns>
        public string GetUsersNames(string members, char split = ',')
        {
            if (members.IsNullOrEmpty())
            {
                return("");
            }
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            var users = new RoadFlow.Platform.Organize().GetAllUsers(members);

            foreach (var user in users)
            {
                sb.Append(user.Name);
                sb.Append(split);
            }
            return(sb.ToString().TrimEnd(split));
        }
Exemplo n.º 19
0
        public ActionResult AddRole(FormCollection collection)
        {
            string name      = Request.Form["Name"];
            string note      = Request.Form["Note"];
            string useMember = Request.Form["UseMember"];

            RoadFlow.Data.Model.Role role = new RoadFlow.Data.Model.Role();
            if (collection != null)
            {
                using (System.Transactions.TransactionScope trans = new System.Transactions.TransactionScope())
                {
                    role.ID   = Guid.NewGuid();
                    role.Name = name.Trim();
                    if (!useMember.IsNullOrEmpty())
                    {
                        role.UseMember = useMember;
                        RoadFlow.Platform.UsersRole busersRole = new RoadFlow.Platform.UsersRole();
                        var users = new RoadFlow.Platform.Organize().GetAllUsers(useMember);
                        foreach (var user in users)
                        {
                            RoadFlow.Data.Model.UsersRole ur = new RoadFlow.Data.Model.UsersRole();
                            ur.IsDefault = true;
                            ur.MemberID  = user.ID;
                            ur.RoleID    = role.ID;
                            busersRole.Add(ur);
                        }
                    }
                    if (!note.IsNullOrEmpty())
                    {
                        role.Note = note.Trim();
                    }
                    new RoadFlow.Platform.Role().Add(role);

                    //添加一个根应用
                    RoadFlow.Data.Model.RoleApp roleApp = new RoadFlow.Data.Model.RoleApp();
                    roleApp.ID       = Guid.NewGuid();
                    roleApp.ParentID = Guid.Empty;
                    roleApp.RoleID   = role.ID;
                    roleApp.Sort     = 1;
                    roleApp.Title    = "管理目录";
                    new RoadFlow.Platform.RoleApp().Add(roleApp);
                    trans.Complete();
                    ViewBag.Script = "alert('添加成功!');new RoadUI.Window().reloadOpener();new RoadUI.Window().close();";
                }
            }
            return(View(role));
        }
Exemplo n.º 20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                string name      = Request.Form["Name"];
                string note      = Request.Form["Note"];
                string useMember = Request.Form["UseMember"];
                RoadFlow.Data.Model.Role role = new RoadFlow.Data.Model.Role();
                using (System.Transactions.TransactionScope trans = new System.Transactions.TransactionScope())
                {
                    role.ID   = Guid.NewGuid();
                    role.Name = name.Trim();
                    if (!useMember.IsNullOrEmpty())
                    {
                        role.UseMember = useMember;
                        RoadFlow.Platform.UsersRole busersRole = new RoadFlow.Platform.UsersRole();
                        var users = new RoadFlow.Platform.Organize().GetAllUsers(useMember);
                        foreach (var user in users)
                        {
                            RoadFlow.Data.Model.UsersRole ur = new RoadFlow.Data.Model.UsersRole();
                            ur.IsDefault = true;
                            ur.MemberID  = user.ID;
                            ur.RoleID    = role.ID;
                            busersRole.Add(ur);
                        }
                    }
                    if (!note.IsNullOrEmpty())
                    {
                        role.Note = note.Trim();
                    }
                    new RoadFlow.Platform.Role().Add(role);

                    //添加一个根应用
                    RoadFlow.Data.Model.RoleApp roleApp = new RoadFlow.Data.Model.RoleApp();
                    roleApp.ID       = Guid.NewGuid();
                    roleApp.ParentID = Guid.Empty;
                    roleApp.RoleID   = role.ID;
                    roleApp.Sort     = 1;
                    roleApp.Title    = "管理目录";
                    new RoadFlow.Platform.RoleApp().Add(roleApp);
                    trans.Complete();
                    Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('添加成功!');new RoadUI.Window().reloadOpener();new RoadUI.Window().close();", true);
                }
            }
        }
Exemplo n.º 21
0
        /// <summary>
        /// 得到一个用户所在部门
        /// </summary>
        /// <param name="userID"></param>
        /// <returns></returns>
        public RoadFlow.Data.Model.Organize GetDeptByUserID(Guid userID)
        {
            Guid stationID = GetMainStation(userID);

            if (stationID == Guid.Empty)
            {
                return(null);
            }
            var parents = new RoadFlow.Platform.Organize().GetAllParent(stationID);

            parents.Reverse();
            foreach (var parent in parents)
            {
                if (parent.Type == 2 || parent.Type == 1)
                {
                    return(parent);
                }
            }
            return(null);
        }
Exemplo n.º 22
0
        public bool EditDept(RoadFlow.Data.Model.Organize organize)
        {
            int num = 1;

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

            Log.Add("调用了微信修改部门-" + organize.Name + "-" + (flag ? "成功" : "失败"), "返回:" + text2, Log.Types.微信企业号, organize.Serialize(), text);
            return(flag);
        }
        public ActionResult Index(FormCollection collection)
        {
            RoadFlow.Platform.WorkFlowComment workFlowComment1       = new RoadFlow.Platform.WorkFlowComment();
            RoadFlow.Platform.Organize        organize               = new RoadFlow.Platform.Organize();
            IEnumerable <RoadFlow.Data.Model.WorkFlowComment> source = (IEnumerable <RoadFlow.Data.Model.WorkFlowComment>)workFlowComment1.GetAll();

            if ("1" == this.Request.QueryString["isoneself"])
            {
                source = source.Where <RoadFlow.Data.Model.WorkFlowComment>((Func <RoadFlow.Data.Model.WorkFlowComment, bool>)(p => p.MemberID == "u_" + RoadFlow.Platform.Users.CurrentUserID.ToString()));
            }
            JsonData jsonData = new JsonData();

            foreach (RoadFlow.Data.Model.WorkFlowComment workFlowComment2 in (IEnumerable <RoadFlow.Data.Model.WorkFlowComment>)source.OrderBy <RoadFlow.Data.Model.WorkFlowComment, int>((Func <RoadFlow.Data.Model.WorkFlowComment, int>)(p => p.Type)).ThenBy <RoadFlow.Data.Model.WorkFlowComment, int>((Func <RoadFlow.Data.Model.WorkFlowComment, int>)(p => p.Sort)))
            {
                jsonData.Add((object)new JsonData()
                {
                    ["id"]       = (JsonData)workFlowComment2.ID.ToString(),
                    ["Comment"]  = (JsonData)workFlowComment2.Comment,
                    ["MemberID"] = (JsonData)(workFlowComment2.MemberID.IsNullOrEmpty() ? "所有人员" : organize.GetNames(workFlowComment2.MemberID, ",")),
                    ["Type"]     = (JsonData)(workFlowComment2.Type == 0 ? "管理员" : "个人"),
                    ["Sort"]     = (JsonData)workFlowComment2.Sort,
                    ["Opation"]  = (JsonData)("<a class=\"editlink\" href=\"javascript:edit('" + workFlowComment2.ID.ToString() + "');\">编辑</a>")
                });
            }
            // ISSUE: reference to a compiler-generated field
            if (WorkFlowCommentsController.\u003C\u003Eo__1.\u003C\u003Ep__0 == null)
            {
                // ISSUE: reference to a compiler-generated field
                WorkFlowCommentsController.\u003C\u003Eo__1.\u003C\u003Ep__0 = CallSite <Func <CallSite, object, string, object> > .Create(Binder.SetMember(CSharpBinderFlags.None, "list", typeof(WorkFlowCommentsController), (IEnumerable <CSharpArgumentInfo>) new CSharpArgumentInfo[2]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, (string)null),
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, (string)null)
                }));
            }
            // ISSUE: reference to a compiler-generated field
            // ISSUE: reference to a compiler-generated field
            object obj = WorkFlowCommentsController.\u003C\u003Eo__1.\u003C\u003Ep__0.Target((CallSite)WorkFlowCommentsController.\u003C\u003Eo__1.\u003C\u003Ep__0, this.ViewBag, jsonData.ToJson(true));

            return((ActionResult)this.View());
        }
Exemplo n.º 24
0
        public ActionResult Index(FormCollection collection)
        {
            RoadFlow.Platform.WorkFlowComment bworkFlowComment = new RoadFlow.Platform.WorkFlowComment();
            RoadFlow.Platform.Organize        borganize        = new RoadFlow.Platform.Organize();
            IEnumerable <RoadFlow.Data.Model.WorkFlowComment> workFlowCommentList;

            if (collection != null)
            {
                if (!Request.Form["DeleteBut"].IsNullOrEmpty())
                {
                    string ids = Request.Form["checkbox_app"];
                    foreach (string id in ids.Split(','))
                    {
                        Guid bid;
                        if (!id.IsGuid(out bid))
                        {
                            continue;
                        }
                        var comment = bworkFlowComment.Get(bid);
                        if (comment != null)
                        {
                            bworkFlowComment.Delete(bid);
                            RoadFlow.Platform.Log.Add("删除了流程意见", comment.Serialize(), RoadFlow.Platform.Log.Types.流程相关);
                        }
                    }
                    bworkFlowComment.RefreshCache();
                }
            }

            workFlowCommentList = bworkFlowComment.GetAll();

            bool isOneSelf = "1" == Request.QueryString["isoneself"];

            if (isOneSelf)
            {
                workFlowCommentList = workFlowCommentList.Where(p => p.MemberID == RoadFlow.Platform.UsersBLL.PREFIX + RoadFlow.Platform.UsersBLL.CurrentUserID.ToString());
            }
            return(View(workFlowCommentList));
        }
Exemplo n.º 25
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string parentid = Request.QueryString["parentid"];

            if (IsPostBack)
            {
                string   sort      = Request.Form["sort"] ?? "";
                string[] sortArray = sort.Split(',');
                RoadFlow.Platform.Organize borganize = new RoadFlow.Platform.Organize();
                for (int i = 0; i < sortArray.Length; i++)
                {
                    Guid gid;
                    if (!sortArray[i].IsGuid(out gid))
                    {
                        continue;
                    }
                    borganize.UpdateSort(gid, i + 1);
                }
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "parent.frames[0].reLoad('" + parentid + "');", true);
            }
            Orgs = new RoadFlow.Platform.Organize().GetChilds(parentid.ToGuid());
        }
Exemplo n.º 26
0
        public ActionResult Designate(FormCollection collection)
        {
            Guid guid = default(Guid);

            if (MyExtensions.IsGuid(base.Request.QueryString["taskid"], ref guid))
            {
                string idString = base.Request.Form["user"];
                string text     = base.Request.QueryString["openerid"];
                RoadFlow.Platform.WorkFlowTask   workFlowTask = new RoadFlow.Platform.WorkFlowTask();
                List <RoadFlow.Data.Model.Users> allUsers     = new RoadFlow.Platform.Organize().GetAllUsers(idString);
                StringBuilder stringBuilder = new StringBuilder();
                foreach (RoadFlow.Data.Model.Users item in allUsers)
                {
                    workFlowTask.DesignateTask(guid, item);
                    RoadFlow.Platform.Log.Add("管理员指派了流程任务", "将任务" + guid + "指派给了:" + item.Name + item.ID, RoadFlow.Platform.Log.Types.流程相关);
                    stringBuilder.Append(item.Name);
                    stringBuilder.Append(",");
                }
                string str = stringBuilder.ToString().TrimEnd(',');
                base.ViewBag.Script = "alert('已成功指派给:" + str + "!');new RoadUI.Window().reloadOpener();new RoadUI.Window().close();";
            }
            return(View());
        }
Exemplo n.º 27
0
        public ActionResult SortUsers(FormCollection collection)
        {
            string parentID = Request.QueryString["parentid"];

            if (collection != null)
            {
                string   sort                  = Request.Form["sort"] ?? "";
                string[] sortArray             = sort.Split(',');
                RoadFlow.Platform.Users busers = new RoadFlow.Platform.Users();
                for (int i = 0; i < sortArray.Length; i++)
                {
                    Guid gid;
                    if (!sortArray[i].IsGuid(out gid))
                    {
                        continue;
                    }
                    busers.UpdateSort(gid, i + 1);
                }
                ViewBag.Script = "parent.frames[0].reLoad('" + parentID + "');";
            }
            var users = new RoadFlow.Platform.Organize().GetAllUsers(parentID.ToGuid());

            return(View(users));
        }
Exemplo n.º 28
0
        protected void Page_Load(object sender, EventArgs e)
        {
            RoadFlow.Platform.WorkFlowComment bworkFlowComment = new RoadFlow.Platform.WorkFlowComment();
            RoadFlow.Platform.Organize        borganize        = new RoadFlow.Platform.Organize();
            query1 = string.Format("&appid={0}&tabid={1}&isoneself={2}", Request.QueryString["appid"], Request.QueryString["tabid"], Request.QueryString["isoneself"]);
            if (IsPostBack)
            {
                if (!Request.Form["DeleteBut"].IsNullOrEmpty())
                {
                    string ids = Request.Form["checkbox_app"];
                    foreach (string id in ids.Split(','))
                    {
                        Guid bid;
                        if (!id.IsGuid(out bid))
                        {
                            continue;
                        }
                        var comment = bworkFlowComment.Get(bid);
                        if (comment != null)
                        {
                            bworkFlowComment.Delete(bid);
                            RoadFlow.Platform.Log.Add("删除了流程意见", comment.Serialize(), RoadFlow.Platform.Log.Types.流程相关);
                        }
                    }
                    bworkFlowComment.RefreshCache();
                }
            }

            workFlowCommentList = bworkFlowComment.GetAll();

            isOneSelf = "1" == Request.QueryString["isoneself"];
            if (isOneSelf)
            {
                workFlowCommentList = workFlowCommentList.Where(p => p.MemberID == RoadFlow.Platform.Users.PREFIX + RoadFlow.Platform.Users.CurrentUserID.ToString());
            }
        }
Exemplo n.º 29
0
        public ActionResult Sort(FormCollection collection)
        {
            string parentid = Request.QueryString["parentid"];

            if (collection != null)
            {
                string   sort      = Request.Form["sort"] ?? "";
                string[] sortArray = sort.Split(',');
                RoadFlow.Platform.Organize borganize = new RoadFlow.Platform.Organize();
                for (int i = 0; i < sortArray.Length; i++)
                {
                    Guid gid;
                    if (!sortArray[i].IsGuid(out gid))
                    {
                        continue;
                    }
                    borganize.UpdateSort(gid, i + 1);
                }
                ViewBag.Script = "parent.frames[0].reLoad('" + parentid + "');";
            }
            var orgs = new RoadFlow.Platform.Organize().GetChilds(parentid.Convert <Guid>());

            return(View(orgs));
        }
Exemplo n.º 30
0
        public ActionResult EditRole(FormCollection collection)
        {
            RoadFlow.Platform.Role   brole = new RoadFlow.Platform.Role();
            RoadFlow.Data.Model.Role role  = null;
            string roleID = Request.QueryString["roleid"];
            Guid   roleGID;
            string name      = string.Empty;
            string useMember = string.Empty;
            string note      = string.Empty;

            if (roleID.IsGuid(out roleGID))
            {
                role = brole.Get(roleGID);
            }

            if (!Request.Form["Copy"].IsNullOrEmpty())
            {
                string tpl = Request.Form["ToTpl"];
                if (tpl.IsGuid())
                {
                    new RoadFlow.Platform.RoleApp().CopyRoleApp(roleGID, tpl.Convert <Guid>());
                    RoadFlow.Platform.Log.Add("复制了模板应用", "源:" + roleID + "复制给:" + tpl, RoadFlow.Platform.Log.Types.角色应用);
                    ViewBag.Script = "alert('复制成功!');";
                }
            }

            if (!Request.Form["Save"].IsNullOrEmpty() && role != null)
            {
                RoadFlow.Platform.UsersRole busersRole = new RoadFlow.Platform.UsersRole();
                using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                {
                    name      = Request.Form["Name"];
                    useMember = Request.Form["UseMember"];
                    note      = Request.Form["Note"];

                    role.Name      = name.Trim();
                    role.Note      = note.IsNullOrEmpty() ? null : note.Trim();
                    role.UseMember = useMember.IsNullOrEmpty() ? null : useMember;
                    brole.Update(role);
                    busersRole.DeleteByRoleID(role.ID);
                    if (!useMember.IsNullOrEmpty())
                    {
                        busersRole.DeleteByRoleID(role.ID);
                        var users = new RoadFlow.Platform.Organize().GetAllUsers(useMember);
                        foreach (var user in users)
                        {
                            RoadFlow.Data.Model.UsersRole ur = new RoadFlow.Data.Model.UsersRole();
                            ur.IsDefault = true;
                            ur.MemberID  = user.ID;
                            ur.RoleID    = role.ID;
                            busersRole.Add(ur);
                        }
                    }
                    scope.Complete();
                }
                ViewBag.Script = "alert('保存成功!');new RoadUI.Window().reloadOpener();new RoadUI.Window().close();";
            }

            if (!Request.Form["Delete"].IsNullOrEmpty())
            {
                using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                {
                    brole.Delete(roleGID);
                    new RoadFlow.Platform.RoleApp().DeleteByRoleID(roleGID);
                    new RoadFlow.Platform.UsersRole().DeleteByRoleID(roleGID);
                    scope.Complete();
                }
                RoadFlow.Platform.Log.Add("删除的角色其及相关数据", roleID, RoadFlow.Platform.Log.Types.角色应用);
                ViewBag.Script = "new RoadUI.Window().reloadOpener();new RoadUI.Window().close();";
            }
            ViewBag.RoleOptions = brole.GetRoleOptions("", roleID);
            return(View(role));
        }