예제 #1
0
        /// <summary>
        /// 保存一篇文章(管理)
        /// </summary>
        /// <param name="mo"></param>
        /// <returns></returns>
        public ActionResultVM WriteAdminSave(UserWriting mo)
        {
            var vm = new ActionResultVM();

            var uinfo = new UserAuthAid(HttpContext).Get();

            using (var db = new ContextBase())
            {
                var oldmo = db.UserWriting.FirstOrDefault(x => x.UwId == mo.UwId);

                if (oldmo != null)
                {
                    oldmo.UwStatus   = mo.UwStatus;
                    oldmo.UwReplyNum = mo.UwReplyNum;
                    oldmo.UwReadNum  = mo.UwReadNum;
                    oldmo.UwLaud     = mo.UwLaud;
                    oldmo.UwMark     = mo.UwMark;
                    oldmo.UwOpen     = mo.UwOpen;

                    db.UserWriting.Update(oldmo);

                    int num = db.SaveChanges();

                    vm.Set(num > 0);
                }
            }

            return(vm);
        }
예제 #2
0
        /// <summary>
        /// 保存一条回复(管理)
        /// </summary>
        /// <param name="mo"></param>
        /// <returns></returns>
        public ActionResultVM ReplyAdminSave(UserReply mo)
        {
            var vm = new ActionResultVM();

            var uinfo = new UserAuthAid(HttpContext).Get();

            using (var db = new ContextBase())
            {
                var oldmo = db.UserReply.FirstOrDefault(x => x.UrId == mo.UrId);

                if (oldmo != null)
                {
                    oldmo.UrAnonymousName = mo.UrAnonymousName;
                    oldmo.UrAnonymousMail = mo.UrAnonymousMail;
                    oldmo.UrAnonymousLink = mo.UrAnonymousLink;

                    oldmo.UrStatus = mo.UrStatus;

                    db.UserReply.Update(oldmo);

                    int num = db.SaveChanges();

                    vm.Set(num > 0);
                }
            }

            return(vm);
        }
예제 #3
0
        /// <summary>
        /// 用户
        /// </summary>
        /// <param name="q"></param>
        /// <param name="page"></param>
        /// <returns></returns>
        public IActionResult Index(string q, int page = 1)
        {
            string id = RouteData.Values["id"]?.ToString();

            if (string.IsNullOrWhiteSpace(id))
            {
                return(Redirect("/doc"));
            }

            int uid = Convert.ToInt32(id);

            using (var db = new ContextBase())
            {
                var mu = db.UserInfo.Find(uid);
                if (mu == null)
                {
                    return(Content("Account is empty"));
                }
                ViewData["Nickname"] = mu.Nickname;
            }

            var uinfo = new UserAuthAid(HttpContext).Get();

            var ps = Func.Common.DocQuery(q, uid, uinfo.UserId, page);

            ps.Route      = Request.Path;
            ViewData["q"] = q;
            return(View("_PartialDocList", ps));
        }
예제 #4
0
        public ActionResultVM WriteDel(int id)
        {
            var vm = new ActionResultVM();

            int uid = new UserAuthAid(HttpContext).Get().UserId;

            using (var db = new ContextBase())
            {
                var mo1 = db.UserWriting.Where(x => x.Uid == uid && x.UwId == id).FirstOrDefault();
                if (mo1.UwStatus == -1)
                {
                    vm.Set(ARTag.unauthorized);
                }
                else
                {
                    db.UserWriting.Remove(mo1);
                    var mo2 = db.UserWritingTags.Where(x => x.UwId == id).ToList();
                    db.UserWritingTags.RemoveRange(mo2);
                    var mo3 = db.UserReply.Where(x => x.UrTargetId == id.ToString()).ToList();
                    db.UserReply.RemoveRange(mo3);

                    vm.Set(db.SaveChanges() > 0);
                }
            }

            return(vm);
        }
