Ejemplo n.º 1
0
        public ActionResult DocRead()
        {
            RoadFlow.Data.Model.Documents        documents          = null;
            RoadFlow.Platform.Documents          documents2         = new RoadFlow.Platform.Documents();
            RoadFlow.Platform.DocumentsReadUsers documentsReadUsers = new RoadFlow.Platform.DocumentsReadUsers();
            bool   flag          = false;
            string str           = base.Request.QueryString["docid"];
            Guid   currentUserID = RoadFlow.Platform.Users.CurrentUserID;

            if (str.IsGuid())
            {
                documents = documents2.Get(str.ToGuid());
                if (documents != null)
                {
                    if (documentsReadUsers.Get(documents.ID, currentUserID) == null)
                    {
                        base.Response.Write("您无权查看该文档!");
                        base.Response.End();
                        return(null);
                    }
                    flag = (new RoadFlow.Platform.DocumentDirectory().HasPublish(documents.DirectoryID, currentUserID) || new RoadFlow.Platform.DocumentDirectory().HasManage(documents.DirectoryID, currentUserID));
                    documents2.UpdateReadCount(documents.ID);
                    documentsReadUsers.UpdateRead(documents.ID, currentUserID);
                }
            }
            base.ViewBag.IsEdit = flag;
            if (documents == null)
            {
                documents = new RoadFlow.Data.Model.Documents();
            }
            return(View(documents));
        }
Ejemplo n.º 2
0
        public ActionResult DocAdd(FormCollection collection)
        {
            string str = base.Request.QueryString["docid"];

            RoadFlow.Platform.Documents          documents          = new RoadFlow.Platform.Documents();
            RoadFlow.Platform.DocumentDirectory  documentDirectory  = new RoadFlow.Platform.DocumentDirectory();
            RoadFlow.Platform.DocumentsReadUsers documentsReadUsers = new RoadFlow.Platform.DocumentsReadUsers();
            RoadFlow.Data.Model.Documents        documents2         = null;
            if (str.IsGuid())
            {
                documents2 = documents.Get(str.ToGuid());
            }
            if (collection != null)
            {
                string str2      = base.Request.Form["DirectoryID"];
                string str3      = base.Request.Form["Title1"];
                string readUsers = base.Request.Form["ReadUsers"];
                string text      = base.Request.Form["Source"];
                string contents  = base.Request.Form["Contents"];
                string files     = base.Request.Form["Files"];
                string oldXML    = string.Empty;
                bool   flag      = false;
                if (documents2 == null)
                {
                    flag                     = true;
                    documents2               = new RoadFlow.Data.Model.Documents();
                    documents2.ID            = Guid.NewGuid();
                    documents2.ReadCount     = 0;
                    documents2.WriteTime     = DateTimeNew.Now;
                    documents2.WriteUserID   = RoadFlow.Platform.Users.CurrentUserID;
                    documents2.WriteUserName = RoadFlow.Platform.Users.CurrentUserName;
                }
                else
                {
                    oldXML = documents2.Serialize();
                }
                documents2.Contents      = contents;
                documents2.DirectoryID   = str2.ToGuid();
                documents2.DirectoryName = documentDirectory.GetName(documents2.DirectoryID);
                documents2.EditTime      = DateTimeNew.Now;
                documents2.EditUserID    = RoadFlow.Platform.Users.CurrentUserID;
                documents2.EditUserName  = RoadFlow.Platform.Users.CurrentUserName;
                documents2.Files         = files;
                documents2.ReadUsers     = readUsers;
                documents2.Source        = (text.IsNullOrEmpty() ? " " : text);
                documents2.Title         = str3.Trim1();
                if (flag)
                {
                    documents.Add(documents2);
                    RoadFlow.Platform.Log.Add("添加了文档", documents2.Serialize(), RoadFlow.Platform.Log.Types.文档中心);
                }
                else
                {
                    documents.Update(documents2);
                    RoadFlow.Platform.Log.Add("修改了文档", documents2.Serialize(), RoadFlow.Platform.Log.Types.文档中心, oldXML, documents2.Serialize());
                }
                List <RoadFlow.Data.Model.Users> obj = documents2.ReadUsers.IsNullOrEmpty() ? documentDirectory.GetReadUsers(documents2.DirectoryID) : new RoadFlow.Platform.Organize().GetAllUsers(documents2.ReadUsers);
                documentsReadUsers.Delete(documents2.ID);
                bool          isUse         = RoadFlow.Platform.WeiXin.Config.IsUse;
                Message       message       = new Message();
                StringBuilder stringBuilder = new StringBuilder();
                foreach (RoadFlow.Data.Model.Users item in obj)
                {
                    RoadFlow.Data.Model.DocumentsReadUsers documentsReadUsers2 = new RoadFlow.Data.Model.DocumentsReadUsers();
                    documentsReadUsers2.DocumentID = documents2.ID;
                    documentsReadUsers2.IsRead     = 0;
                    documentsReadUsers2.UserID     = item.ID;
                    documentsReadUsers.Add(documentsReadUsers2);
                    if (isUse)
                    {
                        stringBuilder.Append(item.Account);
                        stringBuilder.Append('|');
                    }
                }
                string empty = string.Empty;
                empty = ((!flag) ? ("'DocRead" + base.Request.Url.Query + "'") : ("'List" + base.Request.Url.Query + "'"));
                if (isUse)
                {
                    message.SendText(documents2.Title, stringBuilder.ToString().TrimEnd('|'), "", "", 0, new Agents().GetAgentIDByCode("weixinagents_documents"), true);
                }
                base.ViewBag.script = "alert('保存成功!');window.location=" + empty + ";";
            }
            if (documents2 == null)
            {
                documents2 = new RoadFlow.Data.Model.Documents();
            }
            return(View(documents2));
        }