예제 #5
0
        public ActionResultVM UserInfo()
        {
            var vm = new ActionResultVM();

            try
            {
                var uinfo = new UserAuthAid(HttpContext).Get();
                if (uinfo.UserId != 0)
                {
                    vm.data = uinfo;

                    vm.Set(ARTag.success);
                }
                else
                {
                    vm.Set(ARTag.unauthorized);
                }
            }
            catch (Exception ex)
            {
                vm.Set(ex);
                ConsoleTo.Log(ex);
            }

            return(vm);
        }
예제 #6
0
        public ActionResultVM UpdatePassword(string oldpwd, string newpwd)
        {
            var vm = new ActionResultVM();

            int uid = new UserAuthAid(HttpContext).Get().UserId;

            using (var db = new ContextBase())
            {
                var userinfo = db.UserInfo.Find(uid);
                if (userinfo.UserPwd == CalcTo.MD5(oldpwd))
                {
                    userinfo.UserPwd = CalcTo.MD5(newpwd);
                    db.UserInfo.Update(userinfo);
                    var num = db.SaveChanges();

                    vm.Set(num > 0);
                }
                else
                {
                    vm.Set(ARTag.unauthorized);
                }
            };

            return(vm);
        }
예제 #7
0
        public ActionResultVM ListUserConn(int a)
        {
            var vm = new ActionResultVM();

            int wid = Convert.ToInt32(RouteData.Values["id"]?.ToString());

            var uinfo = new UserAuthAid(HttpContext).Get();

            using (var db = new ContextBase())
            {
                var uw = db.UserWriting.Find(wid);

                var uc = db.UserConnection.Where(x => x.Uid == uinfo.UserId && x.UconnTargetId == wid.ToString() && x.UconnAction == a).FirstOrDefault();
                if (uc == null)
                {
                    uc = new UserConnection()
                    {
                        UconnId         = UniqueTo.LongId().ToString(),
                        UconnAction     = a,
                        UconnCreateTime = DateTime.Now,
                        UconnTargetId   = wid.ToString(),
                        UconnTargetType = EnumAid.ConnectionType.UserWriting.ToString(),
                        Uid             = uinfo.UserId
                    };
                    db.UserConnection.Add(uc);
                    if (a == 1)
                    {
                        uw.UwLaud += 1;
                    }
                    if (a == 2)
                    {
                        uw.UwMark += 1;
                    }
                    db.UserWriting.Update(uw);

                    vm.data = "1";
                }
                else
                {
                    db.UserConnection.Remove(uc);
                    if (a == 1)
                    {
                        uw.UwLaud -= 1;
                    }
                    if (a == 2)
                    {
                        uw.UwMark -= 1;
                    }
                    db.UserWriting.Update(uw);

                    vm.data = "0";
                }

                int num = db.SaveChanges();

                vm.Set(num > 0);
            }

            return(vm);
        }
예제 #8
0
        public ActionResultVM DelCatalog(string code, string id)
        {
            var vm = new ActionResultVM();

            var uinfo = new UserAuthAid(HttpContext).Get();

            using var db = new ContextBase();
            var ds = db.DocSet.Find(code);

            if (ds?.Uid != uinfo.UserId)
            {
                vm.Set(ARTag.unauthorized);
                return(vm);
            }

            var listdsd    = db.DocSetDetail.Where(x => x.DsCode == code && string.IsNullOrEmpty(x.DsdContentMd)).ToList();
            var removelist = TreeTo.FindToTree(listdsd, "DsdPid", "DsdId", new List <string> {
                id
            });

            removelist.Add(listdsd.Where(x => x.DsdId == id).FirstOrDefault());
            db.DocSetDetail.RemoveRange(removelist);

            int num = db.SaveChanges();

            vm.Set(num > 0);

            return(vm);
        }
예제 #9
0
        public IActionResult Edit(string dsdid)
        {
            var code = RouteData.Values["id"]?.ToString();

            var uinfo = new UserAuthAid(HttpContext).Get();

            using (var db = new ContextBase())
            {
                var ds = db.DocSet.Find(code);
                if (ds?.Uid != uinfo.UserId)
                {
                    return(Content("unauthorized"));
                }
            }

            var mo = new DocSetDetail
            {
                DsCode = code
            };

            if (!string.IsNullOrWhiteSpace(dsdid))
            {
                using var db = new ContextBase();
                mo           = db.DocSetDetail.Where(x => x.DsdId == dsdid).FirstOrDefault();
            }

            return(View(mo));
        }
예제 #10
0
        public IActionResult Setting()
        {
            var uinfo = new UserAuthAid(HttpContext).Get();

            using (var db = new ContextBase())
            {
                var mo = db.UserInfo.Find(uinfo.UserId);
                return(View(mo));
            };
        }
예제 #11
0
        /// <summary>
        /// Run列表
        /// </summary>
        /// <param name="q"></param>
        /// <param name="page"></param>
        /// <returns></returns>
        public IActionResult Index(string q, int page = 1)
        {
            var uinfo = new UserAuthAid(HttpContext).Get();

            var ps = Func.Common.RunQuery(q, 0, uinfo.UserId, page);

            ps.Route      = Request.Path;
            ViewData["q"] = q;
            return(View("_PartialRunList", ps));
        }
예제 #12
0
        public ActionResultVM Delete(string id)
        {
            var vm = new ActionResultVM();

            try
            {
                if (string.IsNullOrWhiteSpace(id))
                {
                    vm.Set(ARTag.invalid);
                }
                else
                {
                    var uinfo = new UserAuthAid(HttpContext).Get();
                    if (uinfo.UserId != 0)
                    {
                        using var db = new ContextBase();
                        var mo = db.GuffRecord.Find(id);

                        if (mo == null)
                        {
                            vm.Set(ARTag.invalid);
                        }
                        else
                        {
                            if (mo.Uid != uinfo.UserId)
                            {
                                vm.Set(ARTag.unauthorized);
                            }
                            else if (mo.GrStatus == -1)
                            {
                                vm.Set(ARTag.refuse);
                            }
                            else
                            {
                                db.Remove(mo);
                                int num = db.SaveChanges();

                                vm.Set(num > 0);
                            }
                        }
                    }
                    else
                    {
                        vm.Set(ARTag.unauthorized);
                    }
                }
            }
            catch (Exception ex)
            {
                vm.Set(ex);
                ConsoleTo.Log(ex);
            }

            return(vm);
        }
예제 #13
0
        public ActionResultVM WriteEditSave(UserWriting mo, int UwId, string TagIds)
        {
            var vm = new ActionResultVM();

            var lisTagId = new List <int>();

            TagIds.Split(',').ToList().ForEach(x => lisTagId.Add(Convert.ToInt32(x)));

            var lisTagName = Func.Common.TagsQuery().Where(x => lisTagId.Contains(x.TagId)).ToList();

            int uid = new UserAuthAid(HttpContext).Get().UserId;

            using (var db = new ContextBase())
            {
                var oldmo = db.UserWriting.Where(x => x.Uid == uid && x.UwId == UwId).FirstOrDefault();

                if (oldmo.UwStatus == -1)
                {
                    vm.Set(ARTag.unauthorized);
                }
                else if (oldmo != null)
                {
                    oldmo.UwTitle      = mo.UwTitle;
                    oldmo.UwCategory   = mo.UwCategory;
                    oldmo.UwContentMd  = mo.UwContentMd;
                    oldmo.UwContent    = mo.UwContent;
                    oldmo.UwUpdateTime = DateTime.Now;

                    db.UserWriting.Update(oldmo);

                    var wt = db.UserWritingTags.Where(x => x.UwId == UwId).ToList();
                    db.UserWritingTags.RemoveRange(wt);

                    var listwt = new List <UserWritingTags>();
                    foreach (var tag in lisTagId)
                    {
                        var wtmo = new UserWritingTags
                        {
                            UwId    = mo.UwId,
                            TagId   = tag,
                            TagName = lisTagName.Where(x => x.TagId == tag).FirstOrDefault().TagName
                        };

                        listwt.Add(wtmo);
                    }
                    db.UserWritingTags.AddRange(listwt);

                    int num = db.SaveChanges();

                    vm.Set(num > 0);
                }
            }

            return(vm);
        }
예제 #14
0
        public ActionResultVM List(string category, string q, int uid, string nv, string tag, string obj, int page = 1)
        {
            var vm = new ActionResultVM();

            try
            {
                //所属用户
                var OwnerId = 0;

                if (uid != 0)
                {
                    OwnerId = uid;
                }

                var uinfo = new UserAuthAid(HttpContext).Get();

                if (new List <string> {
                    "me", "melaud", "mereply"
                }.Contains(category))
                {
                    if (uinfo.UserId == 0)
                    {
                        vm.Set(ARTag.unauthorized);
                    }
                    else
                    {
                        if (category == "me")
                        {
                            OwnerId = uinfo.UserId;
                        }

                        var pvm = Func.Common.GuffQuery(category, q, nv, tag, obj, OwnerId, uinfo.UserId, page);
                        vm.data = pvm;

                        vm.Set(ARTag.success);
                    }
                }
                else
                {
                    var pvm = Func.Common.GuffQuery(category, q, nv, tag, obj, OwnerId, uinfo.UserId, page);
                    vm.data = pvm;

                    vm.Set(ARTag.success);
                }
            }
            catch (Exception ex)
            {
                vm.Set(ex);
                ConsoleTo.Log(ex);
            }

            return(vm);
        }
예제 #15
0
        public ActionResultVM Save(DocSetDetail mo)
        {
            var vm = new ActionResultVM();

            var uinfo = new UserAuthAid(HttpContext).Get();

            using (var db = new ContextBase())
            {
                var ds = db.DocSet.Find(mo.DsCode);
                if (ds?.Uid != uinfo.UserId)
                {
                    vm.Set(ARTag.unauthorized);
                }
                else
                {
                    mo.DsdUpdateTime = DateTime.Now;
                    mo.Uid           = uinfo.UserId;

                    if (string.IsNullOrWhiteSpace(mo.DsdPid))
                    {
                        mo.DsdPid = Guid.Empty.ToString();
                    }

                    if (!mo.DsdOrder.HasValue)
                    {
                        mo.DsdOrder = 99;
                    }

                    if (string.IsNullOrWhiteSpace(mo.DsdId))
                    {
                        mo.DsdId         = UniqueTo.LongId().ToString();
                        mo.DsdCreateTime = mo.DsdUpdateTime;

                        db.DocSetDetail.Add(mo);
                    }
                    else
                    {
                        //查询原创建时间
                        var currmo = db.DocSetDetail.AsNoTracking().FirstOrDefault(x => x.DsdId == mo.DsdId);
                        mo.DsdCreateTime = currmo.DsdCreateTime;

                        db.DocSetDetail.Update(mo);
                    }

                    int num = db.SaveChanges();
                    vm.Set(num > 0);
                    vm.data = mo.DsdId;
                }
            }

            return(vm);
        }
예제 #16
0
        public string WriteList(string sort, string order, int page = 1, int rows = 30, string pe1 = null)
        {
            string result = string.Empty;

            var pag = new PaginationVM
            {
                PageNumber = page,
                PageSize   = rows
            };

            int uid = new UserAuthAid(HttpContext).Get().UserId;

            using var db = new ContextBase();
            var query = from a in db.UserWriting
                        where a.Uid == uid
                        select new
            {
                a.UwId,
                a.UwTitle,
                a.UwCreateTime,
                a.UwUpdateTime,
                a.UwReadNum,
                a.UwReplyNum,
                a.UwOpen,
                a.UwStatus,
                a.UwLaud,
                a.UwMark,
                a.UwCategory
            };

            if (!string.IsNullOrWhiteSpace(pe1))
            {
                query = query.Where(x => x.UwTitle.Contains(pe1));
            }

            query = QueryableTo.OrderBy(query, sort, order);

            pag.Total = query.Count();
            var list = query.Skip((pag.PageNumber - 1) * pag.PageSize).Take(pag.PageSize).ToList();

            result = new
            {
                data  = list,
                total = pag.Total
            }.ToJson();

            return(result);
        }
예제 #17
0
        public ActionResultVM SaveCatalog(DocSetDetail mo)
        {
            var vm = new ActionResultVM();

            var uinfo = new UserAuthAid(HttpContext).Get();

            using var db = new ContextBase();
            var ds = db.DocSet.Find(mo.DsCode);

            if (ds?.Uid != uinfo.UserId)
            {
                vm.Set(ARTag.unauthorized);
                return(vm);
            }

            mo.DsdOrder ??= 99;
            mo.DsdUpdateTime = DateTime.Now;
            if (string.IsNullOrWhiteSpace(mo.DsdPid))
            {
                mo.DsdPid = Guid.Empty.ToString();
            }

            if (string.IsNullOrWhiteSpace(mo.DsdId))
            {
                mo.DsdId         = Guid.NewGuid().ToString();
                mo.DsdCreateTime = mo.DsdUpdateTime;
                mo.Uid           = uinfo.UserId;


                db.DocSetDetail.Add(mo);
            }
            else
            {
                var currmo = db.DocSetDetail.Where(x => x.DsdId == mo.DsdId).FirstOrDefault();
                currmo.DsdTitle = mo.DsdTitle;
                currmo.DsdOrder = mo.DsdOrder;
                currmo.DsdPid   = mo.DsdPid;

                db.DocSetDetail.Update(currmo);
            }
            int num = db.SaveChanges();

            vm.Set(num > 0);

            return(vm);
        }
예제 #18
0
        public IActionResult Catalog()
        {
            var code = RouteData.Values["id"]?.ToString();

            var uinfo = new UserAuthAid(HttpContext).Get();

            using (var db = new ContextBase())
            {
                var ds = db.DocSet.Find(code);
                if (ds?.Uid != uinfo.UserId)
                {
                    return(Content("unauthorized"));
                }
            }

            return(View());
        }
예제 #19
0
            public override void OnActionExecuting(ActionExecutingContext context)
            {
                //日志
                try
                {
                    var hc = context.HttpContext;

                    string controller = context.RouteData.Values["controller"].ToString().ToLower();
                    string action     = context.RouteData.Values["action"].ToString().ToLower();
                    string url        = hc.Request.Path.ToString() + hc.Request.QueryString.Value;
                    var    referer    = hc.Request.Headers["referer"].ToString();
                    var    requestid  = UniqueTo.LongId().ToString();
                    hc.Response.Headers.Add("X-Request-Id", requestid);

                    //客户端信息
                    var ct = new ClientTo(hc);

                    //用户信息
                    var userinfo = new UserAuthAid(hc).Get();

                    //日志保存
                    var mo = new LogsAid.LogsVM()
                    {
                        LogName        = userinfo?.UserName,
                        LogNickname    = userinfo?.Nickname,
                        LogRequestId   = requestid,
                        LogAction      = controller + "/" + action,
                        LogUrl         = url,
                        LogIp          = ct.IPv4.Split(',')[0].Trim(),
                        LogReferer     = referer,
                        LogCreateTime  = DateTime.Now,
                        LogBrowserName = ct.BrowserName,
                        LogSystemName  = ct.SystemName,
                        LogGroup       = 1,
                        LogLevel       = "info"
                    };
                    mo.LogContent = DicDescription[mo.LogAction.ToLower()];

                    LogsAid.Insert(mo);
                }
                catch (Exception)
                {
                }

                base.OnActionExecuting(context);
            }
예제 #20
0
        public IActionResult Setting()
        {
            string code = RouteData.Values["id"]?.ToString();

            var uinfo = new UserAuthAid(HttpContext).Get();

            using var db = new ContextBase();
            var mo = db.DocSet.Find(code);

            if (mo.Uid == uinfo.UserId)
            {
                return(View("_PartialItemForm", mo));
            }
            else
            {
                return(Content("unauthorized"));
            }
        }
예제 #21
0
        public ActionResultVM UpdateUserSay(UserInfo mo)
        {
            var vm = new ActionResultVM();

            var uinfo = new UserAuthAid(HttpContext).Get();

            using (var db = new ContextBase())
            {
                var currmo = db.UserInfo.Find(uinfo.UserId);
                currmo.UserSay = mo.UserSay;
                db.UserInfo.Update(currmo);

                int num = db.SaveChanges();

                vm.Set(num > 0);
            }

            return(vm);
        }
예제 #22
0
        public IActionResult List(int page = 1)
        {
            if (int.TryParse(RouteData.Values["Id"]?.ToString(), out int wid))
            {
                var uwo = Func.Common.UserWritingOneQuery(wid);
                if (uwo == null)
                {
                    return(Redirect("/"));
                }

                var pag = new PaginationVM
                {
                    PageNumber = Math.Max(page, 1),
                    PageSize   = 10
                };

                var vm = new PageVM()
                {
                    Rows  = Func.Common.ReplyOneQuery(EnumAid.ReplyType.UserWriting, wid.ToString(), pag),
                    Pag   = pag,
                    Temp  = uwo,
                    Route = "/home/list/" + wid.ToString()
                };


                if (User.Identity.IsAuthenticated)
                {
                    var uinfo = new UserAuthAid(HttpContext).Get();
                    using var db = new ContextBase();
                    var listuc = db.UserConnection.Where(x => x.Uid == uinfo.UserId && x.UconnTargetType == EnumAid.ConnectionType.UserWriting.ToString() && x.UconnTargetId == wid.ToString()).ToList();

                    ViewData["uca1"] = listuc.Any(x => x.UconnAction == 1) ? "yes" : "";
                    ViewData["uca2"] = listuc.Any(x => x.UconnAction == 2) ? "yes" : "";
                }

                return(View(vm));
            }
            else
            {
                return(Redirect("/"));
            }
        }
예제 #23
0
        public ActionResultVM ReplyList(string id, int page = 1)
        {
            var vm = new ActionResultVM();

            try
            {
                var uinfo = new UserAuthAid(HttpContext).Get();

                var pag = new PaginationVM
                {
                    PageNumber = Math.Max(page, 1),
                    PageSize   = 10
                };

                var list = Func.Common.ReplyOneQuery(EnumAid.ReplyType.GuffRecord, id, pag);
                //匿名用户,生成邮箱MD5加密用于请求头像
                foreach (var item in list)
                {
                    if (item.Uid == 0 && !string.IsNullOrWhiteSpace(item.UrAnonymousMail))
                    {
                        item.Spare3 = CalcTo.MD5(item.UrAnonymousMail);
                    }
                }

                var pvm = new PageVM()
                {
                    Rows = list,
                    Pag  = pag
                };
                vm.data = pvm;

                vm.Set(ARTag.success);
            }
            catch (Exception ex)
            {
                vm.Set(ex);
                ConsoleTo.Log(ex);
            }

            return(vm);
        }
예제 #24
0
        public IActionResult Del()
        {
            string code = RouteData.Values["id"]?.ToString();

            var uinfo = new UserAuthAid(HttpContext).Get();

            using (var db = new ContextBase())
            {
                var mo = db.DocSet.Find(code);
                if (mo.Uid == uinfo.UserId)
                {
                    db.DocSet.Remove(mo);
                    var moDetail = db.DocSetDetail.Where(x => x.DsCode == code).ToList();
                    db.DocSetDetail.RemoveRange(moDetail);
                    db.SaveChanges();

                    return(Redirect("/doc/user/" + uinfo.UserId));
                }
            }
            return(Content("Bad"));
        }
예제 #25
0
        public ActionResultVM WriteOne(int id)
        {
            var vm = new ActionResultVM();

            int uid = new UserAuthAid(HttpContext).Get().UserId;

            using (var db = new ContextBase())
            {
                var mo       = db.UserWriting.Where(x => x.Uid == uid && x.UwId == id).FirstOrDefault();
                var listTags = db.UserWritingTags.Where(x => x.UwId == id).ToList();

                vm.data = new
                {
                    item = mo,
                    tags = listTags
                };
                vm.Set(ARTag.success);
            }

            return(vm);
        }
예제 #26
0
        public IActionResult RidOAuth()
        {
            if (Enum.TryParse(RouteData.Values["id"]?.ToString().ToLower(), out AccountController.ValidateloginType vtype))
            {
                int uid = new UserAuthAid(HttpContext).Get().UserId;
                using var db = new ContextBase();
                var mo = db.UserInfo.Find(uid);

                switch (vtype)
                {
                case AccountController.ValidateloginType.qq:
                    mo.OpenId1 = "";
                    break;

                case AccountController.ValidateloginType.weibo:
                    mo.OpenId2 = "";
                    break;

                case AccountController.ValidateloginType.github:
                    mo.OpenId3 = "";
                    break;

                case AccountController.ValidateloginType.taobao:
                    mo.OpenId4 = "";
                    break;

                case AccountController.ValidateloginType.microsoft:
                    mo.OpenId5 = "";
                    break;

                case AccountController.ValidateloginType.dingtalk:
                    mo.OpenId6 = "";
                    break;
                }

                db.UserInfo.Update(mo);
                db.SaveChanges();
            }
            return(Redirect("/user/setting"));
        }
예제 #27
0
        public IActionResult Write(int?page)
        {
            var id = RouteData.Values["id"]?.ToString();

            if (!string.IsNullOrWhiteSpace(id))
            {
                int action = 1;
                if (id == "mark")
                {
                    action = 2;
                }

                var uinfo = new UserAuthAid(HttpContext).Get();
                var vm    = Func.Common.UserConnWritingQuery(uinfo.UserId, EnumAid.ConnectionType.UserWriting, action, page ?? 1);
                vm.Route = Request.Path;
                vm.Other = id;

                return(View("_PartialViewWriting", vm));
            }

            return(View());
        }
예제 #28
0
        public IActionResult Message(int page = 1)
        {
            int uid = new UserAuthAid(HttpContext).Get().UserId;

            var vm = Func.Common.MessageQuery(uid, EnumAid.MessageType.UserWriting, null, page);

            vm.Route = Request.Path;

            if (page == 1)
            {
                using var db = new ContextBase();
                var listum = db.UserMessage.Where(x => x.UmType == EnumAid.MessageType.UserWriting.ToString() && x.UmAction == 2 && x.UmStatus == 1).ToList();
                if (listum.Count > 0)
                {
                    listum.ForEach(x => x.UmStatus = 2);
                    db.UserMessage.UpdateRange(listum);
                    db.SaveChanges();
                }
            }

            return(View(vm));
        }
예제 #29
0
        public ActionResultVM SaveDocSet(DocSet mo)
        {
            var vm = new ActionResultVM();

            var uinfo = new UserAuthAid(HttpContext).Get();

            using (var db = new ContextBase())
            {
                if (string.IsNullOrWhiteSpace(mo.DsCode))
                {
                    mo.DsCode       = UniqueTo.LongId().ToString();
                    mo.Uid          = uinfo.UserId;
                    mo.DsStatus     = 1;
                    mo.DsCreateTime = DateTime.Now;

                    db.DocSet.Add(mo);
                }
                else
                {
                    var currmo = db.DocSet.Find(mo.DsCode);
                    if (currmo.Uid != uinfo.UserId)
                    {
                        vm.Set(ARTag.unauthorized);
                    }

                    currmo.DsName   = mo.DsName;
                    currmo.DsRemark = mo.DsRemark;
                    currmo.DsOpen   = mo.DsOpen;
                    currmo.Spare1   = mo.Spare1;

                    db.DocSet.Update(currmo);
                }
                var num = db.SaveChanges();

                vm.Set(num > 0);
            }

            return(vm);
        }
예제 #30
0
        public IActionResult DelMessage()
        {
            var vm = new ActionResultVM();

            var id = RouteData.Values["id"]?.ToString();

            if (!string.IsNullOrWhiteSpace(id))
            {
                var uinfo = new UserAuthAid(HttpContext).Get();

                using var db = new ContextBase();
                var um = db.UserMessage.Find(id);
                if (um == null)
                {
                    vm.Set(ARTag.lack);
                }
                else if (um?.Uid != uinfo.UserId)
                {
                    vm.Set(ARTag.unauthorized);
                }
                else
                {
                    db.UserMessage.Remove(um);
                    int num = db.SaveChanges();

                    vm.Set(num > 0);
                }
            }

            if (vm.code == 200)
            {
                return(Redirect("/user/message"));
            }
            else
            {
                return(Content(vm.ToJson()));
            }
        }